KR20190047518A - 클라우드 서비스 브로커리지에 기반한 클라우드 서비스 제공 방법 및 장치 및 그 방법 - Google Patents

클라우드 서비스 브로커리지에 기반한 클라우드 서비스 제공 방법 및 장치 및 그 방법 Download PDF

Info

Publication number
KR20190047518A
KR20190047518A KR1020170141487A KR20170141487A KR20190047518A KR 20190047518 A KR20190047518 A KR 20190047518A KR 1020170141487 A KR1020170141487 A KR 1020170141487A KR 20170141487 A KR20170141487 A KR 20170141487A KR 20190047518 A KR20190047518 A KR 20190047518A
Authority
KR
South Korea
Prior art keywords
service
cloud
image
user
cloud service
Prior art date
Application number
KR1020170141487A
Other languages
English (en)
Other versions
KR102297850B1 (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 KR1020170141487A priority Critical patent/KR102297850B1/ko
Priority to US16/168,683 priority patent/US10826799B2/en
Publication of KR20190047518A publication Critical patent/KR20190047518A/ko
Application granted granted Critical
Publication of KR102297850B1 publication Critical patent/KR102297850B1/ko

Links

Images

Classifications

    • 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/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • H04L67/2809
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • 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
    • 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/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • 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/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/74Admission control; Resource allocation measures in reaction to resource unavailability
    • H04L47/746Reaction triggered by a failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/781Centralised allocation of resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

본 발명은 다중 클라우드 기반의 클라우드 브로커리지를 이용한 클라우드 서비스 제공 장치 및 그 방법에 관한 것이다.
본 발명의 실시예에 따르면, 품질 관리 서버가, 사용자 장치 및 스트리밍 서버 중 적어도 하나로부터 서비스 품질 정보를 수신하는 단계; 상기 품질 관리 서버가, 상기 서비스 품질 정보를 이용하여 상기 사용자 장치의 품질 저하 여부를 판단하는 단계; 상기 사용자 장치가 품질 저하로 판단되는 경우, 상기 품질 관리 서버가 상기 사용자 장치 및 상기 스트리밍 서버 중 적어도 하나의 품질 상태를 고려하여 품질 보장 활동을 선택하는 단계; 및 상기 품질 보장 활동으로 스트리밍 서버 입출력 성능 확장 복제가 선택된 경우, 상기 품질 관리 서버가 적어도 두 개의 노드들을 기반으로 상기 스트리밍 서버의 스케일 업(Scale up)을 수행하여 서비스의 중단 없이 스트리밍 서비스의 성능을 확장하는 단계를 포함하는 다중 클라우드 기반의 클라우드 브로커리지를 이용한 클라우드 서비스 제공 방법을 제공한다.

Description

클라우드 서비스 브로커리지에 기반한 클라우드 서비스 제공 방법 및 장치 및 그 방법{METHOD AND APPRATUS FOR PROVIDING A CLOUD SERVICE BASED ON CLOUD SERVICE BROKERAGE}
본 발명은 다중 클라우드 기반의 클라우드 브로커리지 장치 및 이를 이용한 클라우드 서비스 제공 장치 및 그 방법에 관한 것이다.
최근 클라우드 데이터센터의 구축 증가와 다양한 클라우드 기반의 응용 서비스 출현이 가속화됨에 따라 다중 클라우드 대상의 서비스 배치 및 관리의 필요성이 대두되고 있다. 또한, 이러한 요구사항은 클라우드 서비스 중계
플랫폼의 확산을 뒷받침하고 있다.
클라우드 환경에서 응용 서비스에 대한 사용자 요구사항은 점차 다양해지고 있으나, 다양한 응용 서비스를 구비하거나 요구사항에 적합한 최적의 응용 서비스를 찾는 것은 쉽지 않은 일이다. 또한, 응용 서비스에 대한 설정 난해성, 서비스 배치 시간의 증가 및 이종 클라우드 간 사용 환경의 이질성 등은 클라우드 서비스의 사용률을 저하시키는 원인이 되고 있다.
따라서, 클라우드 기반의 다양한 응용 서비스를 보다 쉽게 접근할 수 있고, 지속적으로 응용 서비스가 확대될 수 있는 환경이 필요하며, 서비스의 복잡한 구성 설정 및 서비스 배치 과정이 단순화되어 사용하고자 하는 서비스의 신속한 배치가 가능한 새로운 클라우드 서비스 중개 기술이 절실하게 대두된다.
본 발명의 목적은 지리적으로 분산된 다수의 이종 클라우드 서비스를 중개함으로써 사용자 요구에 만족하는 다양한 클라우드 서비스를 제공하는 것이다.
본 발명이 이루고자 하는 기술적 과제는, 다수의 클라우드 서비스 제공자가 존재하는 이종 클라우드 컴퓨팅 환경에서, 클라우드 서비스 사용자의 요구사항에 부합되는 최적의 클라우드 서비스 제공자를 선정하여 중개할 수 있도록 한 클라우드 서비스 브로커링 방법 및 장치를 제공하는 것이다.
본 발명은 다중 클라우드 기반의 클라우드 브로커리지를 이용한 클라우드 서비스 제공 장치 및 그 방법에 관한 것이다. 본 발명의 실시예에 따르면, 품질 관리 서버가, 사용자 장치 및 스트리밍 서버 중 적어도 하나로부터 서비스 품질 정보를 수신하는 단계; 상기 품질 관리 서버가, 상기 서비스 품질 정보를 이용하여 상기 사용자 장치의 품질 저하 여부를 판단하는 단계; 상기 사용자 장치가 품질 저하로 판단되는 경우, 상기 품질 관리 서버가 상기 사용자 장치 및 상기 스트리밍 서버 중 적어도 하나의 품질 상태를 고려하여 품질 보장 활동을 선택하는 단계; 및 상기 품질 보장 활동으로 스트리밍 서버 입출력 성능 확장 복제가 선택된 경우, 상기 품질 관리 서버가 적어도 두 개의 노드들을 기반으로 상기 스트리밍 서버의 스케일 업(Scale up)을 수행하여 서비스의 중단 없이 스트리밍 서비스의 성능을 확장하는 단계를 포함하는 다중 클라우드 기반의 클라우드 브로커리지를 이용한 클라우드 서비스 방법을 제공한다.
일 실시 예에 따르면, 클라우드 서비스 사용자가 요구한 서비스 품질을 만족시키면서 클라우드 서비스 중개자의 수익을 창출할 수 있다. 사용자 요청 클라우드 서비스를 클라우드에 배치할 때 다중 클라우드 활용을 통해서 비용을 절감할 수 있다. 클라우드 서비스 사용자에게 더 낮은 가격으로 클라우드 서비스를 제공할 수 있으며, 클라우드 서비스 중개자가 수익형 중개자인 경우 중개 수익을 더 향상시킬 수 있다.
나아가, 클라우드 서비스 중개 플랫폼에서 적용 가능할 뿐만 아니라, 클라우드 서비스 중개 플랫폼의 일종인, 클라우드 연합 환경에서 비용 효율적인 서비스 배치 방법, 분산된 데이터센터를 운영하는 대규모 단일 클라우드 환경에서 비용 효율적인 서비스 배치 방법 등에서도 적용 가능하다.
본 발명에 따르면, 지리적으로 분산된 다수의 이종 클라우드 서비스를 중개함으로써 사용자 요구에 만족하는 다양한 클라우드 서비스를 제공할 수 있다.
또한, 본 발명은 서비스 이미지 스토어를 이용하여 신속한 서비스 배치를 지원할 수 있다.
또한, 본 발명은 서비스의 구성, 설정 복잡성을 제거하고 서비스 이미지의 등록, 판매 및 공유, 획득의 선순환 구조를 지원함으로써 개방형 클라우드 서비스 마켓의 활성화를 가능하게 할 수 있다.
본 발명의 실시예에 의한 클라우드 서비스 브로커링 방법 및 장치에 의하면, 다수의 클라우드 서비스 제공자가 존재하는 이종 클라우드 컴퓨팅 환경에서, 클라우드 서비스 제공자는 판매하기 위한 서비스를 등록하고, 클라우드 서비스 사용자는 원하는 서비스에 대한 요구사항을 입력한다. 그러면, 클라우드 서비스 브로커는 클라우드 서비스 사용자의 요구사항을 분석하여 상기 요구사항에 부합되는 최적의 클라우드 서비스 제공자를 선정하여 중개함과 아울러, 클라우드 서비스 사용자가 최적의 서비스를 받을 수 있도록 클라우드 연결을 관리한다.
또한, 클라우드 서비스 브로커는 클라우드 서비스를 세부적으로 분류한 서비스 카탈로그를 구성함으로써, 클라우드 서비스 제공자 측의 서비스 등록사항 및 클라우드 서비스 사용자 측의 서비스 요구사항을 명확하게 파악함과 아울러 서비스 검색이 용이하도록 한다. 이에 의해, 클라우드 서비스 브로커링의 중개 및 관리 효율을 극대화할 수 있다.
본 발명은 본 발명은 클라우드 연동 시스템 및 연동된 다중 클라우드 컴퓨팅 시스템들의 통신 부하를 감소시키고 확인 속도는 향상시킬 수 있다
또한, 본 발명은 클라우드 연동 시스템 및 연동된 다중 클라우드 컴퓨팅 시
스템들의 사용자 응답 속도 및 경험 QoE (Quality of Experience)을 향상시킬 수 있다.
또한, 본 발명은 통계적 예측 기법을 이용하여 정확한 서비스 제어 완료 시간 및 확인 주기를 예측할 수 있다
본 발명에 따르면, 안정적인 클라우드 스트리밍 서비스를 지원하기 위해 스트리밍 서비스를 중단하지 않고도 스케일 업 방식으로 스트리밍 서비스의 성능을 향상시킬 수 있다.
또한, 본 발명은 하드디스크드라이브와 같은 블록 장치를 이용한 데이터 저장 및 관리보다 좋은 성능의 원격 메모리 활용 방법을 제공함으로써 추가적인 하드 웨어의 구매나 장착 없이도 클라우드 스트리밍 서비스의 입출력 성능을 향상시킬 수 있다.
또한, 본 발명은 사용자 장치와 스트리밍 서버로부터 스트리밍 서비스의 품질과 관련된 정보를 주기적으로 취합하여 서비스 상태를 모니터링 할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 클라우드 서비스 중개장치의 클라우드 서비스 분할 및 배치를 설명하기 위한 개념도.
도 2는 본 발명의 일 실시 예에 따른 클라우드 서비스 시스템의 구성도.
도 3은 본 발명의 일 실시 예에 따른 클라우드 서비스 중개장치의 세부 구성도.
도 3은 본 발명의 일 실시 예에 따른 클라우드 서비스 중개장치의 세부 구성도.
도 4는 본 발명의 일 실시 예에 따른 클라우드 서비스 중개장치의 클라우드 서비스 분할 및 분산 배치 프로세스를 설명하기 위한 참조도.
도 5는 본 발명의 일 실시 예에 따른 서비스 분할부의 서비스 분할 프로세스와 클라우드 별 시간(t)에 따른 서비스 가격(P) 그래프를 이용한 서비스 분할 예를 도시한 참조도.
도 6은 본 발명의 일 실시 예에 따른 서비스 배치부의 서비스 배치 프로세스를 설명하기 위한 참조도.
도 7은 본 발명의 일 실시 예에 따른 서비스 접속 관리부의 서비스 접속 관리 프로세스를 설명하기 위한 참조도.
도 8은 본 발명의 일 실시 예에 따른 클라우드 서비스 중개장치의 클라우드 서비스 배치 방식의 효과를 설명하기 위한 시간 당 클라우드 서비스의 가격 그래프.
도 9는 본 발명의 일 실시 예에 따른 클라우드 서비스 분할 및 분산 배치의 효과를 도시한 그래프이다.
도 10은 본 발명의 일실시예에 따른 서비스 이미지 스토어를 이용한 클라우드 서비스 중개 시스템을 나타낸 블록도이다.
도 11은 도 10에 도시된 클라우드 서비스 중개 장치의 일 예를 나타낸 블록도이다.
도 12는 본 발명의 일실시예에 따른 서비스 이미지 스토어를 이용한 클라우드 서비스 중개 시스템을 상세하게 나타낸 블록도이다.
도 13은 본 발명의 일실시예에 따른 서비스 이미지 스토어에 서비스 이미지를 등록하는 주체를 나타낸 도면이다.
도 14는 본 발명의 일실시예에 따른 서비스 이미지 스토어에서 이미지를 관리하는 방법을 나타낸 도면이다.
도 15는 본 발명의 일실시예에 따른 서비스 이미지 스토어를 이용한 클라우드 서비스 중개 방법을 나타낸 동작흐름도이다.
도 16은 본 발명의 일실시예에 따른 서비스 이미지 스토어에서 서비스 이미지를 삭제하는 방법을 나타낸 동작 흐름도이다.
도 17은 본 발명의 일실시예에 따른 서비스 이미지 스토어에서 개인 이미지를 공유하는 방법을 나타낸 동작 흐름도이다.
도 18은 본 발명의 일실시예에 따른 서비스 이미지 스토어에서 공용 이미지를 구매하는 방법을 나타낸 동작 흐름도이다.
도 19는 본 발명의 실시 예에 따른 사용자 클라우드 서비스 제공을 위한 자원 중개 제공장치의 구성도이다.
도 20은 본 발명의 다른 실시 예에 따른 사용자 클라우드 서비스 제공을 위한 자원 중개 제공장치의 구성도이다.
도 21은 본 발명의 다른 실시 예에 따른 사용자 클라우드 서비스 제공을 위한 자원 중개 제공장치의 구성도이다.
도 22는 본 발명의 다른 일 실시 예에 따른 사용자 클라우드 서비스 제공을 위한 자원 중개 제공장치의 데이터 흐름을 나타낸 도면이다.
도 23은 본 발명의 다른실시 예에 따른 사용자 클라우드 서비스 제공을 위한 자원 중개 제공방법을 나타낸 흐름도이다.
도 24는 본 발명의 일 실시 예에 따른 사용자 클라우드 서비스 제공을 위한 자원 중개 제공장치의 구성도이다.
도 25는 본 발명의 일 실시 예에 따른 사용자 클라우드 서비스 제공을 위한 자원 중개 제공장치의 구성도이다.
도 26은 본 발명의 일 실시 예에 따른 사용자 클라우드 서비스 제공을 위한 자원 중개 제공장치의 구성도이다.
도 27은 본 발명의 일 실시 예에 따른 사용자 클라우드 서비스 제공을 위한 자원 중개 제공장치의 데이터 흐름을 나타낸 도면이다.
도 28은 본 발명의 실시 예에 따른 사용자 클라우드 서비스 제공을 위한 자원 중개 제공방법을 나타낸 흐름도이다.
도 29은 본 발명의 일실시예에 따른 클라우드 연동 시스템을 나타낸 블록도이다.
도 30는 본 발명의 일실시예에 따른 서비스 제어 완료 상태 확인 장치를 나타낸 블록도이다.
도 31은 본 발명의 일실시예에 따른 서비스 제어 완료 상태 확인 방법을 나타낸 동작흐름도이다.
도 32는 본 발명의 일실시예에 따른 스트리밍 서비스의 성능 확장 시스템을 나타낸 도면이다.
도 33은 본 발명의 일실시예에 따른 스트리밍 서비스의 성능 확장 방법을 나타낸 동작 흐름도이다.
도 34는 도 32에 도시된 사용자 장치의 일 예를 나타낸 블록도이다.
도 35는 본 발명에 따른 사용자 장치의 품질 정보 산출 방법의 일 예를 나타낸 도면이다.
도 36은 도 32에 도시된 스트리밍 서버의 일 예를 나타낸 블록도이다.
도 37은 도 36에 도시된 스트리밍 데이터 저장 관리 모듈의 일 예를 나타낸 블록도이다.
도 38은 본 발명에 따른 품질 보장 활동을 결정하기 위한 프로세스의 일 예를 나타낸 도면이다.
도 39는 도 32에 도시된 품질 관리 서버의 일 예를 나타낸 블록도이다.
도 40은 본 발명의 일실시예에 따른 스트리밍 서버 입출력 성능 확장 복제 과정을 나타낸 동작 흐름도이다.
도 41은 본 발명에 따른 스트리밍 서버 입출력 성능 확장 복제에 의한 스트리밍 서비스 제공 과정을 나타낸 도면이다.
도 42는 다중 클라우드 기반의 클라우드 서비스 브로커리지를 이용하여 가상 클라우드 서비스를 제공하는 일 실시예를 개시한 도면이다.
도 43는 다중 클라우드 기반의 클라우드 서비스 브로커리지를 이용하여 가상 클라우드 서비스를 제공하는 다른 일 실시예를 개시한 도면이다.
도 44는 다중 클라우드 기반의 클라우드 서비스 브로커리지를 이용하여 가상 클라우드 서비스를 제공하는 또 다른 일 실시예를 개시한 도면이다.
도 45는 다중 클라우드 기반의 클라우드 서비스 브로커리지를 이용하여 가상 클라우드 서비스를 제공하는 또 다른 일 실시예를 개시한 도면이다.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시 예에 따른 클라우드 서비스 중개장치의 클라우드 서비스 분할 및 배치를 설명하기 위한 개념도이다.
일반적으로 클라우드 서비스 제공자(cloud service provider)는 가격을 고정하거나 시간에 따른 유동적인 가격으로 클라우드 서비스를 제공한다. 클라우드 서비스 제공자가 어느 방법을 사용하여 제공하든지, 현존하는 방법으로는 클라우드 서비스 중개장치(Cloud service broker)가 하나의 클라우드 서비스를 하나의 클라우드에만 배치하게 된다.
그러나, 지리적으로 분산된 클라우드들은 상황이나 정책이 모두 상이하기 때문에 서로 상이한 유동 가격 분포를 가진다. 따라서, 일 실시 예에 따른 클라우드 서비스 중개장치(1)는 하나의 클라우드에 하나의 클라우드 서비스만 배치하는 것이 아니라, 하나의 클라우드 서비스를 다수 개의 클라우드 서비스로 분할(segmentation)하고 분할된 다수 개의 클라우드 서비스를 다수 개의 클라우드에 분산(distribution) 배치(placement)함으로써, 분산된 다중 클라우드들을 동시에 활용하고자 한다.
예를 들어, 도 1에 도시된 바와 같이, 클라우드 서비스 중개장치(1)는 분산된 다중 클라우드의 이점을 극대화시 키기 위해서 클라우드 서비스 사용자(cloud service consumer)로부터 요청된 클라우드 서비스(100)를 다중 클라우드(200-1,200-2,200-3)에 동적으로 분산하여 배치한다. 이때 클라우드 서비스 중개장치(1)는 사용자 요청 클라우드 서비스(100)를, 시간(t)에 따른 클라우드 서비스 비용(p)이 최소가 되도록 다수 개의 클라우드 서비스 (100-1,100-2,100-3)로 분할하고 분할된 클라우드 서비스들(100-1,100-2,100-3)을, 매핑되는 각 클라우드(200-1,200-2,200-3)에 분산 배치한다. 이를 통해 클라우드 서비스 중개장치(1)는 클라우드 서비스 사용자에게 더 낮은 가격으로 클라우드 서비스를 제공할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 클라우드 서비스 시스템의 구성도이다.
도 2를 참조하면, 클라우드 서비스 시스템은, 클라우드 서비스 사용자(2)와, 클라우드 서비스 제공자(3-1,3-2,…,3-n)와, 클라우드 서비스 사용자(2) 및 클라우드 서비스 제공자(3-1,3-2,…,3-n)를 중개하는 클라우드 서비스 중개장치(1)를 포함한다.
클라우드 서비스를 제공하는 클라우드 서비스 제공자(3-1,3-2 ,…,3-n)는 지리적으로 분산되어 위치한다. 클라우드 서비스 사용자(2)가 클라우드 서비스 중개장치(1)에 클라우드 서비스를 요청하면, 클라우드 서비스 중개장치 (1)는 사용자 요구사항에 적합한 클라우드를 선택하여, 실제로 클라우드 서비스가 수행될 수 있도록 선택된 클라우드에 요청한다.
클라우드 서비스 중개장치(1)는 클라우드 서비스 사용자(2)가 요청한 클라우드 서비스를 다수 개의 클라우드 서비스로 분할한다. 그리고 분할된 다수 개의 클라우드 서비스를 각 클라우드에 분산 배치한다. 클라우드들은 각각 클라우드 서비스를 제공한다. 이때, 하나의 사용자 요청 클라우드 서비스를 서비스 가격에 기초하여 다중 클라우드 서비스로 분할한 후 다중 클라우드에 분산 배치할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 클라우드 [0034] 서비스 중개장치의 세부 구성도이다.
도 3을 참조하면, 클라우드 서비스 중개장치(1)는 입력부(10), 제어부(12) 및 저장부(14)를 포함한다. 제어부(12)는 분석부(120), 서비스 분할부(122), 서비스 배치부(124) 및 서비스 관리부(126)를 포함할 수 있다.
입력부(10)는 등록된 모든 클라우드 서비스 제공자들의 클라우드 정보를 수집한다. 클라우드 정보는 각 클라우드가 제공하는 클라우드 서비스 종류, 서비스 가격, 서비스 수준 협약(Service Level Agreement, SLA) 등일 수 있다. 또한 입력부(10)는 클라우드 서비스 사용자로부터 클라우드 서비스 요청을 수신한다. 입력부(10)는 사용자로부터 클라우드 서비스를 요청받을 때, 사용자가 요청한 클라우드 서비스의 요청 가격, 서비스의 종류, 성능수준 등의 요구사항을 수신할 수 있다.
분석부(120)는 입력부(10)를 통해 획득한 클라우드 정보와 사용자 요청 클라우드 서비스의 요구사항을 분석한다. 서비스 분할부(122)는 분석부(120)의 분석 결과를 이용하여 사용자 요청 클라우드 서비스를 시간구간에 따라 다수 개의 클라우드 서비스로 분할한다. 일 실시 예에 따른 서비스 분할부(122)는 사용자 요청 클라우드 서비스를 제공하는 가용 클라우드 군을 선정한다. 그리고 가용 클라우드 군을 구성하는 클라우드들의 서비스가격을 비교하여 사용자 요청 클라우드 서비스를, 시간구간 별로 최소 서비스 가격을 가지는 클라우드 서비스로 시분할한다. 그리고 시분할된 클라우드 서비스 별로 매핑되는 클라우드를 지정한다.
서비스 배치부(124)는 서비스 분할부(122)를 통해 분할된 다수 개의 클라우드 서비스를, 클라우드 서비스와 클라우드 간의 매핑 정보를 이용하여 각 클라우드에 분산 배치한다. 서비스 관리부(126)는 서비스 분할부(122)를 통해 분할된 클라우드 서비스들이 하나의 클라우드 서비스로 클라우드 서비스 사용자에게 인식될 수 있도록 클라우드 서비스 사용자에 하나의 접속 주소를 제공한다. 저장부(14)에는 입력부(10)를 통해 입력받은 정보들과, 분석부(120)를 통해 분석된 결과와, 제어부(12)의 동작 수행에 필요한 정보들이 저장된다.
도 4는 본 발명의 일 실시 예에 따른 클라우드 서비스 중개장치의 클라우드 서비스 분할 및 분산 배치 프로세스를 설명하기 위한 참조도이다.
도 4를 참조하면, 우선 입력부(10)가 클라우드 서비스 제공자들로부터 모든 클라우드 정보를 획득하고, 클라우드 서비스 사용자(2-2)로부터 클라우드 서비스 요청을 수신한다(①). 클라우드 정보는 각 클라우드가 제공하는 클라우드 서비스 종류, 서비스 가격, 서비스 수준 협약(Service Level Agreement, SLA) 등일 수 있다. 클라우드 서비스 사용자(2-2)로부터 클라우드 서비스 요청 수신 시에 사용자가 요청한 클라우드 서비스의 요청 가격, 서비스의 종류, 성능 수준 등을 함께 수신할 수 있다.
이어서, 분석부(120)가 입력부(10)를 통해 획득한 클라우드 정보 및 사용자 요청 클라우드 서비스의 요구사항을 분석한다(②). 그리고, 서비스 분할부(122)가 분석부(120)의 분석 결과를 이용하여 사용자 요청 클라우드 서비스를 시간구간에 따라 다수 개의 클라우드 서비스로 분할한다(③). 예를 들어, 도 4에 도시된 바와 같이, 사용자 요청 클라우드 서비스(100)를 3개의 클라우드 서비스(100-1,100-2,100-3)로 분할한다.
이어서, 서비스 배치부(124)가 서비스 분할부(122)를 통해 분할된 다수 개의 클라우드 서비스를, 클라우드 서비스와 클라우드 간의 매핑 정보를 이용하여 각 클라우드(200-1,200-2,…,200-n-1,200-n)에 분산 배치한다(④). 예를 들어, 도 4에 도시된 바와 같이, 클라우드 서비스 1(100-1)을 클라우드-1(200-1)에, 클라우드 서비스2(100-2)를 클라우드-N-1(200-n-1)에, 클라우드 서비스 3(100-3)을 클라우드-2(200-2)에 분산 배치한다.
이어서, 서비스 관리부(126)는 서비스 분할부(122)를 통해 분할된 클라우드 서비스들이 하나의 클라우드 서비스로 클라우드 서비스 사용자에게 인식될 수 있도록 클라우드 서비스 사용자에 하나의 접속 주소를 제공한다(⑤).
도 5는 본 발명의 일 실시 예에 따른 서비스 분할부의 서비스 분할 프로세스와 클라우드 별 시간(t)에 따른 서비스 가격(P) 그래프를 이용한 서비스 분할 예를 도시한 참조도이다.
도 5를 참조하면, 서비스 분할부(122)는 사용자 요청 클라우드 서비스를 제공하는 가용 클라우드 군을 1차 선정한다(1220). 서비스 분할부(122)는 클라우드 정보와 사용자 요구사항을 분석하여 가용 클라우드 군을 선정할 수 있는데, 예를 들어 클라우드 서비스 사용자와의 서비스 수준 협약(SLA)과 클라우드 정보를 통해서 가용 클라우드 군을 선정할 수 있다.
이어서, 서비스 분할부(122)는 가용 클라우드 군을 구성하는 클라우드들의 서비스 가격을 비교하여 사용자 요청 클라우드 서비스를 시간구간 별로 최소 서비스 가격을 가지는 클라우드 서비스로 시분할한다. 이때, 서비스 분할부(122)는 클라우드들의 서비스 가격을 비교하여 소정의 시점(t)에서 최소 서비스 가격을 지원하는 클라우드를 선택하고, 이후 더 낮은 서비스 가격을 지원하는 클라우드가 존재하는 시점까지 선택된 클라우드가 제공하는 클라우드 서비스를 지정한다. 서비스 분할부(122)는 인접한 클라우드들의 서비스 가격선이 교차하는 지점에서 사용자 요청 클라우드 서비스를 분할하여 클라우드 서비스를 교체한다. 전술한 서비스 분할 과정을 사용자 요청 클라우드 서비스의 총 길이만큼 반복 수행한다.
도 5의 클라우드 별 시간(t)에 따른 서비스 가격(P) 그래프를 참조로 하여, 전술한 프로세스를 예를 들어 설명하면, 가용 클라우드 군을 구성하는 클라우드들이 클라우드-1, 클라우드-2 및 클라우드-3이라고 가정하면, 각 시간구간 별로 가용 클라우드 군에서 최소의 클라우드 서비스 가격을 제시하는 클라우드가 제공하는 클라우드 서비스들로 사용자 요청 클라우드 서비스를 분할한다. 예를 들어, 제1 시간구간(500-1)에서는 클라우드-1이 제공하는 클라우드 서비스 1(100-1)로 분할하고, 제2 시간구간(500-2)에서는 클라우드-3이 제공하는 클라우드 서비스 2(100-2)로 분할하고, 제3 시간구간(500-3)에서는 클라우드-2가 제공하는 클라우드 서비스 3(100-3)으로 분할한다. 이에 따라, 사용자 요청 클라우드 서비스는 시간 순서대로 클라우드 서비스 1(100-1), 클라우드 서비스 2(100-2) 및 클라우드 서비스 3(100-3)으로 분할된다. 전술한 분할 과정은 사용자 요청 클라우드 서비스의 길이만큼 반복된다. 각 클라우드 서비스가 분할되는 시점은 인접한 클라우드의 서비스 가격선이 교차하는 지점으로, 제1 시간구간(500-1)과 제2 시간구간(500-2)의 분할시점(510)과, 제2 시간구간(500-2)과 제3 시간구간(500-3)의 분할시점(520)이 이에 해당한다. 이어서, 시분할된 클라우드 서비스 별로 클라우드를 지정한다(1224). 예를 들어, 제1 시간구간(500-1)에서는 클라우드 서비스 1(100-1)에 클라우드-1을 지정하고, 제2 시간 구간(500-2)에서는 클라우드 서비스 2(100-2)에 클라우드-3(을 지정하고, 제3 시간구간(500-3)에서는 클라우드 서비스 3(100-3)에 클라우드-2를 지정한다.
도 6은 본 발명의 일 실시 예에 따른 서비스 배치부의 서비스 배치 프로세스를 설명하기 위한 참조도이다.
도 4 및 도 6을 참조하면, 서비스 배치부(124)는 모든 분할된 서비스들을 지정된 클라우드에 배치 요청한다. 이때 배치 요청은 클라우드 서비스가 수행되는 시점(t)에 진행될 수도 있고, 예약을 지원하는 클라우드라면 사용자의 서비스 이용 시점에 클라우드 서비스가 동작할 수 있도록 클라우드 서비스 배치를 예약할 수도 있다. 모든 분할된 클라우드 서비스에 대하여 각 클라우드에 클라우드 서비스 배치 요청을 수행하여, 전체 클라우드 서비스 배치 작업을 완료한다. 예를 들어 도 6에 도시된 바와 같이, 클라우드 서비스 1(100-1)을 클라우드-1(200-1)에 배치 요청하고, 클라우드 서비스 2(100-2)를 클라우드-3(200-3)에 배치 요청하며, 클라우드 서비스 3(100-3)을 클라우드-2(200-2)에 배치 요청한다. 전술한 실시 예는 본 발명의 이해를 돕기 위한 일 실시 예일 뿐 이에 한정되는 것은 아니다.
도 7은 본 발명의 일 실시 예에 따른 서비스 접속 관리부의 서비스 접속 관리 프로세스를 설명하기 위한 참조도이다.
도 7을 참조하면, 서비스 관리부(126)는 분할된 클라우드 서비스들이 하나의 클라우드 서비스로 클라우드 서비스 사용자에게 인식되도록 클라우드 서비스 사용자에 하나의 접속 주소를 제공한다. 도 7에 도시된 바와 같이,클라우드 서비스 사용자는 동일한 접속 주소로 클라우드 서비스에 접속하고, 서비스 관리부(126)는 시간(t)에 해당하는 분할된 클라우드 서비스의 클라우드로 접속을 전달한다. 예를 들면, 클라우드 서비스 사용자가 클라우드 서비스를 이용하는 시간(t)이 t2≤t<t3(100-2)인 경우, 서비스 관리부(126)는 클라우드 서비스 사용자의 접속을 클라우드-3(200-3)의 서비스 주소로 전달한다.
일 실시 예에 따른 서비스 관리부(126)는 클라우드 서비스를 제공하는 클라우드가 변경될 때, 클라우드 사이의 서비스 마이그레이션(migration)을 지원한다. 서비스 마이그레이션은 클라우드 서비스의 상태만 전송하여 일관성을 유지하는 방법과, 클라우드 서비스를 스냅 샷(snap shot)을 통해서 이미지로 만들고 타 클라우드에서 이미지를 통해서 클라우드 서비스를 재생성하는 방법 등이 있다. 서비스 관리부(126)를 통해서, 클라우드 서비스 사용자는 분할된 클라우드 서비스들을 하나의 클라우드 서비스로 인식할 수 있게 된다.
도 8은 본 발명의 일 실시 예에 따른 클라우드 서비스 중개장치의 클라우드 서비스 배치 방식의 효과를 설명하기 위한 시간 당 클라우드 서비스의 가격 그래프이다.
도 8을 참조하면, 클라우드 서비스 중개장치를 통해 클라우드 하나에 배치되던 단일 클라우드 서비스를 시간구간 별로 최소 가격을 가지는 다중 클라우드에 분산 배치할 수 있다.
도 9는 본 발명의 일 실시 예에 따른 클라우드 서비스 분할 및 분산 배치의 효과를 도시한 그래프이다.
도 9를 참조하면, 클라우드 서비스 중개장치는 사용자 요청 클라우드 서비스를 클라우드에 배치할 때, 다중 클라우드 활용을 통해서 비용을 절감할 수 있다. 예를 들어, 단일 클라우드 서비스를 단일 클라우드를 통해 제할 때(900)에 비하여, 본 발명의 서비스 가격을 고려하여 다중 클라우드에 다수의 클라우드 서비스를 배치하여 제공할 때(910)에 클라우드 서비스 사용자에게 더 낮은 가격으로 클라우드 서비스를 제공할 수 있다. 또한, 클라우드 서비스 중개자가 수익형 중개자인 경우 중개 수익을 더 향상시킬 수 있다.
본 발명은 클라우드 서비스 중개 플랫폼에서 적용 가능할 뿐만 아니라, 클라우드 서비스 중개 플랫폼의 일종인,클라우드 연합 환경에서 비용 효율적인 서비스 배치 방법, 분산된 데이터센터를 운영하는 대규모 단일 클라우드 환경에서 비용 효율적인 서비스 배치 방법 등에서도 적용 가능하다.
도 10은 본 발명의 일실시예에 따른 서비스 이미지 스토어를 이용한 클라우드 서비스 중개 시스템을 나타낸 블록도이다.
도 10을 참조하면, 본 발명의 일실시예에 따른 서비스 이미지 스토어를 이용한 클라우드 서비스 중개 시스템은 클라우드 서비스 중개 장치(1110), 서비스 이미지 스토어(1120), 사용자의 단말(1130-1~ 1130-N) 및 클라우드 서버(1140-1~ 1140-N)를 포함할 수 있다.
클라우드 서비스 중개 장치(1110)는 사용자의 단말(1130-1~ 1130-N)로부터 서비스 요구사항을 수신한다.
또한, 클라우드 서비스 중개 장치(1110)는 서비스 이미지 스토어(1120)에 저장된 복수 개의 서비스 이미지들 중 요구사항에 상응하는 적어도 하나의 후보 서비스 이미지를 추천한다.
이 때, 복수 개의 서비스 이미지들에 상응하는 이미지 기본 정보, 이미지 실행 환경 정보 및 스토어 운용 정보 중 적어도 하나를 포함하는 이미지 메타데이터를 이용하여 적어도 하나의 후보 서비스 이미지를 추천할 수 있다.
이 때, 서비스 이미지 스토어(1120)는 스토어 운용 정보에 포함된 소유권에 기반하여 복수 개의 서비스 이미지들을 다른 사용자가 접근할 수 있는 공용 이미지 및 사용자만 접근할 수 있는 개인 이미지 중 어느 하나로 구분하여 저장할 수 있다.
이 때, 요구사항에 상응하는 클라우드 종류, 서비스 사양, 서비스 종류, 가격 및 위치 중 적어도 하나를 기반으로 적어도 하나의 후보 서비스 이미지를 추천할 수 있다.
이 때, 적어도 하나의 후보 서비스 이미지가 공용 이미지에 상응하는 경우에 적어도 하나의 후보 서비스 이미지가 가격이 책정된 유료 이미지인지 여부를 확인하여 사용자에게 구매 정보를 제공할 수 있다.
또한, 클라우드 서비스 중개 장치(1110)는 복수 개의 클라우드 서버(1140-1~ 1140-N)들 중 요구사항에 상응하는 적어도 하나의 후보 클라우드 서버를 추천한다.
이 때, 적어도 하나의 후보 서비스 이미지에 상응하는 이미지 실행 환경 정보를 기반으로 적어도 하나의 후보 클라우드 서버를 추천할 수 있다.
또한, 클라우드 서비스 중개 장치(1110)는 적어도 하나의 후보 클라우드 서버 중 사용자가 선택한 최적 클라우드서버에 적어도 하나의 후보 서비스 이미지 중 사용자가 선택한 최적 서비스 이미지를 등록한다.
또한, 클라우드 서비스 중개 장치(1110)는 최적 클라우드 서버에서 최적 서비스 이미지를 실행한 서비스 결과를 사용자의 단말(1130-1~ 1130-N)에게 전송한다.
또한, 클라우드 서비스 중개 장치(1110)는 사용자가 서비스 이미지 스토어(1120)에서 공용 이미지를 획득하는 경우에 공용 이미지와 동일한 새로운 개인 이미지를 생성하고, 공용 이미지에 상응하는 이미지 메타데이터를 복사하여 새로운 개인 이미지에 상응하는 새로운 이미지 메타데이터를 생성한다.
이 때, 공용 이미지의 스토어 운용 정보를 확인하여 공용 이미지가 사용중인 경우에는 새로운 개인 이미지를 생성하지 않을 수 있다.
또한, 클라우드 서비스 중개 장치(1110)는 사용자가 개인 이미지를 공유하는 경우에 개인 이미지와 동일한 새로 운 공용 이미지를 생성하고, 개인 이미지에 상응하는 이미지 메타데이터를 복사하여 새로운 공용 이미지에 상응하는 새로운 이미지 메타데이터를 생성한다.
이 때, 새로운 공용 이미지를 유료로 공유하는 경우에 새로운 이미지 메타데이터에 가격 정보를 기록하고, 새로 운 공용 이미지를 유료 이미지로 설정할 수 있다.
서비스 이미지 스토어(1120)는 다양한 서비스 이미지를 등록, 공유, 관리하는데 그 목적이 있을 수 있다.
이 때, 서비스 이미지는 웹 서버, 협업도구, 오피스 소프트웨어, ERM 등의 특정 응용 서비스를 사용자가 신속하게 사용할 수 있도록 하기 위하여 대상 응용 소프트웨어의 설치 및 구성 설정이 완료되고 클라우드 서버에 배치하여 즉시 구동 가능하도록 생성된 파일 형상을 의미할 수 있다. 즉, 가상머신에 요구되는 소프트웨어의 설치 및 구성설정이 완료된 가상머신 이미지 등에 해당될 수 있다.
단말(1130-1~ 1130-N)은 사용자가 클라우드 서비스 중개 장치(1110)를 통해 클라우드 서버(1140-1~ 1140-N)로부터 서비스 결과를 수신하는 장치에 상응할 수 있다.
이 때, 단말(1130-1~ 1130-N)의 사용자는 가상시스템 기반의 응용 서비스를 제공하는 응용사업자 또는 일반 사용자 등과 같이 클라우드 서비스 중개 장치(1110)에서 제공하는 클라우드 서비스를 사용하고자 하는 회사 또는 개인이 될 수 있다.
또한, 단말(1130-1~ 1130-N)은 각각 통신망에 연결되어 클라우드 서비스 중개 시스템 기반으로 서비스 결과를 수신할 수 있는 장치로, 이동통신단말기에 한정된 것이 아니고, 모든 정보통신기기, 멀티미디어 단말, 유선 단말,고정형 단말 및 IP(Internet Protocol) 단말 등의 다양한 단말일 수 있다. 또한, 단말(1130-1~ 1130-N)은 각각 휴대폰, PMP(Portable Multimedia Played), MID(Mobile Internet Device), 스마트폰(Smart Phone), 데스크톱(Desktop), 태블릿컴퓨터(Tablet PC), 노트북(Note book), 넷북(Net Book), 개인휴대용 정보단말(Personal Digital Assistant; PDA), 스마트 TV 및 정보통신 기기 등과 같은 다양한 이동통신 사양을 갖는 모바일 (Mobile) 단말일 수 있다.
클라우드 서버(1140-1~ 1140-N)는 사용자들에게 클라우드 서비스 중개 장치(1110)를 통하여 서비스를 제공하고자 하는 클라우드 사업자들의 서비스 인프라에 해당할 수 있으며 가상머신이 구동될 수 있는 IaaS 인프라가 가장 일반적인 경우에 해당할 수 있다. 따라서, 클라우드 서버(1140-1~ 1140-N)는 클라우드 서비스 중개 장치(1110)에 등록된 서버일 수 있다. 예를 들어, 다수의 이종 클라우드 서비스 사업자들이 클라우드 서비스 중개 장치(1110)에 서비스를 등록하고, 등록된 서비스를 추가적인 부가 서비스와 함께 사용자의 단말(1130-1~ 1130-N)로 제공할 수 있다.
따라서, 클라우드 서비스 제공자 측면에서는 서비스를 판매하기 위한 개방형 판로의 역할을 클라우드 서비스 중개 장치(1110)가 수행할 수 있으며, 클라우드 서비스 사용자 측면에서는 다양한 클라우드 서비스를 검색, 선택, 배치 및 관리할 수 있는 편리성을 제공받을 수 있다. 즉, 클라우드 서비스 중개 장치(1110)가 사용자와 제공자 사이에 클라우드 서비스를 중개함으로써 개방형 클라우드 서비스 마켓을 제공하는 것이 가능하다.
도 11은 도 10에 도시된 클라우드 서비스 중개 장치의 일 예를 나타낸 블록도이다.
도 11을 참조하면, 도 10에 도시된 클라우드 서비스 중개 장치(1110)는 수신부(1210), 서비스 이미지 추천부(1220),클라우드 서버 추천부(1230), 서비스 이미지 획득부(1240), 서비스 이미지 공유부(1250), 등록부(1260) 및 전송부(1270)를 포함할 수 있다.
수신부(1210)는 사용자로부터 서비스 요구사항을 수신한다. 예를 들어, 클라우드 서비스를 사용하려는 회사 또는 개인과 같은 사용자들이 단말을 이용하여 원하는 서비스에 대한 요구사항을 입력하면, 통신망을 통해 사용자들이 입력한 요구사항을 수신할 수 있다.
이 때, 수신되는 요구사항은 클라우드 서버의 종류나 서비스의 사양, 서비스의 종류, 구매 가격 및 위치 등의 정보를 포함할 수 있다.
서비스 이미지 추천부(1220)는 서비스 이미지 스토어에 저장된 복수 개의 서비스 이미지들 중 요구사항에 상응하는 적어도 하나의 후보 서비스 이미지를 추천한다.
이 때, 서비스 이미지 스토어는 사용자에게 보다 다양한 서비스를 제공하기 위해서 다양한 종류의 서비스 이미지를 관리할 수 있다. 따라서, 서비스 이미지 스토어에 저장되어있는 다양한 서비스 이미지들 중에서 사용 사용자가 요구하는 요구사항에 적합한 후보 서비스 이미지를 추천할 수 있다. 또한, 후보 서비스 이미지는 사용자가 요청한 요구사항에 따라 여러 개로 추천될 수 있다.
이 때, 서비스 이미지는 웹 서버, 협업도구, 오피스 소프트웨어, ERM 등의 특정 응용 서비스를 사용자가 신속하게 사용할 수 있도록 하기 위하여 대상 응용 소프트웨어의 설치 및 구성 설정이 완료되고 클라우드 서버에 배치하여 즉시 구동 가능하도록 생성된 파일 형상을 의미할 수 있다. 즉, 가상머신에 요구되는 소프트웨어의 설치 및 구성설정이 완료된 가상머신 이미지 등에 해당될 수 있다.
이 때, 복수 개의 서비스 이미지들에 상응하는 이미지 기본 정보, 이미지 실행 환경 정보 및 스토어 운용 정보 중 적어도 하나를 포함하는 이미지 메타데이터를 이용하여 적어도 하나의 후보 서비스 이미지를 추천할 수 있다. 즉, 이미지 메타데이터는 서비스 이미지 스토어에 저장되는 각 서비스 이미지에 대한 식별자를 비롯하여 다양한 부가정보를 갖는 부분일 수 있으며, 클라우드 서비스 중개 장치의 내부 또는 외부에 위치할 수 있다.
따라서, 적어도 하나의 후보 서비스 이미지는 실제 이미지가 저장된 서비스 이미지 스토어에 접근하지 않고 이미지 메타데이터를 이용하여 검색이 가능할 수 있다.
이 때, 이미지 기본 정보는 서비스 이미지 자체의 정보를 기술하는 부분이고, 이미지 실행 환경 정보는 서비스 이미지가 클라우드 서버에 배치, 구동하기 위한 정보들이며, 스토어 운용 정보는 서비스 이미지 스토어를 유지 및 관리하는데 요구되는 정보들일 수 있다. 예를 들면, 이미지 기본 정보는 이미지의 이름, 식별자, 서비스 이미지 스토어 내의 접근 위치, 이미지가 포함하는 서비스 구성 및 설정 정보, 가격 등의 정보를 포함할 수 있다.
또한, 이미지 실행 환경 정보는 구동 환경, 자원 사양, 실행 하이퍼바이저 종류, 적합한 클라우드 종류 등의 정보를 포함할 수 있다. 마지막으로 스토어 운용 정보는 해당 이미지들에 접근할 수 있는 사용자를 제한하는 소유권 및 현재 사용 중인지 알 수 있는 사용 중 여부에 대한 정보를 포함할 수 있다. 이 때, 소유권이 공용 (public) 이미지인 경우에는 모든 사용자가 접근가능하고, 개인(private) 이미지인 경우에는 서비스 이미지를 등록한 사용자만이 접근 가능할 수 있다. 또한, 이미지가 사용 중일 경우는 이미지의 구매 또는 획득이 처리되는 과정, 이미지의 공유 또는 판매가 이루어지는 과정, 이미지의 삭제가 이루어지는 경우 등에 해당할 수 있다.
따라서, 이와 같은 정보를 모두 포함할 수 있는 메타데이터는 데이터베이스의 형상을 가질 수 있다.
이 때, 서비스 이미지 스토어는 스토어 운용 정도에 포함된 소유권에 기반하여 복수 개의 서비스 이미지들을 다른 사용자가 접근할 수 있는 공용 이미지 및 사용자만 접근할 수 있는 개인 이미지 중 어느 하나로 구분하여 저장할 수 있다.
또한, 서비스 이미지 스토어는 서비스 이미지가 실제로 저장되는 부분으로 공용 이미지를 저장하는 공용 이미지 저장소와 개인 이미지를 저장하는 개인 이미지 저장소로 구분될 수 있다. 또한, 개인 이미지 저장소에는 사용자 별로 구분된 각 사용자의 이미지 저장공간이 제공될 수 있다.
즉, 공용 이미지는 모든 사용자가 접근 가능한 서비스 이미지로 공용 이미지 저장소에 저장될 수 있다. 또한, 공용 이미지는 등록하는 사용자의 의도에 따라 무료이거나 특정한 가격이 책정된 유료 이미지일 수도 있다. 또한, 개인 이미지는 서비스 이미지를 등록하는 사용자만 접근 가능한 이미지로 등록자의 개인 이미지 저장소에만 저장될 수 있다.
따라서, 사용자가 서비스 이미지의 검색을 수행하는 경우에, 검색 대상은 공용 이미지 저장소에 있는 전체 서비스 이미지와 검색을 수행하는 사용자의 개인 이미지 저장소에 존재하는 서비스 이미지에 상응할 수 있다. 이때, 이미지의 검색을 위하여 사용되는 값은 이미지 기본 정보와 이미지 실행 환경 정보의 값들을 기반으로 수행될 수 있다. 예를 들어, OpenStack 클라우드 서버에서 구동되며 로드밸런서가 지원되는 300달러 이하인 웹 서버 서비스 이미지를 검색하는 경우가 이에 해당할 수 있다.
이 때, 요구사항에 상응하는 클라우드 종류, 서비스 사양, 서비스 종류, 가격 및 위치 중 적어도 하나를 기반으로 적어도 하나의 후보 서비스 이미지를 추천할 수 있다. 예를 들어, 요구사항에 포함된 정보들 중에서 후보 서비스 이미지 선정에 관련된 항목의 정보들을 기반으로 후보 서비스 이미지를 검색하여 추천할 수 있다.
이 때, 적어도 하나의 후보 서비스 이미지가 공용 이미지에 상응하는 경우에 적어도 하나의 후보 서비스 이미지가 가격이 책정된 유료 이미지인지 여부를 확인하여 사용자에게 구매 정보를 제공할 수 있다. 예를 들어, 추천된 후보 서비스 이미지가 유료 이미지라고 가정한다면, 해당 유료 이미지의 가격과 함께 결재를 위한 플로우를 수행할 수 있는 결재버튼을 함께 제공할 수도 있다.
클라우드 서버 추천부(1230)는 복수 개의 클라우드 서버들 중 요구사항에 상응하는 적어도 하나의 후보 클라우드 서버를 추천한다. 즉, 사용자의 요구사항에 따라 추천된 적어도 하나의 후보 서비스 이미지들을 실행할 수 있는 클라우드 서버를 추천할 수 있다.
이 때, 적어도 하나의 후보 서비스 이미지에 상응하는 이미지 실행 환경 정보를 기반으로 적어도 하나의 후보 클라우드 서버를 추천할 수 있다. 예를 들어, 이미지 실행 환경 정보에 해당 서비스 이미지를 배치하는데 적합한 클라우드 서버의 정보를 획득하고, 획득한 정보를 이용하여 후보 클라우드 서버를 검색하여 추천할 수 있다.
서비스 이미지 획득부(1240)는 사용자가 서비스 이미지 스토어에서 공용 이미지를 획득하는 경우에 공용 이미지와 동일한 새로운 개인 이미지를 생성하고, 공용 이미지에 상응하는 이미지 메타데이터를 복사하여 새로운 개인 이미지에 상응하는 새로운 이미지 메타데이터를 생성한다.
이 때, 공용 이미지의 스토어 운용 정보를 확인하여 공용 이미지가 사용중인 경우에는 새로운 개인 이미지를 생성하지 않을 수 있다.
예를 들어, 공용 이미지 저장소에 등록된 서비스 이미지 A를 개인 사용자가 사용하기 위해서 획득하는 경우를 가정한다면, 먼저 서비스 이미지 A의 이미지 메타데이터를 이용하여 서비스 이미지 A가 현재 사용 중인지 여부를 확인할 수 있다. 사용 중이 아닌 경우에만 서비스 이미지 A의 이미지 메타데이터를 복사하여 새로운 이미지 메타데이터 B를 생성하고, 이미지 메타데이터 B를 사용 중으로 설정할 수 있다. 이 후, 서비스 이미지 A를 개인사용자의 이미지 저장소로 복사하여 개인 이미지 B를 생성할 수 있다. 그리고 개인 이미지 B에 상응하는 정보를 생성된 이미지 메타데이터 B에 기록한 뒤 서비스 이미지 A와 개인 이미지 B를 모두 사용 중 설정 해지할 수 있
다.
서비스 이미지 공유부(1250)는 사용자가 개인 이미지를 공유하는 경우에 개인 이미지와 동일한 새로운 공용 이미지를 생성하고, 개인 이미지에 상응하는 이미지 메타데이터를 복사하여 새로운 공용 이미지에 상응하는 새로운 이미지 메타데이터를 생성한다.
이 때, 새로운 공용 이미지를 유료로 공유 하는 경우에 새로운 이미지 메타데이터에 가격 정보를 기록하고, 새로운 공용 이미지를 유료 이미지로 설정할 수 있다.
예를 들어, 개인 이미지 저장소에 등록된 서비스 이미지 C를 개인 사용자가 공용 이미지 저장소에 공유하는 경우를 가정한다면, 먼저 서비스 이미지 C의 이미지 메타데이터를 이용하여 서비스 이미지 C가 현재 사용 중인지 여부를 확인할 수 있다. 사용 중이 아닌 경우에만 서비스 이미지 C의 이미지 메타데이터를 복사하여 새로운 이미지 메타데이터 D를 생성하고, 이미지 메타데이터 D를 사용 중으로 설정할 수 있다. 이 후, 서비스 이미지 C를 공용 이미지 저장소로 복사하여 공용 이미지 D를 생성할 수 있다. 그리고 공용 이미지 D에 상응하는 정보를 생성된 이미지 메타데이터 D에 기록한 뒤 서비스 이미지 C와 공용 이미지 D를 모두 사용 중 설정 해지할 수 있다.
등록부(1260)는 적어도 하나의 후보 클라우드 서버 중 사용자가 선택한 최적 클라우드 서버에 적어도 하나의 후보 서비스 이미지 중 사용자가 선택한 최적 서비스 이미지를 등록한다.
이 때, 사용자가 최적 클라우드 서버를 선택할 수 있도록 적어도 하나의 후보 클라우드 서버에 대한 정보를 사용자에게 제공할 수 있다. 또한, 사용자가 최적 서비스 이미지를 선택할 수 있도록 적어도 하나의 후보 서비스 이미지에 대한 정보를 사용자에게 제공할 수 있다.
전송부(1270)는 최적 클라우드 서버에서 최적 서비스 이미지를 실행한 서비스 결과를 사용자에게 전송한다. 즉, 사용자로부터 요청된 서비스를 최적 클라우드 서버에서 최적 서비스 이미지를 통해 실행하고, 실행된 결과를 다시 사용자에게 전송함으로써 클라우드 서비스를 중개할 수 있다.
도 12는 본 발명의 일실시예에 따른 서비스 이미지 스토어를 이용한 클라우드 서비스 중개 시스템을 상세하게 나타낸 블록도이다.
도 12를 참조하면, 본 발명의 일실시예에 따른 서비스 이미지 스토어를 이용한 클라우드 서비스 중개 시스템에서 클라우드 서비스 중개 장치(1310)를 사용하는 사용자(1330-1~ 1330-N)는 가상 시스템 기반의 응용 서비스를 제공하는 응용 사업자 또는 일반 사용자 등과 같이 클라우드 서비스 중개 장치(1310)에서 제공하는 클라우드 서비스를 사용하고자 하는 회사 또는 개인이 될 수 있다.
클라우드 서비스 중개 장치(1310)는 다수의 이종 클라우드 서비스 사업자들로부터 서비스를 등록 받고, 해당 서비스를 추가적인 부가서비스와 함께 사용자(1330-1~ 1330-N)에게 제공할 수 있다. 즉, 클라우드 서비스 제공자의 측면에서는 서비스를 판매하기 위한 개방형 판로의 역할을 수행할 수 있으며, 클라우드 서비스 사용자의 측면에서는 다양한 클라우드 서비스를 검색, 선택, 배치 및 관리할 수 있는 편리성을 제공할 수 있다.
이 때, 이미지 메타데이터는 서비스 이미지 스토어(1320)에 저장되는 각 서비스 이미지에 대한 식별자를 비롯하여 다양한 부가 정보를 갖는 부분으로 클라우드 서비스 중개 장치(1310) 내부 또는 외부에 위치할 수 있다.
서비스 이미지 스토어(1320)는 서비스 이미지가 실제로 저장되는 곳으로, 크게 공용(public) 이미지 저장소와 개인(private) 이미지 저장소로 구분될 수 있으며 개인 이미지 저장소에는 사용자 별로 구분된 각 사용자의 이미지 저장공간이 제공될 수 있다.
클라우드 서비스 중개 장치(1310)에 연결된 클라우드 서버(1340-1~ 1340-N)는 사용자(1330-1~ 1330-N)에게 클라우드 서비스 중개 장치(1310)를 통해 서비스를 제공하고자 하는 클라우드 사업자들의 서비스 인프라이며, 가상머신이 구동될 수 있는 IaaS(Infrastructure as a Service) 인프라가 가장 일반적인 경우일 수 있다.
도 13은 본 발명의 일실시예에 따른 서비스 이미지 스토어에 서비스 이미지를 등록하는 주체를 나타낸 도면이다.
도 13을 참조하면, 본 발명의 일실시예에 따른 서비스 이미지 스토어(1420)에 대한 서비스 이미지 등록 주체는 클라우드 서비스 중개 장치 사용자, 클라우드 서비스 중개 사업자, 클라우드 서비스 제공자 및 응용 서비스 제공자 등과 같이 다양하게 존재할 수 있다.
이 때, 서비스 이미지 등록 주체가 서비스 이미지를 저장, 즉 등록하기 위해서는 등록할 서비스 이미지와 함께 이미지 메타데이터의 정보 입력이 요구될 수 있다.
이 때, 이미지 메타데이터는 파일 또는 데이터베이스의 형상을 가질 수 있으며, 이미지 기본 정보, 이미지 실행 환경 정보 및 스토어 운용 정보와 같은 정보로 구성될 수 있다.
이 때, 이미지 기본 정보는 서비스 이미지 자체의 정보를 기술하는 부분으로, 등록될 서비스 이미지의 이름, 이미지 식별자, 서비스 이미지 스토어(1420) 내의 접근 위치, 이미지가 포함하는 서비스 구성 및 설정 정보, 가격 등의 정보 중 적어도 하나를 포함할 수 있다.
또한, 이미지 실행 환경 정보는 서비스 이미지가 클라우드 서버에 배치 및 구동하기 위한 정보를 기술하는 부분으로, 자원 사양과 같은 구동 환경, 실행 하이퍼바이저 종류, 실행에 적합한 클라우드 종류 등의 정보 중 적어도 하나를 포함할 수 있다.
또한, 스토어 운용 정보는 서비스 이미지 스토어를 유지 관리하는데 요구되는 정보를 기술하는 부분으로, 소유권이나 사용 중 여부 등의 정보 중 적어도 하나를 포함할 수 있다. 이 때, 소유권은 해당 서비스 이미지를 접근할 수 있는 사용자를 제한하는 것으로 공용(public)인 경우는 모든 사용자가 해당 서비스 이미지에 접근가능하고, 개인(private)인 경우는 해당 서비스 이미지를 등록한 사용자만 접근이 가능할 수 있다. 또한, 사용 중 여부는 해당 서비스 이미지가 다른 사용자에 의하여 접근중인 경우에 설정되는 값에 상응할 수 있다. 예를 들어, 사용자가 공용 이미지를 구매하는 과정에서 공용 이미지를 개인 이미지 저장소에 저장하기 위해 복사하는 경우나 공용 이미지가 삭제되고 있는 경우와 같이 해당 이미지를 사용중인 경우에 해당할 수 있다.
도 14는 본 발명의 일실시예에 따른 서비스 이미지 스토어에서 이미지를 관리하는 방법을 나타낸 도면이다.
도 14를 참조하면, 본 발명의 일실시예에 따른 이미지 등록자(530)는 서비스 이미지 스토어(1510)에 등록하고자 하는 서비스 이미지와 함께 이미지 메타데이터를 입력할 수 있다.
이 때, 등록되는 이미지(1501, 1504)는 이미지 메타데이터에 입력되는 소유권 정보에 따라서 도 14에 나타낸 것과 같이 공용 이미지 저장소(1511)와 개인 이미지 저장소(1512)로 나뉘어서 등록될 수 있다.
이 때, 공용 이미지 저장소(1511)에 저장되는 공용 이미지는 클라우드 서비스 중개 장치를 사용하는 모든 사용자가 접근 가능한 서비스 이미지일 수 있다. 또한, 공용 이미지는 등록하는 사용자의 의도에 따라서 무료이거나 특정한 가격이 책정된 유료 이미지일 수 있다.
또한, 개인 이미지 저장소(1512)에 저장되는 개인 이미지는 서비스 이미지를 등록하는 사용자만 접근 가능한 서비스 이미지일 수 있다. 또한, 개인 이미지는 서비스 이미지를 등록하는 사용자의 저장공간에 저장될 수 있다.
이 때, 서비스 이미지의 삭제는 개인 이미지와 공용 이미지가 동일한 방식으로 수행될 수 있다.
삭제되는 과정을 예를 들어 설명하면, 삭제되는 이미지(1505)의 이미지 메타데이터에서 사용 중 여부를 확인할 수 있다. 만약, 삭제되는 이미지(1505)가 사용중이라면 이 때에는 삭제가 불가능하며, 사용 중이 아닐 때에는 삭제를 수행하기 위해 삭제되는 이미지(1505)의 이미지 메타데이터를 사용 중으로 설정할 수 있다. 이 후, 서비스 이미지 스토어(1510)에서 삭제되는 이미지(1505)를 삭제하고, 삭제되는 이미지(1505)의 이미지 메타데이터도 함께 삭제할 수 있다.
또한, 서비스 이미지의 검색은 실제 이미지가 저장된 서비스 이미지 스토어(1510)에 접근하지 않는 연산으로, 이미지 메타데이터에 기반하여 검색하고자 하는 서비스 이미지를 검색할 수 있다. 예를 들어, 사용자가 이미지 검색을 수행하는 경우에는 공용 이미지 저장소에 저장된 공용 이미지 전체와 검색을 수행하는 사용자의 개인 이미지 저장소에 저장된 이미지를 대상으로 검색을 수행할 수 있다.
또한, 이미지의 검색을 위하여 사용되는 값은 이미지 메타데이터에 포함된 이미지 기본 정보와 이미지 실행 환경 정보에 상응할 수 있다. 예를 들면, OpenStack 클라우드 서버에서 구동되며 로드밸런서가 지원되는 300달러 이하인 웹 서버 서비스 이미지를 검색을 위한 조건 값으로 사용할 수 있다.
이 때, 서비스 이미지 공유 및 판매 요청은 서비스 이미지의 등록 시에 설정되는 소유권 정보에 의하여 지원될 수 있다.
만약, 서비스 이미지를 등록할 때 소유권 정보가 공용으로 설정되었다면 해당 서비스 이미지는 모든 사용자들에 의하여 접근가능하며, 판매가 목적인 경우엔 적절한 가격을 함께 입력할 수 있다. 또한, 무료로 공유를 하기 위한 경우이면 무료 이미지로 배포될 수도 있다.
또한, 서비스 이미지를 등록할 때 소유권 정보가 개인으로 설정되었다면 등록자에 의하여 소유권 정보를 공용으로 변경함으로써 개인 사용자 이미지가 공용 이미지로 변경될 수 있다. 이 때, 개인 이미지 저장소에 저장된 서비스 이미지는 공용 이미지 저장소로 복사될 수 있다.
예를 들면, 먼저 개인 이미지 저장소(1512)에 저장된 공유되는 이미지(1502)의 이미지 메타데이터를 확인하여 공유되는 이미지(1502)가 사용 중인지 여부를 확인할 수 있다. 만약, 사용 중이라면 현재는 공유가 불가능하며, 사용 중이 아닌 경우에는 공유 처리를 수행하기 위해 공유되는 이미지(1502)의 이미지 메타데이터의 값을 사용 중 으로 설정할 수 있다.
이 후, 공유되는 이미지(1502)의 이미지 메타데이터를 복사하여 공유된 이미지(1502-1)를 위한 새로운 이미지 메타데이터를 생성하고, 새로운 이미지 메타데이터의 값을 사용 중으로 설정할 수 있다.
이 후, 개인 이미지 저장소(1512)의 공유되는 이미지(1502)를 공용 이미지 저장소(1511)로 복사할 수 있다.
이 후, 공용 이미지 저장소(1511)로 복사된 공유된 이미지(1502-1)의 정보를 새로운 이미지 메타데이터에 기록하고, 공유되는 이미지(1502)와 공유된 이미지(1502-1)를 사용 중이 아닌 것으로 설정 해지할 수 있다.
또한, 서비스 이미지 구매 및 획득 요청은 공용 이미지 저장소에 등록된 서비스 이미지를 개인 사용자가 사용하기 위하여 구매하거나 무료로 획득하는 경우에 해당할 수 있다.
예를 들면, 먼저 구매 또는 획득하고 싶은 구매되는 이미지(1503)의 이미지 메타데이터를 확인하여 구매되는 이미지(1503)가 사용 중인지 여부를 확인할 수 있다. 만약, 사용 중이라면 현재는 구매 또는 획득이 불가능하며, 사용 중이 아니라면 구매 또는 획득 처리를 수행하기 위해 구매되는 이미지(1503)의 이미지 메타데이터의 값을 사용 중으로 설정할 수 있다.
이 후, 구매되는 이미지(1503)의 이미지 메타데이터를 복사하여 구매된 이미지(1503-1)를 위한 새로운 이미지 메타데이터를 생성하고, 새로운 이미지 메타데이터의 값을 사용 중으로 설정할 수 있다.
이 후, 공용 이미지 저장소(1511)의 구매되는 이미지(1503)를 구매 또는 획득을 요청한 사용자의 개인 이미지 저장소(1512)로 복사할 수 있다.
이 후, 개인 이미지 저장소(1512)로 복사된 구매된 이미지(1503-1)의 정보를 새로운 이미지 메타데이터에 기록하고 구매되는 이미지(1503)와 구매된 이미지(1503-1)를 사용 중이 아닌 것으로 설정 해지할 수 있다.
도 15는 본 발명의 일실시예에 따른 서비스 이미지 스토어를 이용한 클라우드 서비스 중개 방법을 나타낸 동작 흐름도이다.
도 15를 참조하면, 본 발명의 일실시예에 따른 서비스 이미지 스토어를 이용한 클라우드 서비스 중개 방법은 사용자로부터 서비스 요구사항을 수신한다(S1610). 예를 들어, 클라우드 서비스를 사용하려는 회사 또는 개인과 같은 사용자들이 단말을 이용하여 원하는 서비스에 대한 요구사항을 입력하면, 통신망을 통해 사용자들이 입력한 요구사항을 수신할 수 있다.
이 때, 수신되는 요구사항은 클라우드 서버의 종류나 서비스의 사양, 서비스의 종류, 구매 가격 및 위치 등의 정보를 포함할 수 있다.
또한, 본 발명의 일실시예에 따른 서비스 이미지 스토어를 이용한 클라우드 서비스 중개 방법은 서비스 이미지 스토어에 저장된 복수 개의 서비스 이미지들 중 요구사항에 상응하는 적어도 하나의 후보 서비스 이미지를 추천 한다(S1620).
이 때, 서비스 이미지 스토어는 사용자에게 보다 다양한 서비스를 제공하기 위해서 다양한 종류의 서비스 이미지를 관리할 수 있다. 따라서, 서비스 이미지 스토어에 저장되어있는 다양한 서비스 이미지들 중에서 사용 사용자가 요구하는 요구사항에 적합한 후보 서비스 이미지를 추천할 수 있다. 또한, 후보 서비스 이미지는 사용자가 요청한 요구사항에 따라 여러 개로 추천될 수 있다.
이 때, 서비스 이미지는 웹 서버, 협업도구, 오피스 소프트웨어, ERM 등의 특정 응용 서비스를 사용자가 신속하게 사용할 수 있도록 하기 위하여 대상 응용 소프트웨어의 설치 및 구성 설정이 완료되고 클라우드 서버에 배치하여 즉시 구동 가능하도록 생성된 파일 형상을 의미할 수 있다. 즉, 가상머신에 요구되는 소프트웨어의 설치 및 구성설정이 완료된 가상머신 이미지 등에 해당될 수 있다.
이 때, 복수 개의 서비스 이미지들에 상응하는 이미지 기본 정보, 이미지 실행 환경 정보 및 스토어 운용 정보 중 적어도 하나를 포함하는 이미지 메타데이터를 이용하여 적어도 하나의 후보 서비스 이미지를 추천할 수 있다. 즉, 이미지 메타데이터는 서비스 이미지 스토어에 저장되는 각 서비스 이미지에 대한 식별자를 비롯하여 다양한 부가정보를 갖는 부분일 수 있으며, 클라우드 서비스 중개 장치의 내부 또는 외부에 위치할 수 있다.
따라서, 적어도 하나의 후보 서비스 이미지는 실제 이미지가 저장된 서비스 이미지 스토어에 접근하지 않고 이미지 메타데이터를 이용하여 검색이 가능할 수 있다.
이 때, 이미지 기본 정보는 서비스 이미지 자체의 정보를 기술하는 부분이고, 이미지 실행 환경 정보는 서비스 이미지가 클라우드 서버에 배치, 구동하기 위한 정보들이며, 스토어 운용 정보는 서비스 이미지 스토어를 유지 및 관리하는데 요구되는 정보들일 수 있다. 예를 들면, 이미지 기본 정보는 이미지의 이름, 식별자, 서비스 이미지 스토어 내의 접근 위치, 이미지가 포함하는 서비스 구성 및 설정 정보, 가격 등의 정보를 포함할 수 있다.
또한, 이미지 실행 환경 정보는 구동 환경, 자원 사양, 실행 하이퍼바이저 종류, 적합한 클라우드 종류 등의 정보를 포함할 수 있다. 마지막으로 스토어 운용 정보는 해당 이미지들에 접근할 수 있는 사용자를 제한하는 소유 권 및 현재 사용 중인지 알 수 있는 사용 중 여부에 대한 정보를 포함할 수 있다. 이 때, 소유권이 공용(public) 이미지인 경우에는 모든 사용자가 접근가능하고, 개인(private) 이미지인 경우에는 서비스 이미지를 등록한 사용자만이 접근 가능할 수 있다. 또한, 이미지가 사용 중일 경우는 이미지의 구매 또는 획득이 처리되는 과정, 이미지의 공유 또는 판매가 이루어지는 과정, 이미지의 삭제가 이루어지는 경우 등에 해당할 수 있다.
따라서, 이와 같은 정보를 모두 포함할 수 있는 메타데이터는 데이터베이스의 형상을 가질 수 있다.
이 때, 서비스 이미지 스토어는 스토어 운용 정도에 포함된 소유권에 기반하여 복수 개의 서비스 이미지들을 다른 사용자가 접근할 수 있는 공용 이미지 및 사용자만 접근할 수 있는 개인 이미지 중 어느 하나로 구분하여 저장할 수 있다.
또한, 서비스 이미지 스토어는 서비스 이미지가 실제로 저장되는 부분으로 공용 이미지를 저장하는 공용 이미지 저장소와 개인 이미지를 저장하는 개인 이미지 저장소로 구분될 수 있다. 또한, 개인 이미지 저장소에는 사용자 별로 구분된 각 사용자의 이미지 저장공간이 제공될 수 있다.
즉, 공용 이미지는 모든 사용자가 접근 가능한 서비스 이미지로 공용 이미지 저장소에 저장될 수 있다. 또한, 공용 이미지는 등록하는 사용자의 의도에 따라 무료이거나 특정한 가격이 책정된 유료 이미지일 수도 있다. 또한, 개인 이미지는 서비스 이미지를 등록하는 사용자만 접근 가능한 이미지로 등록자의 개인 이미지 저장소에만 저장될 수 있다.
따라서, 사용자가 서비스 이미지의 검색을 수행하는 경우에, 검색 대상은 공용 이미지 저장소에 있는 전체 서비스 이미지와 검색을 수행하는 사용자의 개인 이미지 저장소에 존재하는 서비스 이미지에 상응할 수 있다. 이때, 이미지의 검색을 위하여 사용되는 값은 이미지 기본 정보와 이미지 실행 환경 정보의 값들을 기반으로 수행될 수 있다. 예를 들어, OpenStack 클라우드 서버에서 구동되며 로드밸런서가 지원되는 300달러 이하인 웹 서버 서비스 이미지를 검색하는 경우가 이에 해당할 수 있다.
이 때, 요구사항에 상응하는 클라우드 종류, 서비스 사양, 서비스 종류, 가격 및 위치 중 적어도 하나를 기반으로 적어도 하나의 후보 서비스 이미지를 추천할 수 있다. 예를 들어, 요구사항에 포함된 정보들 중에서 후보 서비스 이미지 선정에 관련된 항목의 정보들을 기반으로 후보 서비스 이미지를 검색하여 추천할 수 있다.
이 때, 적어도 하나의 후보 서비스 이미지가 공용 이미지에 상응하는 경우에 적어도 하나의 후보 서비스 이미지가 가격이 책정된 유료 이미지인지 여부를 확인하여 사용자에게 구매 정보를 제공할 수 있다. 예를 들어, 추천된 후보 서비스 이미지가 유료 이미지라고 가정한다면, 해당 유료 이미지의 가격과 함께 결재를 위한 플로우를 수행할 수 있는 결재버튼을 함께 제공할 수도 있다.
또한, 본 발명의 일실시예에 따른 서비스 이미지 스토어를 이용한 클라우드 서비스 중개 방법은 복수 개의 클라우드 서버들 중 요구사항에 상응하는 적어도 하나의 후보 클라우드 서버를 추천한다(S1630). 즉, 사용자의 요구사항에 따라 추천된 적어도 하나의 후보 서비스 이미지들을 실행할 수 있는 클라우드 서버를 추천할 수 있다.
이 때, 적어도 하나의 후보 서비스 이미지에 상응하는 이미지 실행 환경 정보를 기반으로 적어도 하나의 후보 클라우드 서버를 추천할 수 있다. 예를 들어, 이미지 실행 환경 정보에 해당 서비스 이미지를 배치하는데 적합한 클라우드 서버의 정보를 획득하고, 획득한 정보를 이용하여 후보 클라우드 서버를 검색하여 추천할 수 있다.
또한, 본 발명의 일실시예에 따른 서비스 이미지 스토어를 이용한 클라우드 서비스 중개 방법은 적어도 하나의 후보 클라우드 서버 중 사용자가 선택한 최적 클라우드 서버에 적어도 하나의 후보 서비스 이미지 중 사용자가 선택한 최적 서비스 이미지를 등록하여 실행한 서비스 결과를 사용자에게 전송한다(S1640). 즉, 사용자로부터 요청된 서비스를 최적 클라우드 서버에서 최적 서비스 이미지를 통해 실행하고, 실행된 결과를 다시 사용자에게 전송함으로써 클라우드 서비스를 중개할 수 있다.
이 때, 사용자가 최적 클라우드 서버를 선택할 수 있도록 적어도 하나의 후보 클라우드 서버에 대한 정보를 사용자에게 제공할 수 있다. 또한, 사용자가 최적 서비스 이미지를 선택할 수 있도록 적어도 하나의 후보 서비스 이미지에 대한 정보를 사용자에게 제공할 수 있다.
또한, 도 15에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 서비스 이미지 스토어를 이용한 클라우드 서비스 중개 방법은 사용자가 서비스 이미지 스토어에서 공용 이미지를 획득하는 경우에 공용 이미지와 동일한 새로운 개인 이미지를 생성하고, 공용 이미지에 상응하는 이미지 메타데이터를 복사하여 새로운 개인 이미지에 상응하는 새로운 이미지 메타데이터를 생성한다.
이 때, 공용 이미지의 스토어 운용 정보를 확인하여 공용 이미지가 사용중인 경우에는 새로운 개인 이미지를 생성하지 않을 수 있다.
예를 들어, 공용 이미지 저장소에 등록된 서비스 이미지 A를 개인 사용자가 사용하기 위해서 획득하는 경우를 가정한다면, 먼저 서비스 이미지 A의 이미지 메타데이터를 이용하여 서비스 이미지 A가 현재 사용 중인지 여부 를 확인할 수 있다. 사용 중이 아닌 경우에만 서비스 이미지 A의 이미지 메타데이터를 복사하여 새로운 이미지 메타데이터 B를 생성하고, 이미지 메타데이터 B를 사용 중으로 설정할 수 있다. 이 후, 서비스 이미지 A를 개인 사용자의 이미지 저장소로 복사하여 개인 이미지 B를 생성할 수 있다. 그리고 개인 이미지 B에 상응하는 정보를 생성된 이미지 메타데이터 B에 기록한 뒤 서비스 이미지 A와 개인 이미지 B를 모두 사용 중 설정 해지할 수 있다.
또한, 도 15에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 서비스 이미지 스토어를 이용한 클라우드 서비스 중개 방법은 사용자가 개인 이미지를 공유하는 경우에 개인 이미지와 동일한 새로운 공용 이미지를 생성하고, 개인 이미지에 상응하는 이미지 메타데이터를 복사하여 새로운 공용 이미지에 상응하는 새로운 이미지 메타데이터를 생성한다.
이 때, 새로운 공용 이미지를 유료로 공유 하는 경우에 새로운 이미지 메타데이터에 가격 정보를 기록하고, 새로운 공용 이미지를 유료 이미지로 설정할 수 있다.
예를 들어, 개인 이미지 저장소에 등록된 서비스 이미지 C를 개인 사용자가 공용 이미지 저장소에 공유하는 경우를 가정한다면, 먼저 서비스 이미지 C의 이미지 메타데이터를 이용하여 서비스 이미지 C가 현재 사용 중인지 여부를 확인할 수 있다. 사용 중이 아닌 경우에만 서비스 이미지 C의 이미지 메타데이터를 복사하여 새로운 이미지 메타데이터 D를 생성하고, 이미지 메타데이터 D를 사용 중으로 설정할 수 있다. 이 후, 서비스 이미지 C를 공용 이미지 저장소로 복사하여 공용 이미지 D를 생성할 수 있다. 그리고 공용 이미지 D에 상응하는 정보를 생성된 이미지 메타데이터 D에 기록한 뒤 서비스 이미지 C와 공용 이미지 D를 모두 사용 중 설정 해지할 수 있다.
도 16은 본 발명의 일실시예에 따른 서비스 이미지 스토어에서 서비스 이미지를 삭제하는 방법을 나타낸 동작 흐름도이다.
도 16을 참조하면, 본 발명의 일실시예에 따른 서비스 이미지 스토어에서 서비스 이미지를 삭제하는 방법은 먼저 삭제할 서비스 이미지의 이미지 메타데이터를 검색할 수 있다(S1710).
이 후, 이미지 메타데이터의 값을 확인하여 삭제할 서비스 이미지가 현재 사용 중인지 여부를 판단할 수 있다(S1715).
단계(S1715)의 판단결과 삭제할 서비스 이미지가 현재 사용 중이 아니면, 삭제할 서비스 이미지의 이미지 메타데이터의 값을 사용 중인 것으로 설정할 수 있다(S1720).
이 후, 서비스 이미지 스토어에서 삭제할 서비스 이미지를 삭제하고(S1730), 삭제한 서비스 이미지에 상응하는 이미지 메타데이터도 삭제할 수 있다(S1740).
또한, 단계(S1715)의 판단결과 삭제할 서비스 이미지가 현재 사용 중이면, 현재는 해당 이미지가 사용 중이어서 삭제할 수 없는 것으로 판단하고 해당 정보를 사용자에게 알릴 수 있다(S1750).
도 17은 본 발명의 일실시예에 따른 서비스 이미지 스토어에서 개인 이미지를 공유하는 방법을 나타낸 동작 흐름도이다.
도 17을 참조하면, 본 발명의 일실시예에 따른 서비스 이미지 스토어에서 개인 이미지를 공유하는 방법은 공유할 개인 이미지의 이미지 메타데이터를 검색할 수 있다(S1810).
이 후, 이미지 메타데이터의 값을 확인하여 공유할 개인 이미지가 현재 사용 중인지 여부를 판단할 수 있다 (S1815).
단계(S1815)의 판단결과 공유할 개인 이미지가 현재 사용 중이 아니면, 공유할 개인 이미지의 이미지 메타데이터 의 값을 사용 중인 것으로 설정할 수 있다(S1820).
이 후, 공유할 개인 이미지의 이미지 메타데이터를 복사하여(S1830) 새로운 이미지 메타데이터를 생성할 수 있다(S1840).
이 후, 공유할 개인 이미지를 공용 이미지 저장소에 복사하고(S1850), 복사된 공용 이미지의 정보를 새로운 이미지 메타데이터에 기록할 수 있다(S1860).
이 후, 공유된 개인 이미지와 복사된 공용 이미지의 이미지 메타데이터의 값을 사용 중이 아닌 것으로 설정 해지할 수 있다.
또한, 단계(S1815)의 판단결과 공유할 개인 이미지가 현재 사용 중이면, 현재는 해당 이미지가 사용 중이어서 공유할 수 없는 것으로 판단하고 해당 정보를 사용자에게 알릴 수 있다(S1880).
도 18은 본 발명의 일실시예에 따른 서비스 이미지 스토어에서 공용 이미지를 구매하는 방법을 나타낸 동작 흐름도이다.
도 18을 참조하면, 본 발명의 일실시예에 따른 서비스 이미지 스토어에서 공용 이미지를 구매하는 방법은 구매할 공용 이미지의 이미지 메타데이터를 검색할 수 있다(S1910).
이 후, 이미지 메타데이터의 값을 확인하여 구매할 공용 이미지가 현재 사용 중인지 여부를 판단할 수 있다 (S1915).
단계(S1915)의 판단결과 구매할 공용 이미지가 현재 사용 중이 아니면, 구매할 공용 이미지의 이미지 메타데이터 의 값을 사용 중인 것으로 설정할 수 있다(S1920).
이 후, 구매할 공용 이미지의 이미지 메타데이터를 복사하여(S1930) 새로운 이미지 메타데이터를 생성할 수 있다. (S1940).
이 후, 구매할 공용 이미지를 구매 요청한 사용자의 개인 이미지 저장소로 복사하고(S1950), 복사된 개인 이미지 의 정보를 새로운 이미지 메타데이터에 기록할 수 있다(S1960).
이 후, 구매된 공용 이미지와 복사된 개인 이미지의 이미지 메타데이터의 값을 사용 중이 아닌 것으로 설정 해지할 수 있다(S1970).
또한, 단계(S1915)의 판단결과 구매할 공용 이미지가 현재 사용 중이면, 현재는 해당 이미지가 사용 중이어서 구매할 수 없는 것으로 판단하고 해당 정보를 사용자에게 알릴 수 있다(S1980).
본 발명은 다수의 클라우드 서비스 제공자가 존재하는 이종 클라우드 컴퓨팅 환경에서, 클라우드 서비스 제공자와 클라우드 서비스 사용자 사이의 효과적인 클라우드 서비스 브로커링을 위한 서비스 설정 및 관리 방법을 포함한 클라우드 서비스 브로커링 방법 및 그 장치를 제공한다.
편의상, 이하에서는 클라우드 컴퓨팅 환경에서 클라우드 서비스를 등록 및 판매하는 클라우드 서비스 제공자 (Cloud Service Provider)를 CSP라 지칭하고, 클라우드 서비스를 요청 및 사용하는 클라우드 서비스 사용자 (Cloud Service Consumer)를 CSC라 지칭하며, 다수의 CSP가 존재하는 이종 클라우드 컴퓨팅 환경에서 CSP와 CSC 사이의 연결을 중개 및 관리하는 클라우드 서비스 브로커(Cloud Service Broker)를 CSB라 지칭하기로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 보다 상세히 설명하기로 한다.
도 19는 본 발명의 실시예에 의한 클라우드 서비스 브로커링 장치이다.
도 19를 참조하면, 본 발명의 실시예에 의한 클라우드 서비스 브로커링 장치는, CSP, CSC 및 CSB가 클라우드 서비스를 각 담당자에 맞게 설정하고 관리하도록 하기 위하여, 클라우드 서비스 제공자 인터페이스(이하, CSP 인터페이스; 2100), 클라우드 서비스 사용자 인터페이스(이하, CSC 인터페이스; 2200), 클라우드 서비스 브로커 인터페이스(이하, CSB 인터페이스; 2300), CSB 엔진(2400) 및 운영정보 저장소(2500)를 포함한다.
CSP 인터페이스(2100)는 다수의 클라우드 서비스 제공자들이 존재하는 이종 클라우드 제공 환경에서 다수의 클라우드를 사용할 수 있도록 CSP들이 손쉽게 클라우드 리소스를 사용하고 동작(action)시키기 위한 인터페이스이다. 각각의 CSP는 상기 CSP 인터페이스(2100)를 이용하여 판매할 클라우드 정보를 등록하고, 해당 클라우드에서 제공 가능한 서비스를 등록한다. 즉, 각각의 CSP는 CSP 인터페이스(2100)를 이용하여 판매할 클라우드 서비스 정보를 입력한다. 특히, CSP는 CSB가 구성한 서비스 카탈로그로부터 판매 가능한 서비스를 찾을 수 있도록 서비스 클라우드 고유명, 엔드 포인트 URL, 접속 계정 정보 및 클라우드 위치 정보를 설정한다.
상기 CSP 인터페이스(2100)는 단위 자원 정보 정의기(2110)와 서비스 설정기(2120)를 포함하도록 구성된다.
단위 자원 정보 정의기(2110)는 CSP들로부터 각각의 클라우드 서비스를 구성하는 단위(element) 자원 정보를 입력한다.
부연 설명하면, CSB 또는 CSB 엔진(2400)는, CSP들을 위한 워크스페이스로서 CSP들에게 CSB 인터페이스(2300)를 제공하여 CSP들이 CSB에 등록정보를 제공하거나 CSB에 클라우드 서비스를 등록하도록 할 수 있다. 이 때 CSP에 대한 정보는 CSP의 명칭, CSP의 엔트리 포인트(entry point)의 URL, CSP의 물리 위치 정보, CSP 의 접근 계정 정보 등을 포함한다.
서비스 설정기(2120)는 CSP들로부터 각각의 클라우드 서비스에 상응하는 서비스 사용 유형과 용도를 입력받고, 해당 클라우드 서비스를 구성하는 단위 자원 정보를 조합한다.
CSC 인터페이스(2200)는 이종 클라우드 제공 환경에서 다수의 클라우드에 대해 사용하고자 하는 서비스를 손쉽게 클라우드 리소스를 사용하고 동작(action)을 요청할 수 있도록 CSC에게 제공되는 인터페이스이다. CSC는 상기 CSC 인터페이스(2200)를 이용하여 사용하고자 하는 서비스 요구사항을 입력하고, 서비스의 사용을 요청한다. 예를 들어, CSC는 서비스 카탈로그로부터 원하는 서비스 타입을 선택하고 용도에 맞게 서비스 항목을 입력함으로써 서비스 사용을 요청하고 서비스를 제공받을 수 있다.
상기 CSC 인터페이스(2200)는 서비스 명세 정의기(2210), 보고서 생성기(2220) 및 서비스 대시보드(2230)를 포함하도록 구성된다.
서비스 명세(specification) 정의기(2210)는 클라우드 서비스를 제공하는 시스템, 플랫폼, 소프트웨어에 대해 CSC가 필요로 하는 서비스 정보를 서비스 구성 항목 별로 정의하도록 한다.
보고서 생성기(2220)는 CSC가 서비스 사용 현황에 대한 보고서 작성을 요청하면 해당 서비스의 사용 기간, 사용량 및 사용 비용 정보를 포함한 보고서를 생성한다. 예를 들어, 보고서 생성기(2220)는 CSC로부터의 보고서 작성 요청이 접수되면, 테넌트(tenant) 별 서비스 사용 기간, 서비스 목록, 서비스 종류별 제공 수량 및 사용량, 서비스 사용 비용 정보 등을 종합하여 보고서를 생성한다. 이러한 보고서 생성기(2220)는 소정의 정기적 시점이나,혹은 CSC로부터 보고서 작성이 요청될 때 동작한다.
서비스 대시보드(2230)는 CSC가 신청한 서비스 목록 및 사용 중인 서비스 등에 대한 모니터링 정보를 보여줌으로써 CSC로 하여금 사용 중인 서비스에 대한 현황을 조회할 수 있게 한다.
CSB 인터페이스(2300)는 CSB가 클라우드 서비스 브로커링 및 관리를 손쉽게 하고 동작시키기 위해 CSB가 호출하는 인터페이스이다. CSB는 판매 가능한 서비스 목록 중 서비스 사용자가 요청하는 요구조건에 따라 서비스를 제공 가능한 클라우드를 선택해 CSC에게 알려준다. 즉, CSB는 CSC가 원하는 요구조건에 부합되는 서비스를 제공받을 수 있도록 적합한 서비스 클라우드를 선정하고, 선정된 서비스 클라우드로의 접속 연결을 중개한다.
상기 CSB 인터페이스(2300)는 사용자 관리기(2310), 서비스 관리기(2320), 서비스 카탈로그 정의기(2330) 및 관리 대시보드(2340)를 포함한다.
사용자 관리기(2310)는 CSP 인터페이스(2100), CSC 인터페이스(2200) 및 CSB 인터페이스(2300)에 가입한 사용자를 가입 허락 및 관리하는 기능을 수행한다. 이를 위해, 사용자 관리기(2310)는 운영정보 저장소(2500)에 사용자 정보를 생성, 조회, 삭제, 수정한다.
서비스 관리기(2320)는 CSC가 사용 요청한 서비스를 관리한다. 이를 위해, 서비스 관리기(2320)는 CSC가 요청한 서비스의 시작, 재시작, 정지 및 삭제를 동작시킨다.
서비스 카탈로그 정의기(2330)는 CSP에 의해 제공될 수 있는 클라우드 서비스를 분류하기 위한 디렉토리 구조로서 서비스 유형 및 용도 정보와 같은 서비스 정보를 함께 정의한다. 이러한 서비스 카탈로그 정의기(2330)는 서비스 등록, 서비스 검색, 서비스 수정 및 서비스 요청에 필요한 상세 정보를 포함한다.
관리 대시보드(2340)는 CSB가 관리하는 사용자 정보 및 사용 중인 서비스에 대한 정보를 산출하여 요약 정보를 보여준다. 예를 들어, 관리 대시보드(2340)는 밤이나, 낮, 혹은 특정 시간대 별 서비스 사용 현황이나, 최대 접속자 수와 같은 요약 정보를 보여줄 수 있다.
CSB 엔진(2400)은 클라우드 서비스의 브로커링 및 관리에 필요한 기능을 제공한다. 이를 위해, CSB 엔진(2400)은 통합 인증기(2410), 클라우드 연결 중계기(2420), 서비스 명세 분석기(2430), 서비스 브로커(2440), 서비스 제어기 (2450), 과금 관리기(2460) 및 사용 수량 측정기(2470)를 포함하도록 구성된다.
통합 인증기(2410)는 CSP 인터페이스(2100), CSC 인터페이스(2200) 및 CSB 인터페이스(2300)를 사용하는 사용자가 클라우드 브로커링 장치에 접속하기 위한 사용자 접속 권한 인증에 대한 통합적인 관리 및 처리를 한다.
클라우드 연결 중계기(2420)는 클라우드 서비스를 브로커링할 때 이종 클라우드에 연결될 수 있게 로컬 네트워크의 클라이언트가 보낸 요청을 중개하는 프록시(proxy) 서버 역할을 한다.
서비스 명세 분석기(2430)는 CSC가 할당 받을 클라우드 서비스에 대한 요구사항을 분석하여 서비스 브로커(2440)가 이해할 수 있는 형태의 정보로 변환한다. 예를 들어, 서비스 명세 분석기(2430)는 CSC가 원하는 서비스의 형상, 클라우드 계정 정보, 서비스 타입과 기능 및 보장 조건을 분석하고, 분석 결과를 서비스 브로커(2440)가 이해할 수 있는 형태의 정보로 변환한다.
서비스 브로커(2440)는 상기 서비스 명세 분석기(2430)에 의해 변환된 서비스 명세에 부합되는 최적의 CSP를 선정하고, 상기 CSP가 가진 자원 중 CSC가 요청한 자원을 배치한다. 이를 위해, 서비스 브로커(2440)는 변환된 서비스 명세에 기술된 서비스마다 그에 해당되는 최적의 CSP를 결정하고, 해당 CSP가 갖고 있는 전체 자원 중 CSC가 요청한 서비스를 배치한다.
서비스 제어기(2450)는 서비스에 대한 클라우드 연결, 서비스 배치, 서비스 시작, 서비스 중지 및 서비스 종료와 같이 클라우드를 통해 제공되는 서비스의 상태를 제어하고 관리한다.
과금 관리기(2460)는 CSC의 서비스 사용 비용을 계산하고, CSC에게 청구하여 수납하도록 하며, 청구 및 수납에 대한 이력을 관리한다.
사용 수량 측정기(2470)는 클라우드를 통해 제공되는 서비스의 사용량을 측정 및 관리한다. 예를 들어, 사용 수량 측정기(2470)는 CSB가 중개할 수 있는 서비스 수량 중 몇 개가 사용되기 위해 요청되었고, 남은 서비스 수량은 몇 개인지 측정 및 관리할 수 있다. 이를 위해, 사용 수량 측정기(2470)는 CSP로부터 제공받고, CSC 별로 제공된 서비스 수량을 측정 및 관리한다.
운영정보 저장소(2500)는 클라우드 서비스의 브로커링 및 통합 운영을 위해 관리가 필요한 메타 데이터와 실제 운용 데이터를 저장한다. 이를 위한 데이터는 운영정보 저장소(2500)에서 서비스 저장소(2510), 사용자 저장소(2520) 및 서비스 관리 정보 저장소(2530)로 나뉜다.
서비스 저장소(2510)는 CSP 인터페이스(2100)에서 입력되는 클라우드 정보와 각각의 클라우드를 통해 제공될 수 있는 단위 자원 정보를 저장한다.
사용자 저장소(2520)는 CSP 인터페이스(2100), CSC 인터페이스(2200) 및 CSB 인터페이스(2300)를 통해 가입 신청된 사용자 정보를 저장 및 관리한다.
서비스 관리 정보 저장소(2530)는 CSB 엔진(2400)에서 제어 및 관리를 하기 위해 필요한 서비스 관리 정보를 저장한다. 서비스 관리 정보 저장소(2530)는 서비스 분석/변환 파일, 브로커링 상태 정보 및 서비스 상태 정보를 함께 저장하여 관리한다.
전술한 본 발명의 실시예에 의한 클라우드 서비스 브로커링 장치를 이용한 클라우드 서비스 브로커링 방법은, 다수의 CSP들로부터 판매할 서비스 정보를 입력받는 단계와, CSC로부터 서비스 요구사항을 입력받는 단계와, 상기 서비스 요구사항에 기반하여 다수의 CSP들 중 적어도 하나의 최적 CSP를 선정하는 단계와, 상기 선정된 CSP가 제공하는 클라우드에 상기 CSC가 연결되도록 중개하는 단계를 포함한다.
이러한 각각의 클라우드 서비스 브로커링 단계에서 수행되는 서비스 등록 절차, 서비스 요청 등록 절차, 서비스 브로커링 동작 및 관리 절차에 대한 보다 상세한 설명은 도 20 내지 도 23을 참조하여 후술하기로 한다.
도 20은 본 발명의 실시예에 의한 CSP의 서비스 등록 절차를 나타내는 순서도이다. 특히, 도 20은 각각의 CSP가 제공하는 서비스를 서비스 카탈로그로부터 찾을 수 있도록 등록하는 절차를 보여준다.
도 20을 참조하면, CSP는 CSP 인터페이스(2100)를 이용하여 판매하고자 하는 서비스 정보를 입력함으로써, 해당 서비스를 등록한다.
이를 위해, CSP는 우선 CSP 인터페이스(2100)에 로그인하여 접속 권한 인증을 받는다.(S2101)
이후, CSP는 이종의 클라우드 환경에서 선택된 클라우드에 접속할 수 있도록 엔드 포인트 URL에 접속하고, 클라우드 접속 정보인 로그인 아이디 및 비밀번호를 입력한다.(S2102)
그러면, 클라우드에 접속 URL이 접속 가능한 지 내부적으로 로그인 검증이 수행된다.(S2103)
이에 의해 CSP의 클라우드 접속 검증이 완료되면, CSP는 클라우드 서비스가 제공되는 지리적 정보로서 지역 정보를 입력한다.(S2104)
이후, CSP는 서비스 등록을 위해 서비스 카탈로그에서 해당 서비스 타입을 선택하고(S2105), 등록하려는 서비스의 용도가 상기 서비스 카탈로그에 정의되어 있는 디렉토리 구조 안에 선택 가능한 지 확인한다. 이를 위해, CSP는 서비스 카탈로그에서 해당 서비스의 용도(예: 가상머신, 플랫폼, 어플리케이션)가 선택 가능한 지를 확인할 수 있다.(S2106)
해당 서비스 용도에 맞는 디렉토리 구조가 서비스 카탈로그에 없는 경우, CSP는 서비스가 어떤 경우에 사용될 수 있는지 서비스 용도를 정의하고(S2107), 클라우드에서 제공할 수 있는 단위 자원을 구성하는 정보를 입력하는 단계로 넘어간다.
한편, 해당 서비스 용도에 맞는 디렉토리 구조가 서비스 카탈로그에서 선택 가능한 경우, CSP는 서비스 카탈로그에서 서비스 용도를 선택한 후 클라우드에서 제공할 수 있는 단위 자원을 구성하는 정보를 입력한다.(S2108)
단위 자원의 예로서는, 서비스 용도가 인프라 서비스인 경우에는 가상머신(Virtual Machine)이 있을 수 있고, 플랫폼 서비스인 경우에는 개발 환경이 있을 수 있다. 단위 자원 구성 정보가 입력될 때, 일례로 인프라 자원인 가상 머신인 경우 vCore, vMemory, OS 설치 디스크(root disk)에 대한 정보를 자원 구성 정보로 입력할 수 있다.
단위 자원을 구성하는 정보 입력이 완료되면, CSP는 단위 자원을 관리하는 정보를 입력한다. 상기 단위 자원을 관리하는 정보의 예로서는, 해당 자원을 판매하기 위한 가격 정보, 서비스로 제공될 때의 자원 제공 보장 조건, 자원 운영에 대한 특이사항 등이 있을 수 있다.(S2109)
단위 자원을 구성하는 정보 및 상기 단위 자원을 관리하는 정보 등의 입력이 완료되면, CSP의 서비스 등록 절차가 완료된다.
도 21은 본 발명의 실시예에 의한 CSC의 서비스 요청 등록 및 관리 절차를 나타내는 순서도이다. 특히, 도 21은 개개의 CSC가 서비스를 사용 요청하기 위해 서비스에 대한 명세 정보를 설정함으로써, 서비스 요구사항을 입력하는 절차를 보여준다.
도 21을 참조하면, CSC는 서비스 요청 등록 및 관리를 위하여, 우선 CSC 인터페이스(2200)를 통해 로그인하여 접속 권한 인증을 받는다.(S2200)
사용자 인증이 완료되면, CSC는 원하는 서비스 타입과 용도를 입력한다. 이를 위해, CSC는 서비스 카탈로그에서 원하는 서비스가 소속된 디렉토리 위치를 검색하기 위하여 서비스 검색 여부를 선택한다.(S2201)
서비스를 검색하고자 하는 경우, CSC는 서비스 타입과 용도에 맞는 키워드 기반의 서비스 검색 조건을 입력한 후(S2202), 서비스 카탈로그 검색을 요청한다.(S2203)
이후, CSC는 서비스 카탈로그에서 검색된 서비스 용도가 적합한 지를 판단하여 CSC가 요청하는 서비스가 카탈로그 구조의 어디에 위치될지 결정한다.(S2204)
단, 서비스 카탈로그에서 검색된 서비스 용도가 적합하지 않다고 판단되는 경우, CSC는 서비스 검색 조건을 입력하는 단계(S2202)로 되돌아가 키워드 등의 서비스 검색 조건을 변경하여 입력한다. CSC는 서비스 카탈로그에서 검색된 서비스 용도가 적합하다고 판단될 때까지 서비스 검색 조건 입력 단계(S2202), 서비스 카탈로그 검색 요청 단계(S2203) 및 서비스 용도의 적합성을 판별하는 단계(S2204)를 반복할 수 있다.
서비스 카탈로그에서 검색된 서비스 용도가 적합한 것으로 판단되면, 상기 서비스 카탈로그에서 CSC가 요청하는 서비스가 제공되는 클라우드의 위치를 지정한다.
한편, CSC는 원하는 서비스를 키워드 등에 의한 서비스 검색 기반으로 찾는 대신, 직접 서비스 카탈로그의 세부 디렉토리 구조를 조회하며 찾을 수도 있다.
이 경우, CSC는 서비스 카탈로그에서 서비스 타입을 선택하고(S2205), 상기 서비스 카탈로그에서 서비스 용도를 선택하여(S2206) 서비스를 분류한 대분류나 소분류를 확인한다.
서비스 카탈로그에서 원하는 위치와 용도를 가진 서비스가 지정되면, CSC는 서비스 명세를 입력한다. 상기 서비스 명세는 서비스 항목과 서비스 보장 요건이 결합되어 정의되는 것으로서, CSC는 서비스 요소(element) 정보를 입력하고(S2207), 서비스 보장요건을 입력한다.(S2208)
상기 서비스 명세(service description)는 서비스 레이어 어그리먼트(service layer agreement; SLA)를 포함하는데, SLA는 클라우드 서비스를 제공하거나 생성하는 서비스의 개념, 용어, 정의 및 내용이나 조건을 포함한다. 클라우드 서비스 브로커(cloud service broker)는 클라우드 서비스에 대한 정의, 용어 및 조건 등을 기술하는 SLA 모델을 CSC에 제공할 수 있다. 여기서 SLA는, 클라우드 서비스 프로바이더(CSP)와 클라우드 서비스 브로커(cloud service broker) 간의 SLA 와 클라우드 서비스 브로커(cloud service broker)와 클라우드 서비스 클라이언트(CSC) 사이의 SLA 중 적어도 하나 이상을 포함할 수 있다.
서비스 명세가 정의되면, CSC는 CSC 인터페이스(2200)를 통해 서비스 명세를 분석 요청한다.(S2209)
한편, 서비스 명세에 대한 분석이 요청될 때, 서비스 명세 분석 요청 이벤트(event 10)를 발생시켜 브로커링을 위한 분산 시스템이 동작하도록 한다.(S210)
서비스 명세 분석 요청 후, CSC는 서비스 대시보드(2230)를 통해 서비스 생성 및 상태를 확인한다.(S2211)
CSC가 요청한 서비스의 상태 정보가 정상적으로 확인되면, CSC의 서비스 명세 정보 설정 절차가 완료된다.
도 22는 본 발명의 실시예에 의한 CSB의 서비스 브로커링 관리 절차를 나타내는 순서도이다. 특히, 도 22는 CSB가 CSC의 서비스 요구사항에 기반하여 다수의 CSP들 중 적어도 하나를 선정하여 클라우드 서비스를 중개하는 절차를 보여주는 것으로서, 상기 중개 동작은 CSB 엔진(2400)에 포함된 모듈을 병렬로 동작시킴으로써 수행될 수 있다.
도 22를 참조하면, CSB의 클라우드 서비스 브로커링 절차가 시작되면, CSB 엔진(2400)에 구비된 서비스 명세 분석기(2430)는 서비스 명세 분석 요청(event 10)을 기다린다.(S2301) 상기 서비스 명세 분석 요청은 CSC에 의해 발생될 수 있다.
서비스 명세 분석 요청이 접수되면(S2302), 서비스 명세 분석기(2430)는 요청받은 서비스의 명세를 분석하고 (S2303), CSC가 할당받을 가상 서비스에 대한 요구사항을 서비스 브로커(2440)가 해석할 수 있는 형태로 변환하여 명세 분석 파일을 생성한다.(S2304)
명세 분석 파일이 생성되면, 서비스 브로커(2440)는 상기 명세 분석 파일에 부합되는 서비스를 제공할 수 있는 CSP 후보들을 검색한다.(S2305)
이후, 서비스 브로커(2440)는 최적의 CSP를 찾기 위한 최적 CSP 선택 알고리즘을 수행하여 최적의 CSP를 선정할 수 있다.
예를 들어, 서비스 브로커(2440)는 검색된 CSP 후보들 중 CSC의 요구사항에 보다 부합되는 CSP 후보들을 일차적으로 선별하여 CSP 후보 범위를 축소한 후(S2306), 이 중 최적의 CSP를 선택할 수 있다.(S2307)
최적의 CSP 또는 클라우드를 찾을 경우, CSC가 최적을 클라우드 서비스를 제공하받도록 하는데 CSC의 요구 사항을 반영한 기준에 따라 클라우드 서비슬 제공한다.
최적의 CSP가 선택되면, 선택된 최적 CSP 정보가 CSC에게 제공되고, CSC가 동의하면 상기 CSP가 최적 CSP로 선정된다.
최적의 CSP가 선정되면, 클라우드 연결 중계기(2420)는 CSC가 해당 CSP가 제공하는 클라우드로 연결될 수 있도록 중개 요청을 한다.(S2308)
한편, 서비스 브로커(2440)에 의해 선택된 최적 CSP 정보를 제공받은 CSC가 다른 CSP의 선별을 요청하는 경우 등 에는, CSP 후보 범위를 축소하는 단계(S2306)에서 일차적으로 선별된 다른 CSP 후보들 중 하나를 최적 CSP로 선택하고, 선택된 CSP 정보를 CSC에게 제공하여 확인하는 과정을 되풀이할 수 있다.
클라우드 연결 중계기(2420)에 의한 중개 요청이 정상적으로 처리되면, CSB의 클라우드 서비스 브로커링 절차가 완료된다.
한편, 도 22는 CSB의 서비스 브로커링 관리 절차에 대해서만 집중적으로 보여주고 있으나, 이 외에도 CSB는 클라우드 서비스 브로커링 동작에 앞서 이를 용이하게 하기 위한 환경을 마련한다.
이를 위해, CSB는 CSP들이 판매할 서비스 정보 및 개개의 CSC의 서비스 요구사항을 미리 예측하고, 상기 CSP들의 서비스 정보 및 CSC의 서비스 요구사항을 디렉토리 구조에서 선택할 수 있도록 클라우드 서비스를 세분화하여 분류한 후, 이에 근거하여 서비스 카탈로그를 구성한다.
그리고, 상기 서비스 카탈로그를 각각의 CSP들 및 CSC들에게 제공하여 CSP들의 서비스 등록 및 CSC들의 서비스 요청 등록을 돕는다.
도 23은 본 발명의 실시예에 의한 CSB 엔진의 동적 동작을 나타내는 블럭도이다.
도 23을 참조하면, 서비스 명세 분석 요청(event 10) 발생 시, 서비스 명세 분석기(S2430)는 클라우드 서비스 제공을 위한 서비스 명세 분석을 실행하여 명세 분석 파일을 생성하고, 이를 서비스 브로커(S2440)로 전송한다.
그러면, 서비스 브로커(S2440)는 최적의 CSP를 선정하기 위한 브로커링 동작을 실행한다. 그리고, 최적의 CSP가 선정되면, 클라우드 연결 중계기(S2420)는 CSC를 해당 CSP가 제공하는 클라우드에 연결되도록 중개하여 CSC가 최적의 CSP에 연결될 수 있도록 한다. 한편, CSC 등으로부터 서비스의 시작, 중지, 재시작, 혹은 삭제 등과 같은 서비스 제어 요청(event 30)이 발생할 시, 서비스 제어기(S2450)는 상기 서비스 제어 요청에 상응하여 서비스를 제어하기 위한 동적 제어 동작을 실행한다. 이를 위해, 서비스 제어기(S2450)는 서비스 브로커(S2440) 등의 동작을 제어할 수 있다.
또한, 소정의 정기적 시점이 도래하거나, 혹은 CSC에 의한 보고서 생성 요청(event 50) 등이 발생할 시, 과금 관리기(2460)는 해당 서비스의 사용 기간 동안 사용된 서비스 양을 기반으로 서비스 사용 비용을 동적으로 계산하여 CSC에게 청구한다. 또한, 과금 관리기(2460)는 서비스 사용량을 기반으로 CSP에게 지불해야 하는 서비스 비용을 계산하여 지불한다.
도 24는 본 발명의 제1 실시 예에 따른 사용자 클라우드 서비스 제공을 위한 자원 중개 제공장치의 구성도이다.
도 24를 참조하면 본 발명의 제1 실시 예에 따른 사용자 클라우드 서비스 제공을 위한 자원 중개 제공장치(3000)는 사용자 클라우드 모델 생성부(3100), 인프라 자원 관리부(3200), 네트워크 자원 관리부(3300), 자원 매핑부(3400)를 포함할 수 있다.
사용자 클라우드 모델 생성부(3100)는 사용자로부터 수신한 클라우드 서비스 요청에 대응하도록 사용자 클라우드 모델을 생성하고, 상기 생성된 각 사용자 클라우드 모델에 사용자 클라우드 ID를 부여할 수 있다.
여기서 클라우드 자원 정보는 사용자로부터 제공받고자 하는 클라우드 서비스에 대한 요구사항에 부응하는 서비스를 제공하기 위하여 자원 중개 제공장치(3000)와 연결된 적어도 하나의 클라우드 시스템 중에서 가용한 자원을 할당 받도록 선택된 클라우드 시스템에 대한 정보 및 클라우드 서비스에 대한 정보를 포함하는 것을 의미할 수 있다.
본 발명의 일 실시 예에 따르면 클라우드 서비스에 대한 정보는 선정된 클라우드 시스템에 포함된 가상 머신(VM), 스토리지, 네트워크 등에 대한 정보가 포함될 수 있다.
본 발명의 일 실시 예에 따르면 사용자 클라우드 모델은 사용자의 요구사항에 대응하는 클라우드 서비스를 제공할 수 있도록 클라우드의 자원 정보에 따라 선택된 적어도 하나의 클라우드 시스템에 포함되어 있는 자원을 할당 받고 서로 하나의 클라우드 시스템으로 재구성되도록 설계된 모델을 의미할 수 있다.
이러한 사용자 클라우드 모델은 자원 중개 제공장치(3000)에서 인프라 자원 및/ 또는 네트워크 자원을 요청하고 이를 연계하여 하나의 클라우드 시스템을 구현함에 있어 일종의 설계도로 사용될 수 있다.
본 발명의 일 실시 예에 따르면 선정된 클라우드 시스템은 IaaS(Infra as a Service), NaaS(Network as a Service) 클라우드 시스템일 수 있으나 이에 한정되지 아니하고 PaaS(Platform as a Service), SaaS(Software as a Service) 클라우드 시스템 또한 사용될 수 있다.
본 발명의 일 실시 예에 따르면 사용자 클라우드 ID는 생성된 각 사용자 클라우드 모델을 식별하기 위한 특정 식별자를 의미하며, 숫자 또는 영자, 특수 문자로 이루어 질 수 있으나 이에 한정되지 아니하면 식별자로 사용될 수 있는 모든 형식은 제한 없이 사용될 수 있다.
인프라 자원 관리부(3200)는 사용자 클라우드 모델에서 요구되는 가상머신, 가상 네트워크, 가상 스토리지를 포함하는 인프라 자원을 대상으로 배치 요청 메세지를 전송하고, 상기 배치 요청 메세지에 대응하는 접근 정보를 수신하여 가상머신, 가상 네트워크, 가상 스토리지를 관리할 수 있다.
여기서 인프라 자원이란 IaaS(Infra as a Service) 클라우드 시스템에 포함되는 연산 자원을 의미하며 더 자세하게는 가상 머신, 가상 네트워크, 가상 스토리지를 포함할 수 있다.
여기서 연산 자원이란 클라우드 시스템을 구성하고 있는 연산이 가능한 장치를 의미하는 것으로 서버, 스토리지를 의미할 수 있다.
본 발명의 일 실시 예에 따르면 IaaS(Infra as a Service)는 서버, 스토리지, 가상 머신의 네트워크 등을 이용하여 가상화 환경을 생성함으로써 필요에 따라 인프라 자원을 사용할 수 있게 서비스를 제공하는 것을 의미할 수 있으며, IaaS 클라우드 시스템은 이러한 서비스를 제공할 수 있는 클라우드 시스템을 의미할 수 있다.
본 발명의 일 실시 예에 따르면 배치 요청 메세지는 사용자 클라우드 시스템 모델에 의하여 선택된 IaaS 클라우드 시스템을 대상으로 IaaS 클라우드 시스템에 포함된 연산 자원들의 연산능력을 끌어 올 수 있도록, 즉 사용자 클라우드 시스템을 구성하는데 배치할 수 있도록 요청하는 메세지를 의미할 수 있다.
또한 본 발명의 일 실시 예에 따르면 배치 요청 메세지에 대응하는 접근 정보는 배치 요청 메세지를 수신한 대상으로 IaaS 클라우드 시스템에 포함된 연산 자원들의 자신이 포함된 클라우드 시스템의 식별코드, 연산 자원이 서버인 경우 이중화 또는 로드 밸런싱의 여부, 방화벽의 존재 등을 포함할 수 있으나 이에 한정되지 아니하고 연산 장치에 대한 세부사항을 포함한 정보라면 제한 없이 사용될 수 있다.
본 발명의 일 실시 예에 따르면 사용되는 인프라 자원이 가상 머신인 경우 가상 머신으로 배치 요청 메시지(대상 클라우드, 가상머신 구성 정보)를 송신하고, 수신한 배치 요청 메세지에 대응하는 가상머신 접근 정보(가상 머신 URL, 게이트웨이 주소, 클라우드 접근 주소 등)를 가상 머신으로부터 수신하여 가상 머신을 관리할 수 있다.
본 발명의 일 실시 예에 따르면 사용되는 인프라 자원이 가상 스토리지인 경우 가상 스토리지로 배치 요청 메시지(대상 클라우드, 스토리지 구성 정보)를 송신하고, 수신한 배치 요청 메세지에 대응하는 가상 스토리지 접근 정보(가상스토리지 URL, 게이트웨이주소, 클라우드 접근 주소 등)를 가상 스토리지로부터 수신하여 가상 스토리지를 관리할 수 있다.
본 발명의 일 실시 예에 따르면 사용되는 인프라 자원이 가상 네트워크인 경우 가상 네트워크로 배치 요청 메시지(대상 클라우드, 이중화, 로드 밸런싱, Firewall등을 포함하는 가상네트워크 구성정보)를 송신하고, 수신한 배치 요청 메세지에 대응하는 가상 네트워크 접근 정보를 가상 네트워크로부터 수신하여 가상 네트워크를 관리할 수 있다.
본 발명의 일 실시 예에 따르면 인프라 자원 관리부(3200)는 이종 클라우드 연결장치와 연결될 수 있으며, 이러한 연결을 통해 다른 종류의 클라우드 시스템에 접속하여 해당 클라우드 시스템에 포함되는 인프라 자원의 배치를 요청하고 이에 대응하는 접근 정보를 수신함으로써 인프라 자원을 관리할 수 있다.
네트워크 자원 관리부(3300)는 사용자 클라우드 모델에서 요구되는 네트워크 자원를 대상으로 네트워크 생성 메세지를 전송하고, 상기 네트워크 생성 메세지에 대응하는 접근 정보를 수신할 수 있다.
본 발명의 일 실시 예에 따르면 네트워크 자원은 클라우드 시스템을 구성하기 위해 네트워킹 되어 있는 연산장치를 의미할 수 있다.
본 발명의 일 실시 예에 따르면 네트워크 생성 메시지는 사용자 클라우드 시스템 모델에 의하여 선택된 NaaS 클라우드 시스템을 사용자 클라우드 시스템을 구성하는데 사용할 수 있는 네트워크의 생성을 요청하는 메시지를 의미할 수 있다.
본 발명의 일 실시 예에 따르면 사용자 클라우드 시스템 모델은 물리적으로 떨어져 있는 가상 서버간의 네트워크도 요청할 수 있다.
또한 네트워크 생성 메세지에 대응하는 접근 정보는 네트워크 생성 메세지를 수신한 대상으로 NaaS 클라우드 시스템을 구성하고 있는 네트워킹 된 연산 자원들의 자신이 포함된 클라우드 시스템의 식별코드, 연산 자원이 서버인 경우 이중화 또는 로드 밸런싱의 여부, 방화벽의 존재 등을 포함할 수 있으나 이에 한정되지 아니하고 연산 장치에 대한 세부사항을 포함한 정보라면 제한 없이 사용될 수 있다.
자원 매핑부(3400)는 사용자 클라우드 모델에 따라 상기 인프라 자원 및 네트워크 자원을 매핑하고, 자원 중개 제공장치와 연결된 클라우드 시스템으로 클라우드 자원을 요청할 수 있다.
본 발명의 일 실시 예에 따르면 인프라 자원 및 네트워크 자원을 매핑하는 것은 사용자 클라우드 모델에 따라 클라우드 시스템을 생성하도록 송신하고, 수신한 요청 결과 메세지에 대응하는 각각의 자원연결 결과 정보를 클라우드 시스템으로부터 수신하여 사용자 클라우드 모델에 따른 자원연결 결과에 대한 정보를 관리할 수 있다.
도 25는 본 발명의 일 실시 예에 따른 사용자 클라우드 서비스 제공을 위한 자원 중개 제공장치의 구성도이다.
도 25를 참조하면 일 실시 예에 따른 사용자 클라우드 서비스 제공을 위한 자원 중개 제공장치는 도 24의 일 실시 예에 따른 사용자 클라우드 서비스 제공을 위한 자원 중개 제공장치에서 사용자 클라우드 검증부(3500)를 더 포함할 수 있다.
사용자 클라우드 검증부(3500)는 매핑된 인프라 자원 및 네트워크 자원이 상기 사용자 클라우드 모델과 일치하는 지 여부를 검증하고, 검증된 결과를 사용자에게 송신할 수 있다.
본 발명의 일 실시 예에 따르면 사용자 클라우드 검증부(3500)는 사용자 클라우드 모델 생성부에서 요청하여 생성된 사용자 클라우드 모델이 인프라 자원 관리부와 네트워크 자원 관리부를 통해 운용되고 있는 상황을 주기적으로 모니터링 할 수 있으며, 사용자가 요청한 서비스 요구사항에 대한 검증을 수행할 수 있다.
따라서, 클라우드 서비스 자원 중개 제공장치 또는 클라우드 서비스브로커(CSB)는 클라우드 서비스 요구사항에 대한 템플릿(cloud service requirement templet)에 따라 클라우드 서비스 사용자(cloud service client)가 요구한 서비스 요청 사항을 검증할 수 있다.
도 26은 본 발명의 제3 실시 예에 따른 사용자 클라우드 서비스 제공을 위한 자원 중개 제공장치의 구성도이다.
도 26을 참조하면 제3 실시 예에 따른 사용자 클라우드 서비스 제공을 위한 자원 중개 제공장치는 도 24의 일 실시 예에 따른 사용자 클라우드 서비스 제공을 위한 자원 중개 제공장치에서 사용자 클라우드 모델 데이터 베이스(3600)를 더 포함할 수 있다.
사용자 클라우드 모델 데이터 베이스(3600)는 사용자 클라우드 모델의 세부정보, 사용자 클라우드 모델의 운용품질 및 사용자 클라우드 ID를 저장할 수 있다.
도 27은 본 발명의 일 실시 예에 따른 사용자 클라우드 서비스 제공을 위한 자원 중개 제공장치(3000)의 데이터 흐름을 나타낸 도면이다.
본 발명의 일 실시 예에 따르면 사용자 클라우드 모델 생성부(3100)는 클라우드 자원 정보를 수신하고, 수신한 클라우드 자원 정보를 이용하여 사용자 클라우드 모델 및 사용자 클라우드 ID에 대한 정보를 생성할 수 있다.
본 발명의 일 실시 예에 따르면 사용자 클라우드 모델 생성부(3100)는 사용자 클라우드 모델에 대한 정보를 각각 인프라 자원 관리부(3200), 네트워크 자원 관리부(3300)에 송신할 수 있다.
또 다른 실시 예에 따르면 사용자 클라우드 모델 생성부(100)는 사용자 클라우드 모델에 대한 정보를 사용자 클라우드 모델 데이터 베이스(3600)로 송신할 수 있다.
본 발명의 일 실시 예에 따르면 인프라 자원 관리부(200)는 IaaS 클라우드 시스템에 포함된 연산 장치에 배치요청 메시지를 송신할 수 있다.
또한 IaaS 클라우드 시스템에 포함된 연산 장치로부터 배치 요청 메시지에 대응되는 접근 정보를 수신할 수 있다.
또한 본 발명의 일 실시 예에 따르면 네트워크 자원 관리부(3300)는 NaaS 클라우드 시스템에 포함된 네트워킹 된 연산 장치에 네트워크 생성 메시지를 송신할 수 있다.
또한 NaaS 클라우드 시스템에 포함된 네트워킹 된 연산 장치로부터 네트워크 생성 메시지에 대응되는 접근 정보를 수신할 수 있다.
자원 매핑부(3400)는 인프라 자원 관리부(3200), 네트워크 자원 관리부(3300)로부터 각각 접근 정보 및 사용자 클라우드 모델에 대한 정보를 수신할 수 있다.
본 발명의 일 실시 예에 따르면 자원 매핑부(3400)에서 생성된 매핑된 인프라 자원 및 네트워크 자원의 접근정보를 이용하여 해당하는 각 자원에 연결 요청에 대한 정보를 송신할 수 있다.
본 발명의 또 다른 실시 예에 따르면 사용자 클라우드 검증부(3500)는 사용자 클라우드 모델 생성부에서 요청하여 생성된 사용자 클라우드 모델이 인프라 자원 관리부와 네트워크 자원 관리부를 통해 운용되고 있는 상황을 주기적으로 모니터링 할 수 있으며, 사용자가 요청한 서비스 요구사항에 대한 검증을 수행할 수 있다.
사용자 클라우드 검증부(3600)는 검증된 결과를 사용자에게 송신할 수 있으며, 일치하지 않는 경우에는 자원 매핑부(3400)에 다시 매핑 작업을 수행하는 명령을 포함하는 정보를 송신할 수 있고, 일치하는 경우에는 검증된 결과를 사용자에게 송신할 수 있다.
도 28은 본 발명의 실시 예에 따른 사용자 클라우드 서비스 제공을 위한 자원 중개 제공방법을 나타낸 흐름도이다.
클라우드 자원 정보에 대응하는 사용자 클라우드 모델을 생성한다(3510).
클라우드 자원 정보는 사용자가 요청한 클라우드 요구사항에 부응하는 서비스를 제공하기 위하여 자원 중개 제공장치(3000)와 연결된 적어도 하나의 클라우드 자원의 리스트이다.
본 발명의 일 실시 예에 따르면 클라우드 자원의 리스트에는 가상 머신(VM), 스토리지, 네트워크 등에 대한 정보가 포함될 수 있다.
생성된 각 사용자 클라우드 모델에 사용자 클라우드 ID를 부여한다(3520).
본 발명의 일 실시 예에 따르면 생성된 각 사용자 클라우드 모델에 사용자 클라우드 ID를 부여할 수 있다.
본 발명의 일 실시 예에 따르면 사용자 클라우드 ID는 생성된 각 사용자 클라우드 모델을 식별하기 위한 특정 식별자를 의미한다.
인프라 자원을 대상으로 배치 요청 메세지를 전송한다(3530).
본 발명의 일 실시 예에 따르면 사용자 클라우드 모델에서 요구되는 인프라 자원을 대상으로 배치 요청 메시지를 전송할 수 있다.
본 발명의 일 실시 예에 따르면 IaaS(Infra as a Service)는 서버, 스토리지, 가상 머신의 네트워크 등을 이용하여 가상화 환경을 생성함으로써 필요에 따라 인프라 자원을 사용할 수 있게 서비스를 제공하는 것을 의미할 수 있으며, IaaS 클라우드 시스템은 이러한 서비스를 제공할 수 있는 클라우드 시스템을 의미할 수 있다.
배치 요청 메세지에 대응하는 접근 정보를 수신한다(3540).
본 발명의 일 실시 예에 따르면 배치 요청 메세지에 대응하는 접근 정보는 사용자 클라우드를 구성하는 클라우드 자원의 유일한 식별 번호, 구성정보, 배치 요청의 결과(성공, 실패)를 포함할 수 있다.
네트워크 자원을 대상으로 네트워크 생성 메세지를 전송한다(3550).
본 발명의 일 실시 예에 따르면 네트워크 생성 메시지는 사용자 클라우드 시스템 모델에 의하여 선택된 NaaS 클라우드 시스템을 대상으로 네트워크의 생성을 요청하는 메세지를 의미할 수 있다.
네트워크 생성 메세지에 대응하는 접근 정보를 수신한다(3560).
본 발명의 일 실시 예에 따르면 네트워크 생성 메세지에 대응하는 접근 정보를 수신할 수 있다.
네트워크 생성 메세지에 대응하는 접근 정보는 사용자 클라우드를 구성하는 네트워크 자원의 유일한 식별 번호, 구성정보, 배치 요청의 결과(성공, 실패)를 포함할 수 있다.
사용자 클라우드 모델에 따라 인프라 자원 및 네트워크 자원을 매핑한다(3570).
본 발명의 일 실시 예에 따르면 사용자 클라우드 모델에 따라 상기 인프라 자원 및 네트워크 자원을 사용자 클라우드 모델에 매핑할 수 있다.
본 발명의 일 실시 예에 따르면 인프라 자원 및 네트워크 자원을 매핑하는 것은 사용자 클라우드 모델에 따라 클라우드 시스템을 생성하도록 수신한 각 인프라 자원 및 네트워크 자원을 네트워킹 하는 방법을 사용할 수 있다.
사용자 클라우드 생성 결과를 송신한다(3580).
본 발명의 일 실시 예에 따르면 사용자 클라우드 ID에 따른 사용자 클라우드 모델 생성에 대한 성공 또는 실패와 같은 결과를 송신한다.
도 29는 본 발명의 일실시예에 따른 클라우드 연동 시스템을 나타낸 블록도이다.
도 29를 참조하면, 본 발명의 일실시예에 따른 클라우드 연동 시스템은 서비스 제어 완료 상태 확인 장치(4100)가 다수의 클라우드 컴퓨팅 시스템들(4010, 4020,4030)과 통신하고 서비스 제어를 요청할 수 있다.
서비스 제어 완료 상태 확인 장치(4100)는 먼저 컴퓨팅 시스템(4010)에 서비스 제어 메시지를 송신하여 서비스 제어를 요청할 수 있다.
이 때, 서비스 제어는 서비스 생성, 중지, 재시작 또는 종료 등에 요청할 수 있다.
이 때, 컴퓨팅 시스템(4010)은 서비스 제어 완료 상태 확인 장치(4100)가 요청한 서비스에 대한 제어를 실제로 수행할 수 있다.
이 때, 컴퓨팅 시스템(4010)은 서비스 제어 수행 요청에 대한 확인 메시지를 서비스 제어 완료 상태 확인 장치(4100)에 통보(ACK)할 수 있다.
이 때, 서비스 제어 완료 상태 확인 장치(4100)는 통보(ACK) 시점에서 실제로 서비스 제어가 완료되었다는 보장이 없으므로, 서비스 제어가 완료된 시점에 대한 확인이 필요할 수 있다.
이 때, 서비스 제어 완료 상태 확인 장치(4100)는 확률 통계 기법을 이용하여 생성된 서비스 제어 확인 주기마다 서비스 제어 확인 통신을 수행할 수 있다.
이 때, 서비스 제어 완료 상태 확인 장치(4100)는 제어 완료 확률의 수준에
따라 제어 확인 횟수 및 주기를 변경할 수 있다.
따라서, 서비스 제어 완료 상태 확인 장치(4100)는 예측된 높은 확률의 제어 완료 확인 시점에서 높은 횟수 및 빈도의 서비스 제어 확인 통신을 수행하고, 낮은 확률의 제어 확인 시점에서는 낮은 횟수 및 빈도의 서비스 제어 확인 통신을 수행할 수 있다.
이에 따라, 본 발명의 일실시예에 따른 클라우드 연동 시스템 및 연동된 다중 클라우드 컴퓨팅 시스템들의 통신 부하를 경감시키고, 사용자 응답 속도 및 경험을 향상시킬 수 있다.
또한, 서비스 제어 완료 상태 확인 장치(4100)는 서비스 제어 확인 상태를 업데이트 하고, 사용자에게 통보할 수 있다.
도 30은 본 발명의 일실시예에 따른 서비스 제어 완료 상태 확인 장치를 나타낸 블록도이다.
도 30을 참조하면, 본 발명의 일실시예에 따른 서비스 제어 완료 상태 확인
장치(4100)는 서비스 제어 요청부(4110), 서비스 제어 확인 주기 생성부(4120), 서비스 제어 확인 통신부(4130) 및 서비스 상태 업데이트부(4140)를 포함한다.
서비스 제어 요청부(4110)는 컴퓨팅 시스템(4010)에 서비스 제어를 요청할 수 있다.
이 때, 서비스 제어 요청부(4110)는 사용자가 요청한 서비스 작업 수행을 위해서 서비스 제어 요청 메시지를 컴퓨팅 시스템(4010)에 송신하고, 제어 요청에 대한 확인 응답(ACK)을 컴퓨팅 시스템(4010)으로부터 수신할 수 있다.
즉, 클라우드 서비스 제공 중개 장치(클라우드 연동 시스템 또는 클라우드 서비스 브로커(cloud service broker)의 서비스 제어 요청부(4110)는, 클라우드 서비스 브로커(cloud service broker)가 서비스 컨트롤 요청에 대한 확인 응답 (ACK)를 수신한 이후에 서비스 제어 상태(service control status)에 대한 검증 과정(validation process)를 시작한다. 서비스 제어 요청에 대한 확인 응답 (ACK)는, 클라우드 서비스 프로바이더(CSP)에 의해 보내진 메시지로서, 클라우드 서비스 제공 중개 장치(클라우드 연동 시스템 또는 클라우드 서비스 브로커(cloud service broker)로부터 서비스 제어 요청에 대한 수신 응답이다.
서비스 제어 확인 주기 생성부(4120)는 서비스 제어의 완료를 확인하기 위하여 서비스 제어 확인 주기를 생성할 수 있다.
이 때, 서비스 제어 확인 주기 생성부(4120) 는 서비스 제어 완료 시간을 예측하여 서비스 제어 확인 주기를 생성할 수 있다.
이 때, 서비스 제어 확인 주기 생성부(4120)는 히스토리 정보를 이용하여 서비스의 종류에 따라 서비스 제어 완료 시간을 예측할 수 있다.
이 때, 서비스 제어 확인 주기 생성부(4120)는 서비스 종류 별로 제어 요청
트랜잭션에 따른 서비스 제어 완료 시간이 포함된 히스토리 정보를 저장할 수 있다.
히스토리 정보는 사용자 설정에 따라 서비스 종류별로 통계 자료를 통해 입력될 수 있고, 과거 서비스 제어 완료 상태를 확인한 서비스 종류별 과거 서비스 제어 완료 시간을 저장한 정보에 상응할 수도 있다.
도 31은 본 발명의 일실시예에 따른 서비스 제어 완료 상태 확인 방법을 나타낸 동작흐름도이다.
도 31을 참조하면, 본 발명의 일실시예에 따른 서비스 제어 완료 상태 확인
방법은 먼저 서비스 제어를 요청할 수 있다(S4210).
즉, 단계(S4210)는 컴퓨팅 시스템(4010)에 서비스 제어를 요청할 수 있다.
이 때, 단계(S4210)는 사용자가 요청한 서비스 작업 수행을 위해서 서비스 제어 요청 메시지를 컴퓨팅 시스템(4010)에 송신하고, 제어 요청에 대한 확인 응답(ACK)을 컴퓨팅 시스템(4010)으로부터 수신할 수 있다.
또한, 본 발명의 일실시예에 따른 서비스 제어 완료 상태 확인 방법은 서비
스 제어 완료 확인 주기를 생성할 수 있다(S4220).
이 때, 단계(S4220)는 서비스 제어 주기 생성부(4120)를 이용하여 서비스 확인 주기를 생성하는 방법과 동일하므로 설명은 생략한다.
또한, 본 발명의 일실시예에 따른 서비스 제어 완료 상태 확인 방법은 서비스 제어 확인 통신을 수행할 수 있다(S4230).
즉, 단계(S4230)는 서비스 제어 확인 주기를 이용하여 컴퓨팅 시스템에 서비스 제어 확인 통신을 수행할 수 있다.
또한, 본 발명의 일실시예에 따른 서비스 제어 완료 상태 확인 방법은 서비스 제어 완료 확인 여부를 확인할 수 있다(S4240).
즉, 단계(S4240)는 서비스 제어 완료가 확인 된 경우, 서비스 제어 완료 상태를 업데이트 할 수 있고(S241, S4242, S4243), 서비스 제어 완료가 확인 되지 않은 경우, 검증 시한이 만료되었는지 여부를 확인할 수 있다(S4250).
이 때, 단계(S4241)는 먼저 서비스 제어 완료 시간을 히스토리 정보에 저장할 수 있다.
이 때, 단계(S4242)는 서비스 제어 완료 상태를 업데이트 할 수 있다.
이 때, 단계(S4243)는 서비스 제어 완료를 사용자에게 통보할 수 있다.
또한, 단계(S4250)는 검증 시한이 만료된 경우, 서비스 제어 실패 상태를 업데이트 할 수 있고(S4251, S4252, S4253), 검증 시한이 만료되지 않은 경우, 단계(S4220)로 되돌아가 서비스 제어 완료 확인 주기 생성을 재요청할 수 있다.
이 때, 단계(S4251)는 먼저 서비스 제어 실패 상태를 히스토리 정보에 저장할 수 있다.
이 때, 단계(S4252)는 서비스 제어 실패 상태를 업데이트 할 수 있다.
이 때, 단계(S4253)는 서비스 제어 실패를 사용자에게 통보할 수 있다.
도 32는 본 발명의 일실시예에 따른 스트리밍 서비스의 성능 확장 시스템을
나타낸 도면이다.
도 32를 참조하면, 본 발명의 일실시예에 따른 스트리밍 서비스의 성능 확장 시스템은 품질 관리 서버(5110), 사용자 장치(5120-1~ 5120-N), 스트리밍 서버(5130-1~ 5130-N) 및 네트워크(5140)를 포함한다.
사용자 장치(5120-1~5120-N)는 클라우드 기반의 스트리밍 서비스를 제공받는 장치를 의미할 수 있다. 예를 들어, 스마트폰, 핸드폰, 노트북 및 컴퓨팅 노드 등 영상을 제작 및 재생할 수 있는 기능을 갖는 기기일 수 있다.
스트리밍 서버(5130-1~5130-N)는 클라우드 기반의 스트리밍 서비스를 제공하는 역할을 할 수 있다. 예를 들어, 스트리밍 서버(5130-1~5130-N)는 사용자 장치(5120-1~120-N)로부터 입력되는 스트리밍 데이터에 대해서 디스크와 같은 저장 장치를 대상으로 데이터 입출력을 수행하여 스트리밍 서비스를 제공할 수 있다.
품질 관리 서버(5110)는 사용자 장치(5120-1~5120-N) 및 스트리밍 서버(5130-1~5130-N) 중 적어도 하나로부터 스트리밍 서비스에 대한 서비스 품질 정보를 수신하여 사용자 장치(120-1~120-N)에 대한 서비스 품질이 저하되는지 여부를 모니터링할 수 있다.
또한, 품질 관리 서버(5110)는 사용자 장치(5120-1~5120-N)에 대한 서비스 품질 관리를 위하여 스트리밍 서버(5130-1~5130-N)를 대상으로 품질 보장 활동을 실행할 수 있다.
예를 들어, 품질 보장 활동은 스트리밍 서버 이주, 스트리밍 서버 복제 및
스트리밍 서버의 입출력 성능 확장 복제 중 적어도 하나를 수행하는 것일 수 있다.
네트워크(5140)는 품질 관리 서버(5110), 사용자 장치(5120-1~5120-N) 및 스트리밍 서버(5130-1~5130-N) 사이에 데이터를 전달하는 통로를 제공하는 것으로서, 기존에 이용되는 네트워크 및 향후 개발 가능한 네트워크를 모두 포괄하는 개념이다.
예를 들어, 네트워크(5140)는 한정된 지역 내에서 각종 정보장치들의 통신을 제공하는 유무선근거리 통신망, 이동체 상호 간 및 이동체와 이동체 외부와의 통신을 제공하는 이동통신망, 위성을 이용해 지구국과 지구국간 통신을 제공하는 위성통신망이거나 유무선 통신망 중에서 어느 하나이거나, 둘 이상의 결합으로 이루어질 수 있다. 한편, 네트워크(5140)의 전송 방식 표준은, 기존의 전송 방식 표준에 한정되는 것은 아니며, 향후 개발될 모든 전송 방식 표준을 포함할 수 있다. 또한, 도 32 에서 품질 관리 서버(5110), 사용자 장치(5120-1~5120-N) 및 스트리밍 서버(5130-1~5130-N) 사이에 사용되는 네트워크는 사용자 장치(120-1~120-N) 상호간 또는 스트리밍 서버(5130-1~5130-N) 상호간에 사용되는 네트워크와 상이한 것일 수도 있고, 동일한 것일 수도 있다.
도 33은 본 발명의 일실시예에 따른 스트리밍 서비스의 성능 확장 방법을 나타낸 동작 흐름도이다.
도 33을 참조하면, 본 발명의 일실시예에 따른 스트리밍 서비스의 성능 확장 방법은 품질 관리 서버가, 사용자 장치 및 스트리밍 서버 중 적어도 하나로부터 서비스 품질 정보를 수신한다(S5210).
이 때, 사용자 장치와 스트리밍 서버는 각각 스트리밍 서비스가 동작하는 동안에 서비스 품질 정보를 수집 및 분석하여 품질 관리 서버로 전송할 수 있다.
이와 같은 사용자 장치와 스트리밍 서버에 대한 자세한 구성 및 동작은 도 34 내지 도 37을 통해 상세하게 설명하도록 한다.
이 때, 사용자 장치와 스트리밍 서버로부터 수신된 서비스 품질 정보는 별도의 품질 정보 데이터베이스(Database)에 저장할 수 있다.
또한, 본 발명의 일실시예에 따른 스트리밍 서비스의 성능 확장 방법은 품질 관리 서버가, 서비스 품질 정보를 이용하여 사용자 장치의 품질 저하 여부를 판단한다(S5220).
이 때, 품질 정보 데이터베이스에 저장된 서비스 품질 정보를 시간 정보를
바탕으로 추출하여 사용자 장치의 품질 저하 여부를 분석하는데 사용할 수 있다.
이 때, 사용자 장치의 읽기 응답시간이 기설정된 최대 응답시간보다 긴 상태 및 사용자 장치의 서비스 대역폭 크기가 기설정된 최소 대역폭 크기보다 작은 상태 중 적어도 하나의 상태가 기설정된 지속시간 이상 유지되는 경우, 사용자 장치의 품질이 저하된 것으로 판단할 수 있다.
이 때, 기설정된 지속시간은 스트리밍 서비스 관리자에 의해 자유롭게 설정 및 변경이 가능할 수 있다.
또한, 본 발명의 일실시예에 따른 스트리밍 서비스의 성능 확장 방법은 사용자 장치가 품질 저하로 판단되는 경우, 품질 관리 서버가 사용자 장치 및 스트리밍 서버 중 적어도 하나의 품질 상태를 고려하여 품질 보장 활동을 선택한다(S5230).
이 때, 사용자 장치의 읽기 응답시간, 사용자 장치의 서비스 대역폭 크기,
스트리밍 서버의 대역폭 사용량 및 스트리밍 서버에 연결된 사용자 수 중 적어도 하나를 고려하여 품질 보장 활동을 선택할 수 있다.
이 때, 스트리밍 서버의 대역폭 사용량이나 스트리밍 서버에 연결된 사용자수는 품질 저하가 있다고 판단되는 사용자 장치와 연관된 스트리밍 서버에 해당하는 정보일 수 있다.
이 때, 사용자 장치의 서비스 대역폭 크기가 기설정된 최소 대역폭 크기보다 작고, 스트리밍 서버에 연결된 사용자 수가 기설정된 최대 사용자 수보다 적되, 스트리밍 서버의 대역폭 사용량이 기설정된 최대 대역폭 사용량보다 큰 경우에 품질 보장 활동으로 스트리밍 서버 입출력 성능 확장 복제를 선택할 수 있다. 즉, 스트리밍 서버의 입출력을 수행하기 위한 대역폭의 여유 공간이 모두 소진된 것은 사용자 장치의 입출력 요구사항이 스트리밍 서버의 입출력 성능을 초과하는 것으로 판단하여, 스트리밍 서버의 입출력 성능을 향상시키기 위해 스트리밍 서버 입출력 성능 확장 복제를 수행할 수 있다.
또한, 사용자 장치의 읽기 응답시간이 기설정된 최대 응답시간보다 길고, 사용자 장치의 서비스 대역폭 크기가 기설정된 최소 대역폭 크기보다 크며, 스트리밍 서버의 대역폭 사용량이 기설정된 최대 대역폭 사용량보다 작은 경우에 품질 보장 활동으로 스트리밍 서버 이주를 선택할 수 있다. 이와 같은 경우, 사용자 장치의 서비스 대역폭이 충분하고 스트리밍 서버의 입출력 성능에도 문제가 없으므로, 사용자 장치와 스트리밍 서버 간의 거리가 멀거나 네트워크의 문제로 읽기 응답시간이 지연되는 것으로 판단하고 스트리밍 서버 이주를 수행할 수 있다.
또한, 사용자 장치의 서비스 대역폭 크기가 기설정된 최소 대역폭 크기보다 작고, 스트리밍 서버의 대역폭 사용량이 기설정된 최대 대역폭 사용량보다 크며, 스트리밍 서버에 연결된 사용자 수가 기설정된 최대 사용자 수보다 많을 경우에 품질 보장 활동으로 스트리밍 서버 복제를 선택할 수 있다.
또한, 본 발명의 일실시예에 따른 스트리밍 서비스의 성능 확장 방법은 품질보장 활동으로 스트리밍 서버 입출력 성능 확장 복제가 선택된 경우, 품질 관리 서버가 적어도 두 개의 노드들을 기반으로 스트리밍 서버의 스케일 업(Scale up)을 수행하여 서비스의 중단 없이 스트리밍 서비스의 성능을 확장한다(S5240).
이 때, 적어도 두 개의 노드들 중 어느 하나의 마스터(Master) 노드에 상응하는 스트리밍 서버로 스트리밍 데이터가 수신되는 경우에, 마스터 노드가 적어도 두 개의 노드들 중 마스터 노드를 제외한 나머지 슬레이브(Slave) 노드를 호출하여 스트리밍 데이터를 저장할 수 있다.
> 예를 들어, 클라우드 시스템에 포함된 복수개의 노드들 중에서 적어도 두 개 이상의 후보 노드들을 검색하고, 검색된 후보 노드들 중에서 어느 하나를 마스터 노드로 선정하고 마스터 노드를 제외한 나머지 후보 노드를 슬레이브 노드로 선정할 수 있다. 따라서, 마스터 노드는 하나의 노드일 수 있으며, 슬레이브 노드는 복수개가 선정되어 마스터 노드에 의해 호출되어 동작할 수 있다.
이 때, 마스터 노드에 가상 머신을 생성하여 슬레이브 노드를 호출하기 위한 원격 메모리 저장 관리 서브 모듈이 동작하는 스트리밍 서버를 가동시킬 수 있다.
또한, 슬레이브 노드에 가상 머신을 생성하여 스트리밍 데이터를 블록 레벨에서 복제하기 위한 로컬 메모리 저장 관리 서브 모듈이 동작하는 스트리밍 서버를가동시킬 수 있다.
이 때, 마스터 노드에 해당하는 스트리밍 서버에서 동작하는 원격 메모리 저장 관리 서브 모듈과 슬레이브 노드에 해당하는 스트리밍 서버에서 동작하는 로컬 메모리 관리 서브 모듈에 대해서는 도 37에서 상세히 설명하도록 한다.
추가로 로컬 메모리 저장 관리 서브 모듈은 기설정된 복제 주기 및 슬레이브 노드의 메모리 사용량 중 적어도 하나를 고려하여 스트리밍 데이터를 블록 장치에 복제할 수 있다. 예를 들어, 블록 장치는 HDD(HardDiskDrive)와 같은 저장 장치에 상응할 수 있다.
또한, 도 33에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 스트리밍 서비스의 성능 확장 방법은 품질 보장 활동이 완료되어 스트리밍 서버에서 품질 보장 활동에 의한 동작이 확인된 경우, 지속적으로 사용자 장치와 스트리밍 서버로 부터 서비스 품질 정보를 수신하여 품질 관리 및 성능 확장을 위한 단계를 수행할 수 있다.
또한, 도 33에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 스트리밍 서비스의 성능 확장 방법은 상술한 스트리밍 서비스의 성능 확장 과정에서 발생 하는 다양한 정보를 저장한다.
이와 같은 스트리밍 서비스의 성능 확장 방법을 이용함으로써, 안정적인 클라우드 스트리밍 서비스를 지원하기 위해 스트리밍 서비스를 중단하지 않고도 스케일 업 방식으로 스트리밍 서비스의 성능을 향상시킬 수 있다.
또한, 하드디스크드라이브와 같은 블록 장치를 이용한 데이터 저장 및 관리보다 좋은 성능의 원격 메모리 활용 방법을 제공함으로써 추가적인 하드웨어의 구매나 장착 없이도 클라우드 스트리밍 서비스의 입출력 성능을 향상시킬 수 있으며, 사용자 장치와 스트리밍 서버로부터 스트리밍 서비스의 품질과 관련된 정보를 주기적으로 취합하여 서비스 상태를 모니터링 할 수도 있다.
도 34는 도 32에 도시된 사용자 장치의 일 예를 나타낸 블록도이다.
도 34를 참조하면, 도 32에 도시된 사용자 장치(5120-1)는 영상 제작/재생 모듈(5121), 서비스 품질 정보 수집 모듈(5122), 서비스 품질 정보 분석 모듈(5123) 및 서비스 품질 정보 전송 모듈(5124)를 포함한다.
영상 제작/재생 모듈(5121)은 사용자가 만든 영상을 스트리밍 서버에 스트리밍 데이터로 전송하여 저장, 즉 쓰기를 요청하여 영상 제작을 수행하고, 스트리밍 서버에 특정 영상에 대한 스트리밍 데이터의 읽기를 요청하여 영상 재생을 수행할 수 있다.
서비스 품질 정보 수집 모듈(5122)은 사용자 장치(5120-1)가 스트리밍 서버에 스트리밍 데이터 쓰기 또는 읽기를 요청한 시간, 스트리밍 데이터 쓰기 또는 읽기 가 완료된 시간 및 사용자 장치(5120-1)가 스트리밍 서버에게 전송한 스트리밍 데이터 크기 혹은 사용자 장치(5120-1)가 스트리밍 서버로부터 전송 받은 스트리밍 데이터 크기 등을 측정할 수 있다.
예를 들어, 사용자 장치(5120-1)에서 영상을 재생하는 경우에는 다수의 스트리밍 데이터 읽기 요청이 발생할 수 있다. 이 때, 스트리밍 데이터 읽기를 요청한 시간, 스트리밍 데이터 읽기를 요청한 후에 스트리밍 데이터가 처음 도착하는 시간, 한번의 데이터 읽기 요청 후 사용자 장치(120-1)로 전송된 스트리밍 데이터의크기 등을 측정할 수 있다.
서비스 품질 정보 분석 모듈(5123)은 스트리밍 데이터의 쓰기 대역폭, 스트리밍 데이터 읽기 대역폭 및 응답 시간 등을 서비스 품질 속성으로 선택하여 산출할수 있다.
예를 들어, 사용자 장치(5120-1)에서 영상 제작하는 경우, 여러 번의 쓰기 요청이 발생할 수 있다. 서비스 품질 정보 수집 모듈(5122)로부터 스트리밍 데이터의 쓰기를 요청한 시간과 스트리밍 데이터의 쓰기 요청을 완료한 시간을 추출하여 쓰기 서비스 시간(WriteServiceTime)을 산출할 수 있다.
다른 예를 들어, 서비스 품질 정보 수집 모듈(122)로부터 스트리밍 데이터의 읽기를 요청한 시간과 스트리밍 데이터의 읽기 요청을 완료한 시간을 추출하여 읽기 서비스 시간(ReadServiceTime)을 산출할 수 있다.
또한, 서비스 품질 정보 분석 모듈(5123)은 도 35에 도시된 것과 같이, 읽기 및 쓰기 서비스 시간 동안 스트리밍 서버를 통해 전송된 데이터의 크기(WriteTotalStreamSize, ReadTotalStreamSize)를 산출함으로써 쓰기 서비스 대역폭(WriteServiceBandwidth), 읽기 서비스 대역폭(ReadServiceBandwidth)을 산출할 수 있다.
또한, 서비스 품질 정보 분석 모듈(5123)은 도 35에 도시된 것과 같이, 영상 재생 시 품질 속성으로 읽기 서비스 응답시간(ReadServiceResponseTime)을 산출할 수도 있다.
서비스 품질 정보 전송 모듈(124)은 서비스 품질 정보 분석 모듈(5123)에서 산출한 서비스 품질 정보를 품질 관리 서버로 전송할 수 있다.
도 36은 도 32에 도시된 스트리밍 서버의 일 예를 나타낸 블록도이다.
도 36을 참조하면, 도 32에 도시된 스트리밍 서버(5130-1)는 스트리밍 데이터 수신 모듈(5131), 스트리밍 데이터 송신 모듈(5132), 스트리밍 데이터 저장 관리모듈(5133), 서비스 품질 정보 수집 모듈(5134), 서비스 품질 정보 분석 모듈(5135) 및 서비스 품질 정보 전송 모듈(5136)을 포함한다.
스트리밍 데이터 수신 모듈(5131)은 스트리밍 서버(5130-1)로 입력되는 스트리밍 데이터를 스트리밍 데이터 저장 관리 모듈(5133)을 통해 저장, 즉 쓰기(출력)연 산을 수행할 수 있다.
스트리밍 데이터 송신 모듈(5132)은 스트리밍 서버(5130-1)로 읽기 요청된 스트리밍 데이터를 스트리밍 데이터 저장 관리 모듈(133)을 통해 읽기(입력) 연산을 수행할 수 있다.
스트리밍 데이터 저장 관리 모듈(133)은 도 37에 도시된 것과 같이, 블록 장치 저장 관리 서브 모듈(5610), 원격 메모리 저장 관리 서브 모듈(5620) 및 로컬 메모리 저장 관리 서브 모듈(5630)로 구성될 수 있다.
기본적으로 스트리밍 데이터 저장 관리 모듈(5133)은 블록 장치 저장 관리 서브 모듈(5610)을 바탕으로 데이터를 저장 및 관리할 수 있다. 이 때, 블록 장치 저장 관리 서브 모듈(5610)은 HDD(HardDiskDrive)와 같은 물리적인 블록 장치를 기반 으로 스트리밍 데이터를 저장 및 관리할 수 있다.
이 때, 원격 메모리 저장 관리 서브 모듈(5620)과 로컬 메모리 저장 관리 서브 모듈(5630)은 품질 관리 서버가 품질 보장 활동으로 스트리밍 서버(5130-1)의 데이터 입출력 성능 확장을 포함하여 복제하고자 하는 경우에만 사용될 수 있다.
원격 메모리 저장 관리 서브 모듈(5620)은 스트리밍 서버(5130-1)로 들어온 스트리밍 서비스를 다른 스트리밍 서버의 스트리밍 서비스를 호출함으로써 처리할 수 있다. 이 때, 스트리밍 서버(5130-1)가 호출한 다른 스트리밍 서버를 도 32에 도시된 스트리밍 서버(5130-2)라고 가정한다면, 스트리밍 서버(5130-2)의 로컬 메모리 저장관리 서브 모듈이 로컬 메모리를 대상으로 데이터 입출력을 수행할 수 있다.
로컬 메모리 저장 관리 서브 모듈(5630)은 비동기적 쓰기 요청에 의해 메모리에 저장된 데이터를 HDD와 같은 블록 장치에 복제할 수 있다.
이 때, 메모리 데이터를 블록 장치에 복제하는 연산은 특정 시간을 주기로
수행되거나 메모리 크기의 특정 임계치만큼 데이터가 차는 경우에 수행될 수 있다.
스트리밍 서버(5130-1)에서 품질 관리를 위한 서비스 품질 정보 수집 모
듈(5134), 서비스 품질 정보 분석 모듈(5135) 및 서비스 품질 정보 전송 모듈(5136)은 앞서 도 34에서 설명한 사용자 장치(5120-1)의 서비스 품질 정보 수집 모듈(5122), 서비스 품질 정보 분석 모듈(5123) 및 서비스 품질 정보 전송 모듈(5124)과 유사한 기능을 수행할 수 있다.
단, 스트리밍 서버(5130-1)의 서비스 품질 정보 수집 모듈(5134)에서 측정하는 품질 정보는 스트리밍 데이터 저장 관리 모듈(5133)에서 동작 중인 저장 관리 서브 모듈의 스트리밍 데이터 쓰기 및 읽기 대역폭과 서비스 사용자 수를 포함한다는 점에서 사용자 장치(5120-1)의 서비스 품질 정보 수집 모듈(5122)과 차이가 있을 수 있다.
도 38은 본 발명에 따른 품질 보장 활동을 결정하기 위한 프로세스의 일 예를 나타낸 도면이다.
도 38을 참조하면, 본 발명에 따라 품질 보장 활동을 결정하기 위해서는 사용자 장치의 읽기 응답시간(RS_RTuserDevice(Uj)), 사용자 장치의 읽기 및 쓰기를 위한 서비스 대역폭(RW_ABuserDevice(Uj)), 스트리밍 서버의 읽기 및 쓰기를 위한 대역 폭(RW_ABstreamServer(Sj)) 및 스트리밍 서버에 연결된 사용자 수(UserNumstreamServer(Sj)) 가 기준 요소로 작용하는 것을 알 수 있다.
이러한 기준 요소들을 고려하여 품질 보장 활동을 결정하는 과정은 다음과
같다.
예를 들어, 도 38에 도시된 것과 같이, 사용자 장치의 읽기 응답시간(RS_RTuserDevice(Uj))이 기설정된 최대 응답시간(Max Value)보다 길고, 사용자 장치의 서비스 대역폭(RW_ABuserDevice(Uj))의 크기가 기설정된 최소 대역폭 크기(Min Value)보다 크며, 스트리밍 서버의 대역폭(RW_ABstreamServer(Sj)) 사용량이 기설정된 최대 대역폭 사용량(Max Value)보다 작은 경우에는 사용자 장치와 스트리밍 서버의 거리가 멀거나 네트워크에 문제가 있는 것으로 판단하고 스트리밍 서버를 이동시킬 수 있다.
다른 예를 들어, 도 38에 도시된 것과 같이, 사용자 장치의 서비스 대역 폭(RW_ABuserDevice(Uj)) 크기가 기설정된 최소 대역폭 크기(Min Value)보다 작고, 스트리밍 서버의 대역폭(RW_ABstreamServer(Sj)) 사용량이 기설정된 최대 대역폭 사용량(Max Value)보다 크며, 스트리밍 서버에 연결된 사용자수(UserNumstreamServer(Sj))가 기설정된 최대 사용자 수(Max Value)보다 많을 경우에는 스트리밍 서버의 복제가 필요한 것으로 판단하고 스트리밍 서버 복제를 수행할 수 있다.
또 다른 예를 들어, 도 38에 도시된 것과 같이, 사용자 장치의 서비스 대역 폭(RW_ABuserDevice(Uj))크기가 기설정된 최소 대역폭 크기(Min Value)보다 작고, 스트리밍 서버에 연결된 사용자 수(UserNumstreamServer(Sj))가 기설정된 최대 사용자 수(Max Value)보다 적되, 스트리밍 서버의 대역폭(RW_ABstreamServer(Sj)) 사용량이 기설정된 최대 대역폭 사용량(Max Value)보다 큰 경우에는 스트리밍 서버의 입출력 대역폭이 모두 소진된 것은 사용자 장치의 입출력 성능 요구사항이 스트리밍 서버의 입출력 성능을 초과하는 것으로 판단하여, 스트리밍 서버의 입출력 성능 확장을 포함한 복제를 수행할 수 있다.
도 39는 도 32에 도시된 품질 관리 서버의 일 예를 나타낸 블록도이다.
도 39를 참조하면, 도 32에 도시된 품질 관리 서버(110)는 수신부(810), 판단부(820), 연산부(830), 제어부(840), 품질 정보 DB(850) 및 저장부(860)를 포함한다.
수신부(810)는 사용자 장치 및 스트리밍 서버 중 적어도 하나로부터 서비스품질 정보를 수신한다.
이 때, 사용자 장치와 스트리밍 서버는 각각 스트리밍 서비스가 동작하는 동 안에 서비스 품질 정보를 수집 및 분석하여 품질 관리 서버로 전송할 수 있다.
이와 같은 사용자 장치와 스트리밍 서버에 대한 자세한 구성 및 동작은 도 34 내지 도 37을 통해 설명하였으므로 생략하도록 한다.
이 때, 사용자 장치와 스트리밍 서버로부터 수신된 서비스 품질 정보는 품질정보 DB(5850)에 저장할 수 있다.
판단부(5820)는 서비스 품질 정보를 이용하여 사용자 장치의 품질 저하 여부를 판단한다.
이 때, 품질 정보 DB(5850)에 저장된 서비스 품질 정보를 시간 정보를 바탕으로 추출하여 사용자 장치의 품질 저하 여부를 분석하는데 사용할 수 있다.
이 때, 사용자 장치의 읽기 응답시간이 기설정된 최대 응답시간보다 긴 상태 및 사용자 장치의 서비스 대역폭 크기가 기설정된 최소 대역폭 크기보다 작은 상태 중 적어도 하나의 상태가 기설정된 지속시간 이상 유지되는 경우, 사용자 장치의 품질이 저하된 것으로 판단할 수 있다.
이 때, 기설정된 지속시간은 스트리밍 서비스 관리자에 의해 자유롭게 설정
및 변경이 가능할 수 있다.
연산부(5830)는 사용자 장치가 품질 저하로 판단되는 경우, 사용자 장치 및 스트리밍 서버 중 적어도 하나의 품질 상태를 고려하여 품질 보장 활동을 선택한다
이 때, 사용자 장치의 읽기 응답시간, 사용자 장치의 서비스 대역폭 크기, 스트리밍 서버의 대역폭 사용량 및 스트리밍 서버에 연결된 사용자 수 중 적어도 하나를 고려하여 품질 보장 활동을 선택할 수 있다.
이 때, 스트리밍 서버의 대역폭 사용량이나 스트리밍 서버에 연결된 사용자
수는 품질 저하가 있다고 판단되는 사용자 장치와 연관된 스트리밍 서버에 해당하는 정보일 수 있다.
이 때, 사용자 장치의 서비스 대역폭 크기가 기설정된 최소 대역폭 크기보다 작고, 스트리밍 서버에 연결된 사용자 수가 기설정된 최대 사용자 수보다 적되, 스트리밍 서버의 대역폭 사용량이 기설정된 최대 대역폭 사용량보다 큰 경우에 품질 보장 활동으로 스트리밍 서버 입출력 성능 확장 복제를 선택할 수 있다. 즉, 스트리밍 서버의 입출력을 수행하기 위한 대역폭의 여유 공간이 모두 소진된 것은 사용자 장치의 입출력 성능 요구사항이 스트리밍 서버의 입출력 성능을 초과하는 것으로 판단하여, 스트리밍 서버의 입출력 성능을 향상시키기 위해 스트리밍 서버 입출력 성능 확장 복제를 수행할 수 있다.
또한, 사용자 장치의 읽기 응답시간이 기설정된 최대 응답시간보다 길고, 사용자 장치의 서비스 대역폭 크기가 기설정된 최소 대역폭 크기보다 크며, 스트리밍 서버의 대역폭 사용량이 기설정된 최대 대역폭 사용량보다 작은 경우에 품질 보장 활동으로 스트리밍 서버 이주를 선택할 수 있다. 이와 같은 경우, 사용자 장치의 서비스 대역폭이 충분하고 스트리밍 서버의 입출력 성능에도 문제가 없으므로, 사용자 장치와 스트리밍 서버 간의 거리가 멀거나 네트워크의 문제로 읽기 응답시간 이 지연되는 것으로 판단하고 스트리밍 서버 이주를 수행할 수 있다.
또한, 사용자 장치의 서비스 대역폭 크기가 기설정된 최소 대역폭 크기보다 작고, 스트리밍 서버의 대역폭 사용량이 기설정된 최대 대역폭 사용량보다 크며, 스트리밍 서버에 연결된 사용자 수가 기설정된 최대 사용자 수보다 많을 경우에 품질 보장 활동으로 스트리밍 서버 복제를 선택할 수 있다.
제어부(5840)는 스트리밍 서버 입출력 성능 확장 복제가 선택된 경우, 적어도 두 개의 노드들을 기반으로 스트리밍 서버의 스케일 업(Scale up)을 수행하여 서비스의 중단 없이 스트리밍 서비스의 성능을 확장한다.
이 때, 적어도 두 개의 노드들 중 어느 하나의 마스터(Master) 노드에 상응
하는 스트리밍 서버로 스트리밍 데이터가 수신되는 경우에, 마스터 노드가 적어도 두 개의 노드들 중 마스터 노드를 제외한 나머지 슬레이브(Slave) 노드를 호출하여 스트리밍 데이터를 저장할 수 있다.
예를 들어, 클라우드 시스템에 포함된 복수개의 노드들 중에서 적어도 두 개 이상의 후보 노드들을 검색하고, 검색된 후보 노드들 중에서 어느 하나를 마스터 노드로 선정하고 마스터 노드를 제외한 나머지 후보 노드를 슬레이브 노드로 선정 할 수 있다. 따라서, 마스터 노드는 하나의 노드일 수 있으며, 슬레이브 노드는 복수개가 선정되어 마스터 노드에 의해 호출되어 동작할 수 있다.
이 때, 마스터 노드에 가상 머신을 생성하여 슬레이브 노드를 호출하기 위한 원격 메모리 저장 관리 서브 모듈이 동작하는 스트리밍 서버를 가동시킬 수 있다.
또한, 슬레이브 노드에 가상 머신을 생성하여 스트리밍 데이터를 블록 레벨에서 복제하기 위한 로컬 메모리 저장 관리 서브 모듈이 동작하는 스트리밍 서버를 가동시킬 수 있다.
이 때, 마스터 노드에 해당하는 스트리밍 서버에서 동작하는 원격 메모리 저장 관리 서브 모듈과 슬레이브 노드에 해당하는 스트리밍 서버에서 동작하는 로컬 메모리 관리 서브 모듈에 대해서는 도 37에서 설명하였으므로 상세한 설명은 생략하도록 한다.
이 때, 로컬 메모리 저장 관리 서브 모듈은 기설정된 복제 주기 및 슬레이브 노드의 메모리 사용량 중 적어도 하나를 고려하여 스트리밍 데이터를 블록 장치에 복제할 수 있다. 예를 들어, 블록 장치는 HDD(HardDiskDrive)와 같은 저장 장치에 상응할 수 있다.
저장부(5860)는 상술한 바와 같이 본 발명의 일실시예에 따른 품질 관리 서버에서 발생하는 다양한 정보를 저장한다.
실시예에 따라, 저장부(5860)는 품질 관리 서버와 독립적으로 구성되어 스트리밍 서비스의 성능 확장을 위한 기능을 지원할 수 있다. 이 때, 저장부(5860)는 별도의 대용량 스토리지로 동작할 수 있고, 동작 수행을 위한 제어 기능을 포함할 수 도 있다.
한편, 품질 관리 서버는 메모리가 탑재되어 그 장치 내에서 정보를 저장할
수 있다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.
또한, 본 발명의 일실시예에 따른 품질 관리 서버는 스트리밍 서버에서 품질 보장 활동에 의한 동작이 확인된 경우, 지속적으로 사용자 장치와 스트리밍 서버로 부터 서비스 품질 정보를 수신하여 품질 관리 및 성능 확장을 수행할 수 있다.
이와 같은 품질 관리 서버를 통해, 안정적인 클라우드 스트리밍 서비스를 지원하기 위해 스트리밍 서비스를 중단하지 않고도 스케일 업 방식으로 스트리밍 서비스의 성능을 향상시킬 수 있다.
또한, 하드디스크드라이브와 같은 블록 장치를 이용한 데이터 저장 및 관리보다 좋은 성능의 원격 메모리 활용 방법을 제공함으로써 추가적인 하드웨어의 구매나 장착 없이도 클라우드 스트리밍 서비스의 입출력 성능을 향상시킬 수 있으며, 사용자 장치와 스트리밍 서버로부터 스트리밍 서비스의 품질과 관련된 정보를 주기적으로 취합하여 서비스 상태를 모니터링 할 수도 있다.
도 40은 본 발명의 일실시예에 따른 스트리밍 서버 입출력 성능 확장 복제 과정을 나타낸 동작 흐름도이다.
도 40을 참조하면, 본 발명의 일실시예에 따른 스트리밍 서버 입출력 성능 확장 복제 과정은 먼저 품질관리 서버가, 입출력 성능 확장 복제를 위하여 적어도 두 개 이상의 후보 노드들을 검색하고 선택할 수 있다(S5910).
이 후, 적어도 두 개 이상의 후보 노드들 중에 어느 하나를 마스터(master)
노드로 선정하고, 나머지 노드는 슬레이브(slave) 노드로 선정할 수 있다(S5920).
이 후, 품질 관리 서버는, 마스터 노드에 가상 머신을 생성하여 슬레이브 노 드를 호출하기 위한 원격 메모리 저장 관리 서브 모듈이 동작하는 스트리밍 서버를 가동시킬 수 있다. 또한, 품질 관리 서버는, 슬레이브 노드에 가상 머신을 생성하여 스트리밍 데이터를 블록 레벨에서 복제하기 위한 로컬 메모리 저장 관리 서브 모듈이 동작하는 스트리밍 서버를 가동시킬 수 있다(S5930).
이 후, 품질 관리 서버는, 마스터 노드와 슬레이브 노드에 연결하여 가동 여부를 확인함으로써 입출력 성능 확장 복제를 확인할 수 있다(S5940).
이 후, 품질 관리 서버는, 클라우드 기반의 스트리밍 서비스 구조 정보를 업데이트 할 수 있다(S5950).
도 41은 본 발명에 따른 스트리밍 서버 입출력 성능 확장 복제에 의한 스트
리밍 서비스 제공 과정을 나타낸 도면이다.
도 41을 참조하면, 본 발명에 따른 스트리밍 서버 입출력 성능 확장 복제에
의한 스트리밍 서비스 제공 과정은 먼저, 사용자가 사용자 장치(6010)를 통해 영상을 제작하고 마스터 노드(6020)에 상응하는 스트리밍 서버로 제작한 영상의 저장을 요청할 수 있다.
이 때, 사용자 장치(6010)는 마스터 노드(6020)에 상응하는 스트리밍 서버로 스트리밍 데이터를 전송할 수 있다.
이 때, 마스터 노드(6020)에 상응하는 스트리밍 서버는 사용자 장치로부터
수신된 데이터를 스트리밍 데이터 저장 관리를 통해 저장을 요청할 수 있다.
이 때, 마스터 노드(6020)의 스트리밍 데이터 저장 관리 모듈은 이를 저장할 슬레이브 노드(6021, 6022)에 상응하는 스트리밍 서버로 해당 데이터를 전송할 수 있다.
이 후, 슬레이브 노드(6021, 6022)에 상응하는 스트리밍 서버는 데이터를 수신하고, 수신된 데이터를 로컬 메모리에 저장할 수 있다.
도 42는 다중 클라우드 기반의 클라우드 서비스 브로커리지를 이용하여 가상 클라우드 서비스를 제공하는 일 실시예를 개시한 도면이다. 이 도면은 클라우드 서비스가 사용자 맞춤형 서비스(cloud service customization)을 구현할 수 있는 실시예를 개시한다.
이 실시예는, 클라우드 서비스 프로바이더(cloud service provider; CSP)(7110, 7120, 7130), 클라우드 서비스 브로커(cloud service broker; CSB)(7200) 및 클라우드 서비스 클라이언트(cloud service client; CSC)(7300)을 포함한다.
클라우드 서비스 브로커(7200)는 클라우드 서비스 클라이언트(7300)로부터 요구사항에 따른 가상 클라우드 서비스를 요청받는다.
클라우드 서비스 브로커(7200)는 클라우드 서비스 프로바이더들(7110, 7120, 7130)로부터 해당 프로바이더들이 제공할 수 있는 여러 가지 서비스들을 서비스 카탈로그를 통해 클라우드 서비스 클라이언트(7300)로 제공할 수 있다.
클라우드 서비스 클라이언트(7300)는 서비스 카탈로그에 있는 서비스들 이외의 서비스를 서비스 요구사항들에 맞게 클라우드 서비스 브로커에 요청할 수 있다. 서비스 요구사항들은 다양한 파라미터를 활용하여 생성할 수 있는데, 예를 들어 파라미터는 서비스 이름, 요구되는 리소스의 양, 요구되는 서비스 레벨들, 요구되는 소프트웨어, 필요한 구성 및 컨피그레이션(configuration) 등을 포함할 수 있다.
클라우드 서비스 브로커(7200)는 클라우드 서비스 클라이언트(7300)가 요청한 서비스를 서비스 카탈로그의 기존 서비스들로부터 찾는다.
클라우드 서비스 브로커(7200)와 클라우드 서비스 클라이언트(7300)는 공통의 서비스 요구사항에 대한 템플릿(cloud service requirement templet)을 공유하고 있어서, 클라우드 서비스 브로커(7200)는 클라우드 서비스 클라이언트(7300)의 요구사항을 이해할 수 있도록 할 수 있다.
서비스 요구사항에 대한 템플릿(cloud service requirement templet)은 클라우드 서비스의 SLA에 대한 정보로서, 퀄리티, 클라우드 서비스의 퀄리티, 가격, 정책 위반 등에 대한 정보를 포함할 수 있다. 서비스 요구사항에 대한 템플릿(cloud service requirement templet)는 또한 클라우드 서비스의 상세한 내용, 예를 들면 가상 머신, OS 타입, 애플리케이션 등에 대한 정보를 제공할 수 있다.
그리고, 클라우드 서비스 브로커(7200)가 그 요청한 서비스의 요구사항을 만족하지 못하거나 해당 서비스를 찾지 못하는 경우 클라우드 서비스 브로커(7200)는 서비스 카탈로그에 포함된 서비스들의 일부 또는 전부를 이용하여 서비스 생성 과정을 통해 사용자가 원하는 맞춤형 서비스를 생성할 수 있다.
이 도면에서는 클라우드 서비스 브로커(7200)가 기존 서비스들의 일부 또는 전부에 대해 인터그레이션 또는 컨피그레이션(integration 또는 configuration) 과정을 통해 사용자 맞춤형 서비스를 생성하는 예를 개시한다.
이렇게 생성한 클라우드 서비스 브로커(7200)는 생성한 맞춤형 서비스를 서비스 카탈로그에 새로 등록할 수 있다.
그리고, 클라우드 서비스 브로커(7200)는 클라우드 서비스 클라이언트(7300)에 맞춤형 서비스에 대한 내용을 알려주고, 클라우드 서비스 클라이언트(7300)는 이를 기초로 맞춤형 서비스를 사용할지 여부를 결정할 수 있다.
즉, 사용자 맞춤형 서비스를 생성(service customization)하는 경우, 클라우드 서비스 브로커(7200)는 프로세스 기능들과 새로운 데이터들을 레이어링(layering)하거나 조합 등의 기능들을 활용하여 새로운 맞춤형 서비스를 생성할 수 있다.
클라우드 서비스 브로커(7200)는 클라우드 서비스 프로바이더들(7110, 7120, 7130)로부터 각각 제공 가능한 클라우드 서비스를 모아 클라우드 서비스의 리스트를 포함하는 클라우드 서비스 카탈로그를 생성하고 이를 관리하며, 새로 생성된 맞춤형 클라우드 서비스를 클라우드 서비스 카탈로그에 추가할 수 있다.
클라우드 서비스 브로커(7200)는 클라우드 서비스에 대한 요청들을 수신하여 클라우드 서비스 클라이언트(7300)을 대신해 여러 개의 클라우드 서비스 프로바이더들(7110, 7120, 7130)의 클라우드 서비스 오더링들을 처리할 수 있다. 이를 클라우드 서비스 컴바인드 오더링(cloud service combined ordering)으로 호칭한다.
한편, 클라우드 서비스 브로커(7200)는 클라우드 서비스 프로바이더들(7110, 7120, 7130)로부터 모은 클라우드 서비스 카탈로드들을 적절히 조합하고, 클라우드 서비스 인터그레이션(cloud service integration) 및 맞춤형 클라우드 서비스(cloud service customization)을 수행하여 이를 제공하는 이때 라우드 서비스 카탈로드들을 적절히 조합하는 것을 클라우드 서비스 오케스트레이션(cloud service orchestration)이라고 호칭한다.
참고로 클라우드 서비스 브로커(7200)가 클라우드 서비스 프로바이더들(7110, 7120, 7130)로부터 수신한 여러 개의 클라우드 서비스를 단순히 변화없이 모으는 것은 클라우드 서비스 어그리게이션(cloud service aggregation)이라고 한다. 한편, 클라우드 서비스 브로커(7200)가 클라우드 서비스 프로바이더들(7110, 7120, 7130)로부터 수신한 여러 개의 클라우드 서비스를 변경하고 조화시켜 원래 서비스와 가치적으로 다른 서비스를 생성하는 것은 클라우드 서비스 인터그레이션(cloud service integration)이라고 한다.
한편, 클라우드 서비스 브로커(7200)와 클라우드 서비스 클라이언트(7300)는 맞춤형 서비스를 사용하기 위한 서비스 레벨 어그리먼트(service level agreement;SLA)를 생성할 수 있다.
클라우드 서비스 어그리게이션(cloud service aggregation)이 수행될 경우 클라우드 서비스 브로커(7200)는 통합하여 단일화된 SLA에 따라 다수의 클라우드 서비스 프로바이더들(7110, 7120, 7130)에서 제공하는 클라우드 서비스의 단일화된 라이프 사이클을 관리할 수 있다.
클라우드 서비스 브로커(7200)가 등록된 서비스들에 대해 맞춤형 클라우드 서비스(cloud service customization)를 생성하지 못하는 경우 관련 클라우드 서비스 프로바이더들(7110, 7120, 7130)에 요청하여 등록된 서비스를 맞춤형으로 변경하도록 할 수 있다.
클라우드 서비스 마이그레이션(migration)이 있는 경우 클라우드 서비스 브로커(7200)는 서비스 카탈로그를 찾아 현재 제공되는 서비스와 동일하거나 동급의 서비스를 선택하여, 클라우드 서비스 마이그레이션(migration)이 발생한 경우 동일하거나 동급의 서비스이 지속적으로 유지되도록 할 수 있다.
또한 클라우드 서비스 마이그레이션(migration)과정동안 데이터의 손실을 막기 위해 새로운 서비스의 준비상태를 검토하는데, 클라우드 서비스 브로커(7200)가 그 준비상태를 검증할때까지 기존 서비스가 종료되는 것을 연장하도록 할 수 있다.
도 43는 다중 클라우드 기반의 클라우드 서비스 브로커리지를 이용하여 가상 클라우드 서비스를 제공하는 다른 일 실시예를 개시한 도면이다. 이 도면을 이용하여 제공되었거나 요청한 클라우드 서비스를 취소하는 과정(service cancellation)을 설명하면 다음과 같다. 클라우드 서비스 브로커리지를 이용하여 클라우드 서비스를 제공하는 실시예는, 클라우드 서비스 프로바이더(CSP)(8100), 클라우드 서비스 브로커(Cloud service partner; CSN: Cloud Service Broker)(8200) 및 클라우드 서비스 클라이언트(CSC)(8300)를 포함할 수 있다. 개시하는 실시예들에서 클라우드 서비스 브로커(Cloud Service Broker)는 클라우드 서비스 파트너(Cloud service partner; CSN)의 서브 역할을 의미하는 것로서, 이 도면과 같이 클라우드 서비스 브로커(CSN: Cloud Service Broker)로 표현한다.
클라우드 서비스 프로바이더(CSP)(8100)는 클라우드 서비스를 등록하고 취소할 수 있다.
클라우드 서비스 프로바이더(CSP)(8100)는 클라우드 서비스 브로커(CSN)(8200)에서 관리되는 클라우드 서비스의 조건과 상태에 대한 정보를 수신할 수 있다.
클라우드 서비스 프로바이더(CSP)(8100)와 클라우드 서비스 브로커(CSN)(8200)는 정상적인 계약이 수행된 이후에 서비스 취소가 이루어질 수 있다. 서비스 취소(service cancellation)는 클라우드 서비스 프로바이더(CSP)(8100)나 클라우드 서비스 브로커(CSN)(8200)의 요청에 따라 수행될 수 있다. 클라우드 서비스 프로바이더(CSP)(8100)는 클라우드 서비스가 제공되는 동안 내부적인 요소, 예를 들면 서비스의 변경이나 서비스 활용이 불가능한 경우에 서비스를 취소할 수 있다. 클라우드 서비스 브로커(CSN)(8200) 또한 클라우드 서비스 프로바이더(CSP)(8100)가 계약 사항을 지키지 못하는 등의 경우에 클라우드 서비스를 취소를 요청할 수 있다.
서비스 취소는 클라우드 서비스 브로커(CSN)(8200)와 클라우드 서비스 프로바이더(CSP)(8100) 사이에 합의에 의해 취소될 때 클라우드 서비스 브로커(CSN)(8200)는 클라우드 서비스 클라이언트(CSC)(8300)가 요청한 서비스를 찾거나 선택하도록 하는 것을 금지시키거나 중단시키고 서비스 카탈로그에서 워크스페이스 상의 해당 서비스를 제거한다.
클라우드 서비스 브로커(CSN)(8200)는 서비스 사용을 위해 연결된 클라우드 서비스 클라이언트(CSC)(8300)에 문의하여 등록된 서비스 클라이언트(CSC) (8300)에 서비스 취소를 통지한다. 서비스 클라이언트(CSC) (8300)가 위 통지 당시 서비스를 사용하고 있는 경우 클라우드 서비스 브로커(CSN)(8200)는 클라우드 서비스 클라이언트(CSC)(8300)가 해당 서비스를 사용할 때까지 그 서비스가 유지되도록 클라우드 서비스 프로바이더(CSP)(8100)에 요청할 수 있다. 그리고 클라우드 서비스 브로커(CSN)(8200)는 클라우드 서비스 브로커(CSN)(8200)와 클라우드 서비스 클라이언트(CSC)(8300) 사이의 클라우드 서비스에 대응하는 계약을 취소하거나 또는 서비스 취소를 고려하여 새로 갱신할 수 있다.
클라우드 서비스 브로커(CSN)(8200)가 서비스 취소를 완료하기 위해 클라우드 서비스 브로커(CSN)(8200)는 내부 취소 과정을 동작시킬 수 있다. 클라우드 서비스 브로커(CSN)(8200)는 서비스 카탈로그 상에서 취소된 서비스의 등록을 없애고 모니터링, 클라우드 서비스 클라이언트(CSC)(8300)의 계정과 같은 관련 정보를 삭제하거나 무효화 또는 비활성화시킬 수 있다. 클라우드 서비스 브로커(CSN)(8200)는, 클라우드 서비스 클라이언트(CSC)(8300)가 클라우드 서비스 프로바이더(CSP)(8100)와 연결되도록 하는 클라우드 서비스 프로바이더(CSP)(8100)의 API 또한 동작되지 않도록 하여 서비스 접근을 막을 수 있다.
클라우드 서비스 브로커(CSN)(8200)는 클라우드 서비스 프로바이더(CSP)(8100) 에 서비스 취소가 왼료되었음을 통지할 수 있다.
따라서, 실시예에서 개시하는 바와 같이 클라우드 서비스 프로바이더(CSP)(8100)와 클라우드 서비스 브로커(CSN)(8200) 사이의 계약에 의해 클라우드 서비스 브로커(CSN)(8200)는 서비스 카탈로그에 등록된 클라우드 서비스를 취소할 수 있다.
서비스 취소과정은 서비스 취소가 확인된 이후에 클라우드 서비스 브로커(CSN)(8200)의 관리에 따라 자동적으로 진행될 수도 있다.
클라우드 서비스 브로커(CSN)(8200)는 서비스 취소 통지를 클라우드 서비스 클라이언트(CSC)(8300)에 보내 해당 서비스를 사용하지 않도록 할 수 있다.
클라우드 서비스 클라이언트(CSC)(8300)가 사용 중이 서비스에 대한 취소 통지를 받은 경우, 클라우드 서비스 브로커(CSN)(8200)는 클라우드 서비스 클라이언트(CSC)(8300)의 사용 종료 후 서비스가 취소되도록 클라우드 서비스 프로바이더(CSP)(8100)에 요청할 수 있다.
도 44는 다중 클라우드 기반의 클라우드 서비스 브로커리지를 이용하여 가상 클라우드 서비스를 제공하는 다른 일 실시예를 개시한 도면이다. 이 도면을 이용하여 맞춤형 서비스 제공 계약와 이행에 대해 클라우드 서비스 브로커리지의 동작을 설명하면 다음과 같다.
이 도면의 실시예는 위에서 설명한 바와 같이 서비스 레벨 어그리먼트(service level agreement; 이하 SLA)를 성립하는 예를 개시한다. 이 실시예는 클라우드 서비스 프로바이더(8100), 클라우드 서비스 브로커(8200), 및 클라우드 서비스 클라이언트(cloud service client; CSC) (8300)를 포함한다.
SLA는 클라우드 서비스 계약의 일부로서, 서비스 레벨 객체(service level objectives) 및 제공하는 클라우드 서비스의 서비스 품질 객체 (service qualitative objectives)를 포함한다.
클라우드 서비스 브로커(8200)내 계약 관리를 수행하는 로지컬 컴포넌트는 클라우드 서비스 브로커와 CSC 사이의 SLA 계약을 관리한다.
SLA는, 클라우드 서비스에 대한 상세한 설명, 서비스 퀄리티에 따른 서비스 레벨, 클라우드 서비스의 가격, 계약 내용에 맞지 않는 서비스의 경우의 조치와 같이 계약에 대한 전체 합의 사항을 포함할 수 있다. 각 클라우드 브로커리지에 따른 클라우드 서비스의 로지컬 컴포넌트(logical components)는 SLA를 생성하고 이를 CSC(8300)에 알린다. 서비스가 정해진 서비스 레벨에 맞지 않으면 계약 관리의 로지컬 컴포넌트는 클라우드 서비스 브로커와 CSC 사이의 SLA 계약이 지켜지지 않는 것에 대한 조치사항을 강제하도록 할 수 있다. 계약 관리의 로지컬 컴포넌트는 CSC가 요청하는 최적의 클라우드 서비스를 찾아 서비스를 구성하는데 관련될 수 있다.
클라우드 서비스 브로커(8200)는 서비스 레벨을 모니터링하고 검증하여 SLA 계약사항이 제대로 수행되지 않는지 검출할 수 있다.
클라우드 서비스 클라이언트(CSC)(8300)은 클라우드 서비스를 소비할 클라우드 서비스 브로커(8200)와 통신하므로 클라우드 서비스 브로커(8200)가 클라우드 서비스 클라이언트(CSC)(8300)와 SLA 성립을 담당한다. 그리고, 클라우드 서비스 프로바이더(CSP)(8100)가 클라우드 서비스 브로커리지(CSB)에 서비스 레벨의 정보를 제공하여 클라우드 서비스 브로커리지(CSB)는 실행 가능한 서비스 레벨에 대한 정보를 알 수 있다.
클라우드 서비스 프로바이더(CSP)(8100)가 클라우드 서비스 브로커(CSN)(8200)를 통해 클라우드 서비스를 제공하기로 한 경우, 클라우드 서비스 프로바이더(CSP)(8100)는 클라우드 서비스 브로커(CSN)(8200)의 워크 스페이스 내에 서비스 레벨을 포함하는 클라우드 서비스 정보를 등록한다. 예를 들어, 클라우드 서비스 프로바이더(CSP)(8100)는, 클라우드 서비스의 전체 사용시간까지의 컴퓨터 사용시간을 백분율와 같이 표시한 서비스 활용성(service availity)에 대한 서비스 레벨 정보를 제공할 수 있다. 클라우드 서비스 프로바이더(CSP)(8100)는 가용 서비스 레벨(예를 들면 99%)에 대한 최저 경계값이나 SLA를 위반한 경우에 대한 위반 행위 등을 클라우드 서비스 브로커(CSN)(8200)에 등록할 수 있다.
클라우드 서비스 브로커(CSN)(8200)는 클라우드 서비스 프로바이더(CSP)(8100)로부터 클라우드 서비스에 대한 접근 정보를 수신하고 인증된 클라우드 서비스 클라이언트(CSC)(8300)에 접근 정보를 전달하고 제공할 수 있다. 이 경우 클라우드 서비스 브로커(CSN)(8200)는 클라우드 서비스에 대한 접근 정보를 공개하거나 저장하지 않을 수 있다.
클라우드 서비스 브로커(CSN)(8200)는 클라우드 서비스 프로바이더(CSP)(8100)에 등록된 서비스 레벨 디스크립션을 가지로 모든 서비스에 대한 검증을 실행한다.
클라우드 서비스 프로바이더(CSP)(8100)는 서비스 커스텀마이제이션 또는 서비스 인터그레이션 등과 같은 요구 사항에 따라 클라우드 서비스 프로바이더(CSP)(8100)에 등록된 브로커리지 서비스를 다시 패키지할 수 있다. 클라우드 서비스 브로커(CSN)(8200)는 클라우드 서비스 클라이언트(CSC)가 서요구하는 서비스의 서비스 레벨들을 제공할 수 있다. 예를 들어 클라우드 서비스 브로커(CSN)(8200)는 서비스를 다시 패키지하고, 클라우드 서비스 프로바이더(CSP)(8100)에 등록된 원래의 서비스의 서비슬 레벨이 99.99%라고 할 경우, 99.98% 가용성의 범위에서 해당 서비스를 제공할 수 있다.
클라우드 서비스 클라이언트(CSC)(8300)가 적어도 99.99%를 가용성을 만족하는 서비스를 원하는 경우, 클라우드 서비스 클라이언트(CSC)(8300)가 클라우드 서비스 브로커(CSN)(8200)의 워크스페이스에 연결하여 해당 요구사항에 따라 클라우드 서비스를 선택할 수 있다.
클라우드 서비스 클라이언트(CSC)(8300)가 클라우드 서비스를 선택한 후에 클라우드 서비스 브로커(CSN)(8200)는 SLA 문서를 생성하고, 생성된 SLA 문서를 클라우드 서비스 클라이언트(CSC)(8300)에 제공할 수 있다. 일단 클라우드 서비스 클라이언트(CSC)(8300)가 해당 문서에 따른 계약 내용과 조건을 수락하면, 클라우드 서비스 클라이언트(CSC)(8300)와 클라우드 서비스 브로커(CSN)(8200)사이의 SLA 계약이 성립할 수 있다.
클라우드 서비스 클라이언트(CSC)(8300)와 클라우드 서비스 브로커(CSN)(8200)사이의 SLA 계약이 성립한 후에 클라우드 서비스 브로커(CSN)(8200)는 클라우드 서비스 프로바이더(CSP)(8100) 에 요청하여 서비스를 초기화한다. 클라우드 서비스 브로커(CSN)(8200)가 클라우드 서비스 프로바이더(CSP)(8100) 에 서비스를 요청할 때 클라우드 서비스 프로바이더(CSP)(8100) 에 등록된 서비스 레벨 디스크립션에 따라 클라우드 서비스 프로바이더(CSP)(8100)와 클라우드 서비스 브로커(CSN)(8200)사이의 SLA 계약이 성립된다.
위의 경우에 클라우드 서비스 프로바이더(CSP)(8100)는 클라우드 서비스 브로커(CSN)(8200)의 워크스페이스에 서비스 레벨을 포함하는 서비스 정보를 이미 등록해 둔다.
이 실시예로부터, 클라우드 서비스 브로커(CSN)(8200)는 클라우드 서비스 클라이언트(CSC)(8300)를 위한 인터페이스를 제공하여 클라우드 서비스 클라이언트(CSC)(8300)의 요구사항에 따라 서비스 레벨 객체(service level objectives)를 선택하고 찾을 수 있다.
클라우드 서비스 브로커(CSN)(8200)는 성립된 SLA 문서들 또는 그 계약들을 관리하기 위한 기능을 포함할 수 있다.
클라우드 서비스 브로커(CSN)(8200)는 SLA 모델을 제공하여 클라우드 서비스에 대한 용어, 조건 또는 내용들을 기술할 수 있다.
도 45는 다중 클라우드 기반의 클라우드 서비스 브로커리지를 이용하여 가상 클라우드 서비스를 제공하는 다른 일 실시예를 개시한 도면이다. 이 도면을 이용하여 클라우드 서비스 브로커리지(CSB)를 통해 서비스 라이프 사이클(service life cycle)을 관리하는 실시예를 개시한다. 이 실시예를 서비스 기간동안 클라우드 서비스를 클라우드 서비스 클라이언트(CSC)에 제공하고, 서비스를 관리하는 실시예를 제공한다.
먼저, 클라우드 서비스 클라이언트(CSC)(8300)를 대신해 클라우드 서비스 브로커(CSN)(8200)가 서비스 요구사항을 포함하는 클라우드 서비스 프로바이더(CSP)(8100) 에 서비스 생성을 요청한다.
요청을 받은 클라우드 서비스 프로바이더(CSP)(8100)는 해당 서비스 요구사항에 따라 서비스를 생성한다.
클라우드 서비스 프로바이더(CSP)(8100)는 서비스가 생성됨을 클라우드 서비스 브로커(CSN)(8200)에 알리고 서비스 접근에 대한 정보를 클라우드 서비스 브로커(CSN)(8200)에 제공할 수 있다. 이 경우 서비스 접근에 대한 정보는 클라우드 서비스 브로커(CSN)(8200)의 접근 포인트 식별자와 패스워드등이 될 수 잇다.
클라우드 서비스 브로커(CSN)(8200)이 해당 서비스 접근 정보를 인증된 클라우드 서비스 클라이언트(CSC)(8300)에게 전달한다.
클라우드 서비스 클라이언트(CSC)(8300)는 전달된 서비스 접근 정보를 이용하여 그 생성된 서비스를 접근하고 이용할 수 있다.
한편, 서비스 기간동안 클라우드 서비스 브로커(CSN)(8200)는 SLA를 관리할 수 있다.
클라우드 서비스 브로커(CSN)(8200)는 주기적으로 서비스 레벨에 대한 서비스를 모니터링할 수 있다. 예를 들면 SLA는 클라우드 서비스 브로커(CSN)(8200와 클라우드 서비스 클라이언트(CSC)(8300) 사이에 성립된 SLA에, 예를 들어 서비스 가용성이 99.98% 보다 높아야 한다는 등의 SLA 가 기술될 수 있다.
클라우드 서비스 브로커(CSN)(8200)는 계약에 따라 합의된 서비스 레벨 보다 낮은 서비스 레벨을 감지한 경우, 클라우드 서비스 브로커(CSN)(8200)는 클라우드 서비스 클라이언트(CSC)(8300)에 그 위반사항을 알릴 수 있다. 위의 예에 대해 측정된 가용성이 99.98% 보다 낮은 경우 이에 대한 위반사항을 클라우드 서비스 클라이언트(CSC)(8300)에 알릴 수 있다. SLA에 따라 클라우드 서비스 브로커(CSN)(8200)는 위반 사항에 대한 패널티 액션을 수행할 수 있는데, 예를 들면 서비스를 스케일링 업하거나 클라우드 서비스 클라이언트(CSC)(8300)에 보너스 포인트 등을 제공하는 등이 이에 포함될 수 있다.
그리고, 그 위반사항이 서비스를 운영하는 클라우드 서비스 프로바이더(CSP)(8100)에 의해 발생되면 클라우드 서비스 프로바이더(CSP)(8100) 와 클라우드 서비스 브로커(CSN)(8200)는 위반사항을 합의하여 해결할 수 있다.
서비스 기간 동안, 클라우드 서비스 클라이언트(CSC)(8300)가 클라우드 서비스 브로커(CSN)(8200)에 요청하여 서비스를 제어하는 경우 다음과 같이 서비스 주기가 관리될 수 있다.
클라우드 서비스 브로커(CSN)(8200)가 클라우드 서비스 클라이언트(CSC)(8300)로부터 요청된 정보를 등록한다.
클라우드 서비스 브로커(CSN)(8200)가 서비스를 운영하고 있는 클라우드 서비스 프로바이더(CSP)(8100)에 서비스 제어 요청(예를 들면 서비스 멈춤, 재생, 재시작) 등의 요청을 송신한다.
클라우드 서비스 프로바이더(CSP)(8100) 가 클라우드 서비스 브로커(CSN)(8200)로부터 해당 요청에 따라 해당 서비스를 제어하고 클라우드 서비스 브로커(CSN)(8200)에 제어 결과를 보내 응답한다.
클라우드 서비스 브로커(CSN)(8200)는 해당 서비스 요청을 검증하여 정상 작동여부를 체크한다.
클라우드 서비스 브로커(CSN)(8200)의 워크스페이스를 통해 클라우드 서비스 클라이언트(CSC)(8300)가 수행된 요청사항에 대해 알린다.
서비스 기간 동안, 클라우드 서비스 클라이언트(CSC)(8300)가 생성된 서비스를 중단하거나 종료하도록 클라우드 서비스 브로커(CSN)(8200)에 요청할 수 있다.
클라우드 서비스 브로커(CSN)(8200)는 서비스를 수행하는 클라우드 서비스 프로바이더(CSP)(8100)에게 중단 요청을 전달할 수 있다.
클라우드 서비스 프로바이더(CSP)(8100)가 클라우드 서비스 브로커(CSN)(8200)의 요청에 따라 서비스를 중단하고 중단된 결과를 클라우드 서비스 브로커(CSN)(8200)에 전송하여 응답한다.
클라우드 서비스 브로커(CSN)(8200)는 서비스가 정상적으로 종료되었는지 검증할 수 있다.
클라우드 서비스 브로커(CSN)(8200)의 워크스페이스를 통해 클라우드 서비스 클라이언트(CSC)(8300)는 해당 서비스 종료 또는 만료되었음을 알리고 서비스 사용 비용 등을 알려주실 수 있다.
개시한 실시예로부터 클라우드 서비스 브로커(CSN)(8200)는 클라우드 서비스 클라이언트(CSC)(8300)가 요청하는 서비스에 대한 제어 요청을 수행할 수 있는 인터페이스를 제공하여 서비스에 대한 요청 제어 액션을 수행하도록 하고, 서비스 라이프 사이클을 관리하는 기능을 제공하도록 할 수 있다.
클라우드 서비스 브로커(CSN)(8200)는, 클라우드 서비스 클라이언트(CSC)(8300)로부터 서비스 제어에 대한 요청을 받은 경우 그 요청에 따라 클라우드 서비스가 정상적으로 제공 또는 변경되었는지에 대해 검증할 수 있다.
클라우드 서비스 브로커(CSN)(8200)는 클라우드 서비스 프로바이더(CSP)(8100)와 통신하면서 서비스 제어 체크 주기에 따라 서비스의 상태를 반복적으로 체크할 수 있다. 이 경우 클라우드 서비스 브로커(CSN)(8200)가 제어 요청이 제대로 수행되었는지에 대해 검증할 수 있다. 서비스 제어 체크 주기는 서비스 상태를 체크하기 위한 시간 주기를 나타낸다. 이에 대한 상세한 실시예로서 도 32 ~ 도 41의 서비스 라이프 사이클을 제어하는 실시예를 참고할 수 있다.
기술한 바와 같이 클라우드 서비스 브로커(CSN)(8200)는 이에 대한 검증 결과를 기록한 히스토리 기록을 관리할 수 있고, 각 서비스 제어 상태에 대한 검증이 종료되면 클라우드 서비스 제거를 완료하는데 필요한 시간을 저장하거나 관리할 수 있다.
클라우드 서비스 브로커(CSN)(8200)는 클라우드 서비스의 모니터링 상태에 대한 기능을 제공할 수 있다. 클라우드 서비스 브로커(CSN)(8200)는 서비스 레벨을 모니터링하거나 검증하여 SLA 위반사항을 체크할 수 있다. 클라우드 서비스 브로커(CSN)(8200)은 또한 SLA 위반 후에 이에 대해 계약된 서비스를 보상할 수 있는 기능을 포함할 수 있다. 보상 기능으로서 클라우드 서비스의 마이크레이션(migration), 스케일 업, 사용 연장 등의 기능 등이 이에 포함될 수 있다.
클라우드 서비스 브로커(CSN)(8200)는 클라우드 서비스의 논리적 리소스(예를 들면 가상 머신)의 상태를 모니터링할 수 있다. 클라우드 서비스 클라이언트(CSC)(8300)가 더 많은 클라우드 서비스의 요구할 경우, 클라우드 서비스 브로커(CSN)(8200)는 이를 클라우드 서비스 프로바이더(CSP)(8100)에 요청할 수 있다.
1: 클라우드 서비스 중개장치 2: 클라우드 서비스 사용자
3-1,3-2,…,3-N: 클라우드 서비스 제공자
10: 입력부 12: 제어부
14: 저장부 120: 분석부
122: 서비스 분할부 124: 서비스 배치부
126: 서비스 관리부
1110, 1310, 1410, 1510: 클라우드 서비스 중개 장치
1120, 1320, 1420: 서비스 이미지 스토어
1130-1~ 1130-N, 1330-1~ 1330-N: 단말
1140-1~ 1140-N, 1340-1~ 1340-N: 클라우드 서버
1210: 수신부 1220: 서비스 이미지 추천부
1230: 클라우드 서버 추천부 1240: 서비스 이미지 획득부
1250: 서비스 이미지 공유부 1260: 등록부
1270: 전송부 1501, 1504: 등록되는 이미지
1502: 공유되는 이미지 1502-1: 공유된 이미지
1503: 구매되는 이미지 1503-1: 구매된 이미지
1505: 삭제되는 이미지 1511: 공용 이미지 저장소
1512: 개인 이미지 저장소 1520: 이미지 메타데이터
1530: 이미지 등록자
2100: CSP 인터페이스 2200: CSC 인터페이스
2300: CSB 인터페이스 2400: CSB 엔진
2500: 운영정보 저장소
3100 : 사용자 클라우드 모델 생성 3200 : 인프라 자원 관리부
3300 : 네트워크 자원 관리부 3400 : 자원 매핑부
3500 : 사용자 클라우드 검증부
3600 : 사용자 클라우드 모델 데이터 베이스
3000 : 자원 중개 제공장치
4010,4020,4030: 컴퓨팅 시스템
4100: 서비스 제어 완료 상태 확인 장치
4110: 서비스 제어 요청부
4120: 서비스 제어 확인 주기 생성부
4130: 서비스 제어 확인 통신부
4140: 서비스 상태 업데이트부
5110: 품질 관리 서버 5120-1~5120-N, 6010: 사용자 장치
5130-1~5130-N: 스트리밍 서버 5140: 네트워크
5121: 영상 제작/재생 모듈 5122, 5134: 서비스 품질 정보 수집 모

5123, 5135: 서비스 품질 정보 분석 모듈
5124, 5136: 서비스 품질 정보 전송 모듈
5131: 스트리밍 데이터 수신 모듈
5132: 스트리밍 데이터 송신 모듈
5133: 스트리밍 데이터 저장 관리 모듈
5610: 블록 장치 저장 관리 서브 모듈
5620: 원격 메모리 저장 관리 서브 모듈
5630: 로컬 메모리 저장 관리 서브 모듈
5810: 수신부 820: 판단부
5830: 연산부 840: 제어부
5850: 품질 정보 DB 860: 저장부
6020: 마스터 노드
6021, 6022: 슬레이브 노드
7110, 7120, 7130, 8100: 클라우드 서비스 프로바이더(cloud service provider; CSP)
7200, 8200: 클라우드 서비스 브로커(cloud service broker; CSP)
7300, 8300: 클라우드 서비스 클라이언트(cloud service client; CSC)

Claims (2)

  1. 품질 관리 서버가, 사용자 장치 및 스트리밍 서버 중 적어도 하나로부터 서
    비스 품질 정보를 수신하는 단계;
    상기 품질 관리 서버가, 상기 서비스 품질 정보를 이용하여 상기 사용자 장
    치의 품질 저하 여부를 판단하는 단계;
    상기 사용자 장치가 품질 저하로 판단되는 경우, 상기 품질 관리 서버가 상
    기 사용자 장치 및 상기 스트리밍 서버 중 적어도 하나의 품질 상태를 고려하여 품질 보장 활동을 선택하는 단계; 및
    상기 품질 보장 활동으로 스트리밍 서버 입출력 성능 확장 복제가 선택된 경우, 상기 품질 관리 서버가 적어도 두 개의 노드들을 기반으로 상기 스트리밍 서버의 스케일 업(Scale up)을 수행하여 서비스의 중단 없이 스트리밍 서비스의 성능을 확장하는 단계를 포함하는, 다중 클라우드 기반의 클라우드 브로커리지를 이용한 클라우드 서비스 제공 방법.
  2. 컴퓨팅 시스템에 서비스 제어를 요청하는 서비스 제어 요청부;
    상기 서비스 제어의 완료를 확인하기 위하여 서비스 제어 확인 주기를 생성
    하는 서비스 제어 확인 주기 생성부; 및
    상기 서비스 제어 확인 주기를 이용하여 상기 컴퓨팅 시스템에 서비스 제어확인 통신을 수행하는 서비스 제어 확인 통신부;
    를 포함하는 것을 특징으로 하는 다중 클라우드 기반의 클라우드 브로커리지를 이용한 클라우드 서비스 제공 장치 및 그 방법서비스 제공 장치.
KR1020170141487A 2017-10-27 2017-10-27 클라우드 서비스 브로커리지에 기반한 클라우드 서비스 제공 방법 및 장치 및 그 방법 KR102297850B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170141487A KR102297850B1 (ko) 2017-10-27 2017-10-27 클라우드 서비스 브로커리지에 기반한 클라우드 서비스 제공 방법 및 장치 및 그 방법
US16/168,683 US10826799B2 (en) 2017-10-27 2018-10-23 Apparatus for providing cloud service based on cloud service brokerage and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170141487A KR102297850B1 (ko) 2017-10-27 2017-10-27 클라우드 서비스 브로커리지에 기반한 클라우드 서비스 제공 방법 및 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20190047518A true KR20190047518A (ko) 2019-05-08
KR102297850B1 KR102297850B1 (ko) 2021-09-06

Family

ID=66244439

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170141487A KR102297850B1 (ko) 2017-10-27 2017-10-27 클라우드 서비스 브로커리지에 기반한 클라우드 서비스 제공 방법 및 장치 및 그 방법

Country Status (2)

Country Link
US (1) US10826799B2 (ko)
KR (1) KR102297850B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102472715B1 (ko) * 2021-11-11 2022-12-01 주식회사 모비젠 데이터 품질 보정을 통해 로우데이터의 품질저해요소를 추정하는 방법 및 시스템

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506322A (zh) * 2015-09-08 2017-03-15 阿里巴巴集团控股有限公司 业务功能的实现方法和装置
US10778772B2 (en) * 2019-01-23 2020-09-15 Hewlett Packard Enterprise Development Lp Cloud platform or cloud provider selection
US11102087B2 (en) * 2019-04-05 2021-08-24 At&T Intellectual Property I, L.P. Service deployment for geo-distributed edge clouds
CN111813536A (zh) * 2019-04-11 2020-10-23 华为技术有限公司 任务处理方法、装置、终端以及计算机可读存储介质
US11563828B2 (en) * 2019-10-31 2023-01-24 Qualcomm Incorporated Edge computing platform capability discovery
CN115088237A (zh) * 2020-02-14 2022-09-20 上海诺基亚贝尔股份有限公司 用于客户控制网络事件的方法和装置
WO2021247071A1 (en) * 2020-05-30 2021-12-09 Futurewei Technologies, Inc. Network contracts in communication packets
US20220171663A1 (en) * 2020-11-30 2022-06-02 Netapp, Inc. Systems and Methods for Resource Lifecycle Management
US20220191256A1 (en) * 2020-12-16 2022-06-16 Ncr Corporation Agnostic data collection platform
US20220300311A1 (en) * 2021-03-22 2022-09-22 Kyndryl, Inc. Architecture generation for standard applications
US11709723B2 (en) * 2021-08-23 2023-07-25 Vmware, Inc. Cloud service framework
US11765050B1 (en) * 2022-03-15 2023-09-19 Cisco Technology, Inc. Event triggered guaranteed service connectivity

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110213712A1 (en) * 2010-02-26 2011-09-01 Computer Associates Think, Ink. Cloud Broker and Procurement System and Method
KR20150053513A (ko) * 2013-11-08 2015-05-18 한국전자통신연구원 클라우드 서비스 브로커 장치 및 이를 이용한 클라우드 서비스 제공 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102255933B (zh) * 2010-05-20 2016-03-30 中兴通讯股份有限公司 云服务中介、云计算方法及云系统
US8909785B2 (en) * 2011-08-08 2014-12-09 International Business Machines Corporation Smart cloud workload balancer
KR101356223B1 (ko) 2012-01-18 2014-01-29 한국과학기술원 클라우드 환경에서의 클라우드 사용자를 위한 컴퓨팅 자원 할당 검증 장치 및 방법
US9069509B2 (en) * 2013-03-20 2015-06-30 Hewlett-Packard Development Company, L.P. System and method for printing relevant content via a cloud print service
KR20150040087A (ko) 2013-10-04 2015-04-14 한국전자통신연구원 클라우드 서비스 지원을 위한 통신 시스템, 융합 통신 장치 및 방법
KR101779964B1 (ko) 2015-02-16 2017-09-20 한국전자통신연구원 클라우드 서비스 브로커링 방법 및 장치
KR20160147573A (ko) 2015-06-15 2016-12-23 한국전자통신연구원 서비스 이미지 스토어를 이용한 클라우드 서비스 중개 방법 및 이를 이용한 장치
KR20170005274A (ko) 2015-07-02 2017-01-12 한국전자통신연구원 사용자 정의 클라우드 서비스 제공을 위한 자원 서비스 중개 제공장치 및 그 방법
KR102413047B1 (ko) 2015-08-04 2022-06-27 한국전자통신연구원 클라우드 서비스 중개장치 및 그 방법
KR101846079B1 (ko) * 2016-07-15 2018-04-05 주식회사 케이티 Nfv 환경에서의 가상 cpe 서비스 제공 시스템, 및 이를 위한 nfv 클라우드
US10009425B1 (en) * 2016-08-05 2018-06-26 Symantec Corporation Synchronization of transactions utilizing multiple distributed cloud-based services
KR101913346B1 (ko) * 2017-07-21 2018-10-30 주식회사 티맥스 소프트 클라우드 환경에서의 클라우드 서버 관리 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110213712A1 (en) * 2010-02-26 2011-09-01 Computer Associates Think, Ink. Cloud Broker and Procurement System and Method
KR20150053513A (ko) * 2013-11-08 2015-05-18 한국전자통신연구원 클라우드 서비스 브로커 장치 및 이를 이용한 클라우드 서비스 제공 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102472715B1 (ko) * 2021-11-11 2022-12-01 주식회사 모비젠 데이터 품질 보정을 통해 로우데이터의 품질저해요소를 추정하는 방법 및 시스템

Also Published As

Publication number Publication date
KR102297850B1 (ko) 2021-09-06
US10826799B2 (en) 2020-11-03
US20190132222A1 (en) 2019-05-02

Similar Documents

Publication Publication Date Title
KR102297850B1 (ko) 클라우드 서비스 브로커리지에 기반한 클라우드 서비스 제공 방법 및 장치 및 그 방법
KR102263366B1 (ko) 다중 클라우드 기반의 클라우드 브로커리지를 이용한 클라우드 서비스 제공 장치 및 그 방법
KR102263361B1 (ko) 다중 클라우드 기반의 클라우드 브로커리지 서비스 제공 장치 및 그 방법
US9912753B2 (en) Cloud storage brokering service
KR101717228B1 (ko) 가상 데스크탑들을 위한 애플리케이션 마켓플레이스
EP2972964B1 (en) Automated desktop placement
KR102031695B1 (ko) 자동화된 데이터 센터 선택
US8909784B2 (en) Migrating subscribed services from a set of clouds to a second set of clouds
CN111475728B (zh) 云资源信息搜索方法、装置、设备及存储介质
US9736252B2 (en) Migrating subscribed services in a cloud deployment
JP5970541B2 (ja) 情報処理システム、管理サーバ群、および、サーバ管理プログラム
Edwin et al. An efficient and improved multi-objective optimized replication management with dynamic and cost aware strategies in cloud computing data center
US10756911B2 (en) Cost estimation on a cloud-computing platform
US9571415B2 (en) System and method for performing customized resource allocation analyses for distributed computer systems
KR20150035517A (ko) 네트워크 간의 어플리케이션의 이전
JP2001325041A (ja) 計算機資源活用方法及びシステム
US11144500B2 (en) Assignment of data within file systems
KR101779964B1 (ko) 클라우드 서비스 브로커링 방법 및 장치
WO2014134824A1 (zh) 面向共同客户端的多企业云文件夹部署与信息交互方法
JP2017509046A (ja) クラウドプロバイダ選択及び提示のためのアーキテクチャ及び方法
Wang et al. A cloud computing infrastructure on heterogeneous computing resources
Hari Kumar et al. H2RUN: An efficient vendor lock‐in solution for multi‐cloud environment using horse herd Runge Kutta based data placement optimization
US20230082680A1 (en) Distributed computing tasks among pool of registered nodes
Muhammad et al. A novel framework for resource orchestration in OpenStack cloud platform
Miloudi et al. Adaptive replication strategy based on popular content in cloud computing

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