KR20130126569A - 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼 및 그를 위한 방법, 그리고, 가상머신을 이용하는 테넌트와 서비스 공급업체 - Google Patents

커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼 및 그를 위한 방법, 그리고, 가상머신을 이용하는 테넌트와 서비스 공급업체 Download PDF

Info

Publication number
KR20130126569A
KR20130126569A KR1020130127025A KR20130127025A KR20130126569A KR 20130126569 A KR20130126569 A KR 20130126569A KR 1020130127025 A KR1020130127025 A KR 1020130127025A KR 20130127025 A KR20130127025 A KR 20130127025A KR 20130126569 A KR20130126569 A KR 20130126569A
Authority
KR
South Korea
Prior art keywords
tenant
virtual machine
service
connector
saas
Prior art date
Application number
KR1020130127025A
Other languages
English (en)
Inventor
김남경
김직수
최형원
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to KR1020130127025A priority Critical patent/KR20130126569A/ko
Publication of KR20130126569A publication Critical patent/KR20130126569A/ko
Priority to US14/522,733 priority patent/US9880882B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • 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

Abstract

커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼 및 그를 위한 방법, 그리고, 가상머신을 이용하는 테넌트와 서비스 공급업체가 제공된다. 멀티 테넌트 SaaS 플랫폼의 멀티 테넌트 커넥터 매니저는 서비스 커넥터 패키지-적어도 하나의 테넌트에게 가상머신 형태로 서비스를 제공하기 위한 테넌트가상머신을 생성함-를 적어도 하나의 테넌트에게 자동으로 배포하고, 커넥터 서버는 적어도 하나의 테넌트에서 서비스 커넥터 패키지가 실행되어 테넌트 가상머신이 활성화되면, 활성화된 테넌트 가상머신과 연결 채널을 형성한다.

Description

커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼 및 그를 위한 방법, 그리고, 가상머신을 이용하는 테넌트와 서비스 공급업체{Multi-Tenant SaaS Platform and Method for Automated Deployment of Connector Application, and Tenant and Service Provider using Virtual Machine}
본 발명은 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼 및 그를 위한 방법, 그리고, 가상머신을 이용하는 테넌트와 서비스 공급업체에 관한 것으로, 보다 상세하게는 클라우드 서비스를 보다 효율적으로 제공하기 위한 가상머신을 자동으로 배포하기 위한 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼 및 그를 위한 방법, 그리고, 가상머신을 이용하는 테넌트와 서비스 공급업체에 관한 것이다.
SaaS(Software as a Service) 시스템은 소프트웨어를 자신의 컴퓨터에 설치하지 않고 인터넷을 통하여 소프트웨어 서비스를 제공받는 형태를 말한다. 기존의 설치형 소프트웨어와 비교하여 SaaS의 가장 큰 특징 중 하나는 다중 테넌트를 지원하는 것이다. 다중 테넌트를 지원한다는 것은 하나의 가상 머신 인스턴스가 다수의 테넌트들에게 서비스를 지원하는 것을 말한다.
한편, SaaS 기반의 클라우드 서비스가 보편화되면서, 기업의 클라우드 서비스 도입이 실현되고 있지만, 클라우드 서비스 품질을 향상시키기 위한 다양한 노력이 필요한 상태이다. 예를 들어, 기존에는 SaaS 공급자가 테넌트에게 특화된 서비스를 제공하려는 경우, 테넌트마다 별도의 장치(appliance)를 설치하여야 하므로, 이러한 불편함을 해소할 필요가 있다. 또한, 다수의 SaaS 공급자들이 각각 테넌트에게 서비스를 제공함으로써 발생하는 문제점을 해결하기 위해, 다수의 SaaS 공급자들이 제공하는 서비스를 취합하여 테넌트에게 제공하는 Cloud Services Brokerage 모델의 제안도 필요한 상황이다.
본 발명적 개념의 예시적 실시예에 따르면, 별도의 장치를 테넌트에 직접 설치하지 않고, 서비스가 가상머신 형태로 배포되도록 구성된 커넥터 어플리케이션들, 즉, 서비스 커넥터 패키지를 자동으로 테넌트에 배포 및 관리하여 SaaS 서비스의 품질을 향상시킬 수 있는 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼 및 그를 위한 방법, 그리고, 가상머신을 이용하는 테넌트와 서비스 공급업체를 제공하는 것을 목적으로 한다.
본 발명적 개념의 예시적 실시 예에 따르면, 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼은, 테넌트 서비스 커넥터 패키지-적어도 하나의 테넌트에게 가상머신 형태로 서비스를 제공하기 위해 테넌트 가상머신을 생성함-를 상기 적어도 하나의 테넌트에게 자동으로 배포하는 멀티 테넌트 커넥터 매니저; 및 상기 적어도 하나의 테넌트에서 상기 테넌트 서비스 커넥터 패키지가 실행되어 상기 테넌트 가상머신이 활성화되면, 상기 활성화된 테넌트 가상머신과 연결 채널을 형성하는 커넥터 서버;를 포함하며, 상기 형성된 연결 채널을 통해 상기 SaaS 플랫폼과 상기 적어도 하나의 테넌트 간에 상기 서비스 제공이 이루어질 수 있다.
상기 커넥터 서버는, 상기 테넌트 가상머신과 연결되기 위해 상기 커넥터 서버에서도 실행되어 활성화되는 SaaS 센터 가상머신; 및 상기 SaaS 센터 가상머신의 동작을 위한 하이퍼바이저 머신;을 포함하며, 상기 멀티 테넌트 커넥터 매니저는 상기 SaaS 센터 가상머신의 활성화에 필요한 SaaS 플랫폼용 서비스 커넥터 패키지를 상기 커넥터 서버에게 배포할 수 있다.
상기 멀티 테넌트 커넥터 매니저는, 상기 서비스를 위한 가상머신 이미지 및 상기 가상머신 이미지의 실행을 위한 설정 파일들을 조합하여 상기 테넌트 서비스 커넥터 패키지를 생성하는 가상머신 인스턴스 매니저; 및 상기 생성된 테넌트 서비스 커넥터 패키지를 상기 적어도 하나의 테넌트에게 배포하는 배포부;를 포함할 수 있다.
상기 멀티 테넌트 커넥터 매니저는, 상기 가상머신 인스턴스 매니저의 요청에 의해, 상기 설정 파일들 중 상기 가상머신 이미지의 로딩을 위한 프로그램 및 상기 가상머신 이미지를 저장매체로부터 리딩하여 상기 가상머신 인스턴스 매니저에게 전달하는 가상머신 이미지 매니저; 및 상기 가상머신 인스턴스 매니저의 요청에 의해, 상기 설정 파일들 중 상기 서비스와 관련된 어플리케이션의 로딩을 위한 프로그램을 상기 저장매체로부터 리딩하여 상기 가상머신 인스턴스 매니저에게 전달하는 어플리케이션 매니저;를 더 포함할 수 있다.
상기 적어도 하나의 테넌트는, 상기 멀티 테넌트 커넥터 매니저로부터 수신한 상기 테넌트 서비스 커넥터 패키지 중 상기 설정 파일들에 의해 활성화되고, 상기 가상머신 이미지에 해당하는 상기 테넌트 가상머신; 및 상기 테넌트 가상머신의 동작을 위한 하이퍼바이저 머신;을 포함할 수 있다.
상기 적어도 하나의 테넌트에서, 상기 설정 파일들 중 상기 가상머신 이미지의 로딩을 위한 프로그램이 실행되어 상기 테넌트 가상머신이 활성화되고, 상기 설정 파일들 중 상기 서비스와 관련된 어플리케이션의 로딩을 위한 프로그램이 실행되어 상기 연결 채널이 형성될 수 있다.
상기 멀티 테넌트 커넥터 매니저는, 상기 서비스의 고가용성(High availability)을 위해 상기 적어도 하나의 테넌트에게 상기 테넌트 서비스 커넥터 패키지를 복수 개 배포할 수 있다.
상기 멀티 테넌트 커넥터 매니저는 서비스 공급업체용 서비스 커넥터 패키지-적어도 하나의 서비스 공급업체에게 가상머신 형태로 서비스를 제공하기 위해 서비스 공급업체 가상머신을 생성함-를 상기 적어도 하나의 서비스 공급업체에게 자동으로 배포하며, 상기 서비스 공급업체에게 상기 서비스 공급업체용 서비스 커넥터 패키지가 배포되는 경우, 상기 커넥터 서버는 상기 적어도 하나의 테넌트에게 상기 서비스 공급업체로부터의 서비스를 전달하는 허브 역할을 할 수 있다.
한편, 본 발명적 개념의 예시적 실시 예에 따르면, 멀티 테넌트 SaaS 플랫폼에서 커넥터 어플리케이션의 자동화 배포를 위한 방법은, 테넌트 서비스 커넥터 패키지-적어도 하나의 테넌트에게 가상머신 형태로 서비스를 제공하기 위한 테넌트 가상머신을 생성함-를 상기 적어도 하나의 테넌트에게 배포하는 단계; 상기 테넌트 서비스 커넥터 패키지를 수신한 상기 적어도 하나의 테넌트에서, 상기 테넌트 서비스 커넥터 패키지가 실행되어 상기 테넌트 가상머신이 활성화되는 단계; 상기 SaaS 플랫폼의 가상머신과 상기 활성화된 테넌트 가상머신 사이에 연결 채널이 형성되는 단계; 및 상기 형성된 연결 채널을 통해 상기 SaaS 플랫폼과 상기 적어도 하나의 테넌트 간에 상기 서비스가 제공되는 단계;를 포함할 수 있다.
SaaS 플랫폼용 서비스 커넥터 패키지-상기 테넌트 가상머신과 연결되기 위한 상기 SaaS 플랫폼의 가상머신을 생성하며, 상기 서비스를 위한 상기 SaaS 플랫폼의 가상머신 이미지 및 상기 SaaS 플랫폼의 가상머신 이미지의 실행을 위한 설정 파일들을 포함-를 생성하는 단계; 및 상기 생성된 SaaS 플랫폼용 서비스 커넥터 패키지가 실행되어 상기 SaaS 플랫폼의 가상머신이 활성화되는 단계;를 더 포함할 수 있다.
상기 SaaS 플랫폼의 관리자로부터 상기 테넌트 서비스 커넥터 패키지의 자동 배포 명령이 입력되면, 상기 서비스를 위한 가상머신 이미지 및 상기 가상머신 이미지의 실행을 위한 설정 파일들을 이용하여 상기 테넌트 서비스 커넥터 패키지를 생성하는 단계;를 더 포함할 수 있다.
서비스 공급업체용 서비스 커넥터 패키지-적어도 하나의 서비스 공급업체에게 가상머신 형태로 서비스를 제공하기 위해 서비스 공급업체 가상머신을 생성함-를 생성하여 상기 적어도 하나의 서비스 공급업체에게 자동으로 배포하는 단계;를 더 포함하며, 상기 서비스 공급업체에게 상기 서비스 공급업체용 서비스 커넥터 패키지가 배포되는 경우, 상기 커넥터 서버는 상기 적어도 하나의 테넌트에게 상기 서비스 공급업체로부터의 서비스를 전달하는 허브 역할을 할 수 있다.
한편, 본 발명적 개념의 예시적 실시 예에 따르면, 멀티 테넌트 SaaS(Software as a Service) 플랫폼으로부터 배포된 서비스 커넥터 패키지-테넌트에게 가상머신 형태로 서비스를 제공하기 위한 가상머신 이미지 및 상기 가상머신 이미지의 실행을 위한 설정 파일들을 포함-가 실행되어 활성화된 테넌트 가상머신; 및 상기 테넌트 가상머신의 동작을 위한 하이퍼바이저 머신;을 포함하며, 상기 SaaS 플랫폼에서 활성화된 SaaS 센터 가상머신과 상기 테넌트 가상머신 사이에 상기 서비스 제공을 위한 연결 채널이 형성되는 것을 특징으로 하는 가상머신을 이용하는 테넌트가 제공될 수 있다.
상기 설정 파일들 중 상기 가상머신 이미지의 로딩을 위한 프로그램이 실행되어 상기 테넌트 가상머신이 활성화되고, 상기 설정 파일들 중 상기 서비스와 관련된 어플리케이션의 로딩을 위한 프로그램이 실행되어 상기 연결 채널이 형성될 수 있다.
한편, 본 발명적 개념의 예시적 실시 예에 따르면, 멀티 테넌트 SaaS(Software as a Service) 플랫폼으로부터 배포된 서비스 커넥터 패키지-서비스 공급업체에게 가상머신 형태로 서비스를 제공하기 위한 가상머신 이미지 및 상기 가상머신 이미지의 실행을 위한 설정 파일들을 포함-가 실행되어 활성화된 서비스 공급업체 가상머신; 및 상기 서비스 공급업체 가상머신의 동작을 위한 하이퍼바이저 머신;을 포함하며, 상기 SaaS 플랫폼에서 활성화된 SaaS 센터 가상머신과 상기 서비스 공급업체 가상머신 사이에 상기 서비스 제공을 위한 연결 채널이 형성되는 것을 특징으로 하는 가상머신을 이용하는 서비스 공급업체가 제공될 수 있다.
상기 설정 파일들 중 상기 가상머신 이미지의 로딩을 위한 프로그램이 실행되어 상기 서비스 공급업체 가상머신이 활성화되고, 상기 설정 파일들 중 상기 서비스와 관련된 어플리케이션의 로딩을 위한 프로그램이 실행되어 상기 연결 채널이 형성될 수 있다.
본 발명적 개념의 하나 이상의 예시적 실시 예에 따르면, 테넌트 또는 서비스 공급업체에 별도의 장치(appliance)를 설치하지 않고도 SaaS 센터에서 배포한 서비스 커넥터 패키지를 통해 SaaS 센터와 테넌트 또는 서비스 공급업체 간의 커넥션을 형성하고, 커넥션을 통해 테넌트에게 클라우드 서비스를 제공할 수 있다. 이로서, 클라우드 서비스의 보안문제와 같은 불안 요소에 대한 우려를 해결할 수 있으며, 클라우드 서비스의 품질을 향상 시킬 수 있다.
또한, 본 발명의 실시 예에 따르면, SaaS 센터에서 제공하는 클라우드 서비스의 품질 향상을 위한 서비스를 효율적으로 배포함으로써, Time-to-market 측면에서 효율을 높일 수 있으며, 결과적으로 보다 높은 수준의 품질보장제도(SLA: Service Level Agreement)를 보장할 수 있다.
또한, 본 발명의 실시 예에 따르면, 테넌트는 VPN(Virtual Private Network) 보안 채널, WAN(Wide Area Network) Acceleration 등의 서비스를 서비스 커넥터 패키지를 통해 생성되는 가상머신을 이용해 쉽게 추가할 수 있으므로, 이를 통해 더 높은 품질의 서비스를 테넌트에게 제공할 수 있다.
도 1은 본 발명적 개념의 예시적 실시예에 따른 SaaS 센터와 테넌트를 포함하는 시스템을 도시한 도면,
도 2는 테넌트 가상머신과 SaaS Center 가상머신이 M:N 형태로 매핑된 일 예를 보여주는 도면,
도 3은 본 발명적 개념의 예시적 실시예에 따른 멀티 테넌트 커넥터 매니저를 도시한 블록도,
도 4a는 본 발명적 개념의 예시적 실시예에 따른 SaaS 센터에 배포되는 SaaS 센터 서비스 커넥터 패키지의 구성도,
도 4b는 본 발명적 개념의 예시적 실시예에 따른 테넌트에 배포되는 테넌트 서비스 커넥터 패키지의 구성도,
도 4c는 본 발명적 개념의 예시적 실시예에 따른 SaaS 프로바이더에게 배포되는 SaaS 프로바이더 서비스 커넥터 패키지의 구성도,
도 5는 1:1 형태로 매핑된 SaaS Center 가상머신과 테넌트 가상머신의 보안 서비스를 설명하기 위한 도면,
도 6은 3:3 형태로 매핑된 SaaS Center VM과 테넌트 VM의 보안 서비스를 설명하기 위한 도면,
도 7은 SaaS 센터가 SaaS 허브 플랫폼으로 동작하는 실시 예를 설명하기 위한 도면, 그리고,
도 8은 본 발명적 개념의 예시적 실시예에 따른 SaaS 센터의 서비스를 테넌트에게 제공하는 방법을 설명하기 위한 흐름도이다.
이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.
본 명세서에서, 어떤 구성요소가 다른 구성요소 상에 있다고 언급되는 경우에 그것은 다른 구성요소 상에 직접 형성될 수 있거나 또는 그들 사이에 제 3의 구성요소가 개재될 수도 있다는 것을 의미한다.
본 명세서에서 제1, 제2 등의 용어가 구성요소들을 기술하기 위해서 사용된 경우, 이들 구성요소들이 이 같은 용어들에 의해서 한정되어서는 안 된다. 이들 용어들은 단지 어느 구성요소를 다른 구성요소와 구별시키기 위해서 사용되었을 뿐이다. 여기에 설명되고 예시되는 실시예들은 그것의 상보적인 실시예들도 포함한다.
또한, 제1 엘리먼트 (또는 구성요소)가 제2 엘리먼트(또는 구성요소) 상(ON)에서 동작 또는 실행된다고 언급될 때, 제1 엘리먼트(또는 구성요소)는 제2 엘리먼트(또는 구성요소)가 동작 또는 실행되는 환경에서 동작 또는 실행되거나 또는 제2 엘리먼트(또는 구성요소)와 직접 또는 간접적으로 상호 작용을 통해서 동작 또는 실행되는 것으로 이해되어야 할 것이다.
어떤 엘리먼트, 구성요소, 장치, 또는 시스템이 프로그램 또는 소프트웨어로 이루어진 구성요소를 포함한다고 언급되는 경우, 명시적인 언급이 없더라도, 그 엘리먼트, 구성요소, 장치, 또는 시스템은 그 프로그램 또는 소프트웨어가 실행 또는 동작하는데 필요한 하드웨어(예를 들면, 메모리, CPU 등)나 다른 프로그램 또는 소프트웨어(예를 들면 운영체제나 하드웨어를 구동하는데 필요한 드라이버 등)를 포함하는 것으로 이해되어야 할 것이다.
또한 어떤 엘리먼트(또는 구성요소)가 구현됨에 있어서 특별한 언급이 없다면, 그 엘리먼트(또는 구성요소)는 소프트웨어, 하드웨어, 또는 소프트웨어 및 하드웨어 어떤 형태로도 구현될 수 있는 것으로 이해되어야 할 것이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprises)' 및/또는 '포함하는(comprising)'은 언급된 구성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
이하, 도면을 참조하여 본 발명적 개념을 상세히 설명하도록 한다. 아래의 특정 실시예들을 기술하는데 있어서, 여러 가지의 특정적인 내용들은 발명적 개념을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명적 개념을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용들이 없어도 사용될 수 있다는 것을 인지할 수 있다. 어떤 경우에는, 발명적 개념을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명적 개념을 설명하는 데 있어 별 이유 없이 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다.
먼저, 본 실시예의 설명에서, 용어 "멀티 테넌트 SaaS 허브 플랫폼"은 서비스를 제공하는 서비스 공급업체와 연결되어 서비스 공급업체로부터의 서비스를 적어도 하나의 테넌트에게 제공하는 허브 역할을 하는 플랫폼이라는 의미로 사용된다.
용어 “SaaS 센터”는 “멀티 테넌트 SaaS (허브) 플랫폼”과 동일한 의미로 사용된다.
용어 “테넌트와 SaaS 프로바이더”는 SaaS 센터가 서비스를 위한 서비스 커넥터 패키지를 배포하는 목적지를 의미한다.
서비스 공급업체는 SaaS 방식을 이용하여 테넌트에게 제공할 클라우드 서비스를 SaaS 센터로 제공하는 SaaS 프로바이더이다.
용어 “서비스 커넥터 패키지”는 SaaS 센터에서 서비스를 제공하는데 필요한 가상머신을 활성화하기 위한 것으로서, “서비스 커넥터 패키지”가 배포되는 목적지에 따라 “테넌트 서비스 커넥터 패키지” 혹은 “SaaS 프로바이더 서비스 커넥터 패키지” 또는 “SaaS 센터 서비스 커넥터 패키지”라고 한다.
본 특허에서는 테넌트에 배포되는 “테넌트 서비스 커넥터 패키지” 위주로 설명하고 있으며, 설명된 내용은 SaaS 프로바이더 및 SaaS 센터에도 동일하게 적용되고, SaaS 프로바이더에 대한 구체적인 설명은 생략한다.
“SaaS 센터 서비스 커넥터 패키지”는 멀티 테넌트 커넥터 매니저가 SaaS 센터의 제1커넥터 서버에게 배포하는 패키지로서, “멀티 테넌트 SaaS (허브) 플랫폼용”과 동일한 의미로 사용된다.
“SaaS 방식”은 다양한 소프트웨어가 제공하는 서비스 중 사용자가 필요로 하는 서비스만 이용 가능하도록 하는 서비스 개념을 갖는다. SaaS 방식은 서비스 공급업체가 하나 이상의 플랫폼을 이용해 복수 개의 테넌트들에게 소프트웨어 서비스를 제공하고, 각 테넌트는 사용한 서비스에 상응하는 사용료를 지불할 수 있다.
“멀티 테넌시(Multi-Tenancy)”는 컴퓨팅 환경에서 가상화 기술 및 동일한 인프라 스트럭쳐를 기반으로, 멀티 테넌트가 서비스를 공유하는 것을 의미한다.
“멀티 테넌트(Multi-Tenant)”는 복수 개의 테넌트를 의미하며, 하나의 테넌트는 서비스를 사용하는 하나의 그룹으로서, 예를 들어, 하나의 기업일 수 있다. 따라서, 하나의 테넌트에는 다수의 사용자가 포함된다.
도 1은 본 발명적 개념의 예시적 실시예에 따른 서비스를 제공하는 SaaS 센터(100)와 테넌트(200)를 포함하는 시스템을 도시한 도면이다.
도 1에 도시된 SaaS 센터(100)는 멀티 테넌트 SaaS 허브 플랫폼으로서, 적어도 하나의 테넌트(200)에게 보다 높은 품질의 클라우드 서비스를 제공하기 위해, 클라우드 서비스(이하, “서비스”라 한다)를 위한 테넌트 서비스 커넥터 패키지를 배포할 수 있다. 테넌트 서비스 커넥터 패키지 중 테넌트 가상머신 로더 프로그램을 통해 테넌트 가상머신(VM: Virtual Machine)이 테넌트에서 실행 및 활성화되면, SaaS 센터(100)는 서비스를 제공하고, VM 인스턴스를 통해 테넌트의 VM 상태 및 SaaS 센터(100)와의 연결 상태를 모니터링한다.
SaaS 센터(100)가 SaaS 프로바이더와도 연결되어 SaaS 프로바이더에게 SaaS 프로바이더 서비스 커넥터 패키지를 배포하고, 서비스 공급업체로부터의 서비스를 적어도 하나의 테넌트에게 전달하는 역할도 수행하는 경우, SaaS 센터(100)는 멀티 테넌트 SaaS 허브 플랫폼으로서 동작할 수 있다.
도 1에서는 SaaS 프로바이더와 테넌트(200) 중 테넌트(200)를 위주로 설명하며, 도 1에 적용된 설명이 SaaS 프로바이더에도 동일하게 적용되어 위에서 언급한 바와 같이 이에 대한 설명은 생략한다.
도 1에는 설명의 편의상 하나의 테넌트(200)가 도시되어 있으나, 이에 한정되지 않는다. 즉, 도 1에는 SaaS 센터(100)와 테넌트(200)가 한 개씩 연결된 경우를 설명하고 있으나, 테넌트(200)의 수가 증가하거나 테넌트(200) 내의 커넥터 서버의 수가 증가하게 되면 SaaS 센터(100)의 SaaS 센터 VM과 연결되는 테넌트 수가 늘어나게 된다. 따라서, 늘어난 테넌트(200)의 수가 SaaS 센터(100)의 하드웨어 장비가 지원하는 사양을 초과할 경우, SaaS 센터 VM의 수를 증가시킬 수 있다.
즉, 도 1의 시스템은 SaaS 센터(100)와 테넌트(200)가 1:1 매핑된 형태를 보여주고 있으나, 테넌트 VM의 수가 증가하게 되면 1:N 매핑 형태가 되며, SaaS 센터 VM의 수가 증가하게 되면 M:1 매핑 형태가 될 수 있다. 또한, 테넌트 VM과 SaaS 센터 VM의 수가 모두 증가하게 되면, 도 2와 같이 M:N 매핑 형태가 될 수 있다.
도 2는 테넌트 VM과 SaaS 센터 VM이 M:N 형태로 매핑된 일 예를 보여주는 도면이다.
도 2에 도시된 제1커넥터 서버들(130)은 서로 다른 서버로서, SaaS 센터(100)에 설치되어 있으므로 동일한 식별번호가 부여된다. 또한, 제2커넥터 서버들(210)도 서로 다른 서버로서 테넌트(200)에 설치되어 있으므로 동일한 식별번호가 부여된다.
SaaS 센터 VM은 제1커넥터 서버(130)에 설치되고, 테넌트 VM은 제2커넥터 서버(210)에 설치된다. 따라서, SaaS 센터 VM과 테넌트 VM은 M:N 매핑 형태로 설치 및 연결될 수 있다. 이때, 멀티 테넌트 커넥터 매니저(120)는 제1커넥터 서버(130)와는 별도의 서버에 설치되며, 제1커넥터 서버(130)에게 도 4a와 같은 SaaS 센터 서비스 커넥터 패키지를 배포하고, 제2커넥터 서버(210)에게 도 4b와 같은 테넌트 서비스 커넥터 패키지를 배포한다.
한편, SaaS 센터(100)에서 제1커넥터 서버(130)와 연결된 서버들(140)은 SaaS 센터(100)의 플랫폼에서 제공하는 기능들을 담당하는 서버 및 DB 장비이다. 또한, 테넌트(200)에서 제2커넥터 서버(210)와 연결된 서버들(220)은 테넌트(200) 내부에서 이용하는 서비스를 담당하는 서버이거나 클라우드 서비스를 이용하는데 필요한 정보를 담고 있는 서버 및 DB 장비일 수 있다. 또한, SaaS 센터(100)가 SaaS 허브 플랫폼 역할을 하는 경우, 도시되지 않은 SaaS 서비스 공급 업체는 각각의 공유 서비스를 제공하기 위한 서버 및 DB 장비일 수 있다.
이하에서는 도 1 내지 도 4b를 참조하여 SaaS 센터(100) 및 테넌트(200) 간의 동작에 대해 설명한다.
도 1을 참조하면, SaaS 센터(100)는 저장매체(110), 멀티 테넌트 커넥터 매니저(120) 및 제1커넥터 서버(130)를 포함한다.
저장매체(110)는 대용량 저장매체로서 제1커넥터 서버(130)로 배포될 SaaS 센터 VM 이미지, SaaS 센터 VM 로더 프로그램 및 SaaS 센터 어플리케이션 로더 프로그램을 저장하며, 서비스에 따라 또는 SaaS 센터 VM 이미지의 종류에 따라 다양하게 저장할 수 있다. 배포될 SaaS 센터 VM 이미지, SaaS 센터 VM 로더 프로그램 및 SaaS 센터 어플리케이션 로더 프로그램에 대해서는 도 4a를 참조하여 자세히 설명한다.
또한, 저장매체(110)는 테넌트에게 배포할 테넌트 VM 이미지, 테넌트 VM 로더 프로그램 및 테넌트 어플리케이션 로더 프로그램을 저장한다. 테넌트 VM 이미지, 테넌트 VM 로더 프로그램 및 테넌트 어플리케이션 로더 프로그램에 대해서는 도 4b를 참조하여 자세히 설명한다. 저장매체(110)는 테넌트 VM 이미지의 종류 또는 SaaS 센터(100)에서 제공하는 서비스에 따라 다양한 테넌트 VM 이미지, 테넌트 VM 로더 프로그램 및 테넌트 어플리케이션 로더 프로그램을 저장할 수 있다.
또한, 저장매체(110)는 SaaS 프로바이더에게 배포할 SaaS 프로바이더 VM 이미지, SaaS 프로바이더 VM 로더 프로그램 및 SaaS 프로바이더 어플리케이션 로더 프로그램을 저장한다. SaaS 프로바이더 VM 이미지, SaaS 프로바이더 VM 로더 프로그램 및 SaaS 프로바이더 어플리케이션 로더 프로그램에 대해서는 도 4c를 참조하여 자세히 설명한다.
멀티 테넌트 커넥터 매니저(120)는 SaaS 센터 서비스 커넥터 패키지, 테넌트용 서비스 커넥터 패키지 및 SaaS 프로바이더 서비스 커넥터 패키지를 생성하여 각각 제1커넥터 서버(130), 테넌트(200) 및 SaaS 프로바이더(미도시)에게 자동으로 배포한다. 일 예로, 테넌트용 서비스 커넥터 패키지는 테넌트(200)에게 VM 형태로 서비스를 제공하기 위해 테넌트(200)에서 테넌트 VM을 생성하는데 사용된다.
제1커넥터 서버(130)는 테넌트(200)에서 테넌트 서비스 커넥터 패키지가 실행되어 테넌트 VM이 활성화되면(즉, VM 이미지가 VM 인스턴스화되면), 활성화된 테넌트 VM과 연결 채널을 형성한다. 형성된 연결 채널을 통해 SaaS 센터(100)와 테넌트(200) 간에 서비스 제공이 이루어진다.
도 3은 본 발명적 개념의 예시적 실시예에 따른 멀티 테넌트 커넥터 매니저(120)를 도시한 블록도이다.
도 3을 참조하면, 멀티 테넌트 커넥터 매니저(120)는 VM 인스턴스 매니저(310), VM 이미지 매니저(320), 어플리케이션 매니저(330), 방화벽 센서(340) 및 배포부(350)를 포함한다.
VM 인스턴스 매니저(310)는 테넌트(200)에게 제공할 서비스에 해당하는 테넌트 VM 이미지 및 테넌트 VM 이미지의 실행을 위한 설정 파일들을 VM 이미지 매니저(320)와 어플리케이션 매니저(330)에게 요청한다. VM 인스턴스 매니저(310)는 SaaS 센터(100)의 관리자로부터 테넌트 서비스 커넥터 패키지(400b)의 자동 배포 명령이 입력되면, VM 이미지 매니저(320)와 어플리케이션 매니저(330)에게 요청할 수 있다.
자세히 설명하면, 테넌트 VM 이미지의 실행을 위한 설정 파일들은 테넌트 VM 이미지의 로딩을 위한 테넌트 VM 로더 프로그램 및 서비스와 관련된 어플리케이션의 로딩을 위한 테넌트 어플리케이션 로더 프로그램을 포함한다. VM 인스턴스 매니저(310)는 VM 이미지 매니저(320)에게 테넌트 VM 이미지 및 테넌트 VM 로더 프로그램을 요청하고, 어플리케이션 매니저(330)에게 테넌트 어플리케이션 로더 프로그램을 요청한다.
VM 인스턴스 매니저(310)는 VM 이미지 매니저(320)와 어플리케이션 매니저(330)로부터 전달되는 테넌트 VM 이미지, 테넌트 VM 로더 프로그램 및 테넌트 어플리케이션 로더 프로그램을 조합하여 테넌트(200)로 배포할 테넌트 서비스 커넥터 패키지(400b)를 도 4b와 같이 생성한다.
또한, VM 인스턴스 매니저(310)는 SaaS 센터 서비스 커넥터 패키지(400a)를 생성하기 위하여, VM 이미지 매니저(320)에게 SaaS 센터 VM 이미지 및 SaaS 센터 VM 로더 프로그램을 요청하고, 어플리케이션 매니저(330)에게 SaaS 센터 어플리케이션 로더 프로그램을 요청한다. 그리고, VM 인스턴스 매니저(310)는 수신된 SaaS 센터 VM 이미지, SaaS 센터 VM 로더 프로그램 및 SaaS 센터 어플리케이션 로더 프로그램을 조합하여 SaaS 센터 서비스 커넥터 패키지(400a)를 생성한다. SaaS 센터 서비스 커넥터 패키지(400a)는 SaaS 센터 VM(131)의 활성화에 사용되고, SaaS 센터 VM(130)을 관리한다.
또한, VM 인스턴스 매니저(310)는 SaaS 프로바이더 서비스 커넥터 패키지(400c)를 생성하기 위하여, VM 이미지 매니저(320)에게 SaaS 프로바이더 VM 이미지 및 SaaS 프로바이더 VM 로더 프로그램을 요청하고, 어플리케이션 매니저(330)에게 SaaS 프로바이더 어플리케이션 로더 프로그램을 요청한다. 그리고, VM 인스턴스 매니저(310)는 수신된 SaaS 프로바이더 VM 이미지, SaaS 프로바이더 VM 로더 프로그램 및 SaaS 프로바이더 어플리케이션 로더 프로그램을 조합하여 SaaS 프로바이더 서비스 커넥터 패키지(400c)를 생성한다. SaaS 프로바이더 서비스 커넥터 패키지(400c)는 SaaS 프로바이더 VM(131)의 활성화에 사용되고, SaaS 프로바이더 VM(미도시)을 관리한다.
VM 이미지 매니저(320)는 VM 인스턴스 매니저(310)의 요청에 의해, 설정 파일들 중 VM 이미지의 로딩을 위한 프로그램(이하, ‘VM 로더 프로그램’이라 한다) 및 VM 이미지를 저장매체(110)로부터 리딩하여 VM 인스턴스 매니저(310)에게 전달한다. “VM 이미지”는 테넌트 VM 이미지, SaaS 프로바이더 VM 이미지 또는 SaaS 센터 VM 이미지를 의미하고, “VM 로더 프로그램”은 테넌트 VM 로더 프로그램, SaaS 프로바이더용 VM 로더 프로그램 또는 SaaS 센터 VM 로더 프로그램을 의미한다.
또한, VM 이미지 매니저(320)는 새로운 VM 이미지나 VM 로더 프로그램을 저장매체(110)에 저장하고, 관리한다. 예를 들어, VM 이미지 매니저(320)는 자주 사용되는 설정을 미리 적용한 pre-configured VM 이미지들을 저장 및 관리하고, 새로운 설정을 적용한 VM 이미지들을 저장 및 관리한다. ‘자주 사용되는 설정’은 테넌트 VM이 활성화될 때 설정되어야 할 다양한 메뉴에서 공통적으로 자주 사용되는 메뉴의 옵션을 미리 설정하는 것을 의미한다.
‘자주 사용되는 설정’으로서 자동 실행이 설정되어 있는 경우, 테넌트 VM 로더 프로그램은 세팅된 시간에 제2커넥터 서버(210)에서 자동으로 실행된다. 또는, ‘자주 사용되는 설정’으로서 수동 실행이 설정되어 있는 경우, 테넌트 VM 로더 프로그램은 테넌트(200)의 관리자에 의해 제2커넥터 서버(210)에서 수동으로 실행된다.
어플리케이션 매니저(330)는 VM 인스턴스 매니저(310)의 요청에 의해, 설정 파일들 중 서비스와 관련된 어플리케이션의 로딩을 위한 프로그램(이하, ‘어플리케이션 로더 프로그램’이라 한다)을 저장매체(110)로부터 리딩하여 VM 인스턴스 매니저(310)에게 전달한다. 또한, 어플리케이션 매니저(330)는 새로운 어플리케이션 로더 프로그램을 저장매체(110)에 저장하고, 관리한다. 어플리케이션 로더 프로그램은 테넌트 어플리케이션 로더 프로그램 또는 SaaS 센터 어플리케이션 로더 프로그램 또는 SaaS 프로바이더 어플리케이션을 의미한다.
또한, 어플리케이션 매니저(330)는 테넌트(200)의 네트워크 구성 정보와 테넌트 VM 인스턴스의 클러스터화를 위한 정보 등 각종 설정 정보 및 프로그램 관련 정보를 저장매체(110)에 저장하고, 관리한다. 네트워크 구성 정보는 서비스 커넥터 패키지(400a, 400b)를 배포하기 이전에, 테넌트(200)가 SaaS 센터(100)의 관리자에게 알려주는 정보로서, 예를 들어, 제2커넥터 서버(210)가 사용하는 IP(Internet Protocol) 어드레스를 포함한다. 테넌트 VM 인스턴스는 테넌트 VM 이미지가 테넌트 VM 로더 프로그램에 의해 활성화된 상태를 의미하며, 클러스터화는 후술할 고가용성을 의미한다.
방화벽 센서(340)는 VM 인스턴스 매니저(310)가 테넌트 서비스 커넥터 패키지(400b) 및 SaaS 센터 서비스 커넥터 패키지(400a)를 생성하면, 또는 주기적으로 테넌트(200)의 방화벽이 오픈(open)되어 있는지를 센싱한다. 테넌트(200)의 방화벽이 오픈되어 있지 않은 경우, 방화벽 센서(340)는 관리자에게 이를 통지하며, 관리자는 테넌트(200)의 관리자에게 방화벽의 오픈을 요청할 수 있다.
배포부(350)는 테넌트(200)의 방화벽이 오픈된 경우, VM 인스턴스 매니저(310)에서 테넌트 서비스 커넥터 패키지(400b)를 테넌트(200) 에게 배포하고, SaaS 센터 서비스 커넥터 패키지(400a)를 제1커넥터 서버(130)에게 배포한다. 즉, 배포부(350)는 테넌트(200)의 네트워크 구성 정보를 이용하여 테넌트 서비스 커넥터 패키지(400b)를 제2커넥터 서버(210)에게 배포할 수 있다.
또한, VM 인스턴스 매니저(310)는 테넌트(200)로 배포될 테넌트 서비스 커넥터 패키지(400b)에 포함된 이미지나 파일들이 업데이트되는 경우, 업데이트된 테넌트 서비스 커넥터 패키지를 생성하며, 배포부(350)는 업데이트된 테넌트 서비스 커넥터 패키지를 제2커넥터 서버(210)에게 재배포한다.
또한, 배포부(350)는 테넌트(200)에게 서비스의 고가용성(High availability)을 위해 테넌트 서비스 커넥터 패키지(400b)를 복수 개 배포할 수 있다. 이러한 경우, 테넌트(200)는 처음에 실행된 테넌트 VM에 문제가 발생하는 경우, 남은 테넌트 서비스 커넥터 패키지를 이용하여 테넌트 VM을 활성화할 수 있다. 즉, 복수 개의 서비스 커넥터 패키지들은 테넌트(200)에서 백업 개념으로서 활용될 수 있다.
한편, 제1커넥터 서버(130)는 배포부(350)로부터 SaaS 센터 서비스 커넥터 패키지(400a)를 수신한다. SaaS 센터 서비스 커넥터 패키지(400a)는 도 4a에 도시된 바와 같이, SaaS 센터 VM 이미지, SaaS 센터 VM 로더 프로그램 및 SaaS 센터 어플리케이션 로더 프로그램을 포함한다.
SaaS 센터 서비스 커넥터 패키지(400a)가 제1커넥터 서버(130)로 도달하면, SaaS 센터 VM 로더 프로그램이 실행되면서 SaaS 센터 VM 이미지를 로딩한다. 이에 의해, SaaS 센터 VM 이미지가 인스턴스화되어 SaaS 센터 VM(131)이 활성화된다. 그 후, 테넌트 VM(211)도 활성화되고, SaaS 센터 어플리케이션 로더 프로그램이 실행되면, SaaS 센터 VM(131)과 테넌트 VM(211) 사이에 연결 채널이 형성된다.
연결 채널은 SaaS 센터(100)가 SaaS 센터 VM(131)을 통해 테넌트 VM(211)에게 서비스를 제공하거나, 테넌트(200)의 상태를 관리할 때 사용된다.
SaaS 센터 하이퍼바이저 머신(132)은 SaaS 센터 VM(131)의 동작을 위한 것으로, SaaS 센터 VM(131)은 SaaS 센터 하이퍼바이저 머신(132) 위에서 종속적으로 구동된다.
한편, 테넌트(200)는 SaaS 센터(100)의 멀티 테넌트 커넥터 매니저(120)로부터 배포된 테넌트 서비스 커넥터 패키지(400b)를 수신한다. 수신된 테넌트 서비스 커넥터 패키지(400b)는 도 4b에 도시된 바와 같이, 테넌트 VM 이미지, 테넌트 VM 로더 프로그램 및 테넌트 어플리케이션 로더 프로그램을 포함한다.
테넌트 서비스 커넥터 패키지(400b)가 테넌트(200)로 도달하면, 테넌트 VM 로더 프로그램이 실행되면서 테넌트 VM 이미지를 로딩한다. 이에 의해, 테넌트 VM 이미지가 인스턴스화되어 테넌트 VM(211)이 활성화된다. 테넌트 VM 로더 프로그램에 대해 자동 실행이 설정되어 있는 경우, 테넌트 VM 로더 프로그램은 세팅된 시간에 자동으로 실행된다. 또는, 테넌트 VM 로더 프로그램에 대해 수동 실행이 설정되어 있는 경우, 테넌트 VM 로더 프로그램은 관리자의 조작에 의해 수동으로 실행된다.
그 후, SaaS 센터 VM(131)도 활성화되고, 테넌트 어플리케이션 로더 프로그램이 실행되면, SaaS 센터 VM(131)과 테넌트 VM(211) 사이에 연결 채널이 형성된다.
테넌트 하이퍼바이저 머신(212)은 테넌트 VM(211)의 동작을 위한 것으로, 테넌트 VM(211)은 테넌트 하이퍼바이저 머신(212) 위에서 종속적으로 구동된다.
도 4a는 본 발명적 개념의 예시적 실시예에 따른 SaaS 센터(100)에 배포되는 SaaS 센터 서비스 커넥터 패키지(400a)의 구성도, 도 4b는 본 발명적 개념의 예시적 실시예에 따른 테넌트(200)에 배포되는 테넌트 서비스 커넥터 패키지(400b)의 구성도, 도 4c는 본 발명적 개념의 예시적 실시예에 따른 SaaS 프로바이더에게 배포되는 SaaS 프로바이더 서비스 커넥터 패키지(400c)의 구성도이다.
도 4a 내지 도 4c에 도시된 각 패키지(400a, 400b, 400c)의 구성은 유사하므로, 이하에서는 도 4b를 참조하여 테넌트 VM의 실행을 위한 테넌트 서비스 커넥터 패키지(400b)에 대해 자세히 설명한다.
테넌트 VM 이미지는 OS(Operating System), Application, Application dependent libraries를 포함하고 있으며, pre-configure된 VM 이미지로서, 이를 통해 VM 인스턴스를 생성한다. VM 인스턴스는 VM 이미지가 활성화된 실제 테넌트 VM을 의미한다. Application은 테넌트 VM(211)이 실제로 제공하는 서비스를 위한 어플리케이션이며, Application dependent libraries는 어플리케이션 구동시 필요한 라이브러리로서 자바를 예로 들 수 있다.
테넌트 VM 로더 프로그램은 VM 인스턴스를 생성하기 위한 configuration script를 포함하고 있으며, 다양한 종류의 하이퍼바이저들(예를 들어, VMWare, Xen, KVM 등)을 지원하는 기능도 포함한다.
테넌트 VM 로더 프로그램이 실행된 후, 테넌트 어플리케이션 로더 프로그램이 실행되어, 테넌트 서비스 커넥터 패키지(400b)에 포함되어 있는 Application이 실행되고, SaaS 센터(100)와 테넌트(200) 사이에 연결 채널이 형성된다. 이러한 테넌트 VM(211)이 설치 및 실행되기 위해서는 테넌트(200)에 테넌트 하이퍼바이저 머신(212)이 설치되어 있어야 하며, SaaS 센터(100)의 제1커넥터 서버(130)에서는 SaaS 센터 커넥터 패키지(400a)에 포함되어 있는 Application이 테넌트 서비스 커넥터 패키지(400b)와 동일한 과정에 의해 실행되어야 함은 물론이다.
도 5는 1:1 형태로 매핑된 SaaS 센터 VM과 테넌트 VM의 보안 서비스를 설명하기 위한 도면이다.
도 5에 도시된 보안 게이트웨이 서버는 도 1의 제1커넥터 서버(130)이고, 멀티 테넌트 커넥터 매니저는 도 1의 멀티 테넌트 커넥터 매니저(120)이고, Repository는 도 1의 저장매체(110)이고, SaaS 센터는 도 1의 SaaS 센터(100)이고, 테넌트는 도 1의 테넌트(200)이고, 보안 웹 게이트웨이는 도 1의 제2커넥터 서버(210)이다.
도 5를 참조하면, SaaS 센터는 테넌트와 SaaS 센터의 종단간 보안 서비스를 제공할 수 있다. 이를 위해, 멀티 테넌트 커넥터 매니저는 보안용 서비스 커넥터 패키지를 생성하여 테넌트의 보안 웹 게이트웨이와 SaaS 센터의 보안 게이트웨이 서버에게 배포할 수 있다. 테넌트의 보안 웹 게이트웨이와 SaaS 센터의 보안 게이트웨이 서버에게 배포되는 보안용 서비스 커넥터 패키지를 이루는 프로그램 내용은 일부 다를 수 있다. 예를 들어, 보안 게이트웨이 서버에게 배포되는 보안용 서비스 커넥터 패키지는 테넌트의 보안 웹 게이트웨이에서 활성화된 보안용 VM을 관리하기 위한 기능을 더 포함할 수 있다.
보안용 서비스 커넥터 패키지는 도 4a 또는 도 4b와 같이 VM 이미지와 실행 파일들로 이루어지고, 테넌트와 SaaS 센터에서 자동으로 또는 수동으로 실행되며, 이로써 보안용 VM이 테넌트와 SaaS 센터에서 활성화된다.
테넌트와 SaaS 센터에서 보안용 VM이 활성화되면 보안 게이트웨이 서버와 보안 웹 게이트웨이의 종단에는 Site-to-Site Secure Tunnel(즉, 도 1의 연결 채널)이 형성된다.
도 5에 도시된 SaaS 센터는 보안용 서비스 커넥터 패키지를 이용하여 보안 솔루션 VM(즉, 보안용 VM)을 설정하고, 테넌트에게 배포하며, 보안용 VM 및 Site-to-Site Secure Tunnel을 이용하여 테넌트를 원격 관리할 수 있다.
또한, 보안용 VM이 활성화된 보안 게이트웨이 서버는 SaaS 센터에서 상용 보안 게이트웨이(GW) 역할을 병행할 수 있다.
보안용 VM이 활성화된 테넌트는 일반적인 게이트웨이로서의 역할 뿐만 아니라 보안용 VM을 통해 보안 강화를 위한 서버로서의 역할도 병행할 수 있다.
테넌트의 레거시 시스템(Legacy System)은 테넌트의 플랫폼에서 최초로 시스템이 개발된 이후에, 추가적인 개발이나 개선 과제 등을 통해서 과거로부터 계속해서 추가되거나 변경된 정보와 기능 등이 포함되어 누적되어 있는 기간시스템 전체를 의미한다. 컴퓨터를 이용해서 일반 고객을 대상으로 서비스를 하고 있는 대부분의 기업들은 중요한 업무를 처리하는 기능을 개선하거나 변경하면서 데이터들이 이미 누적되어있는 응용프로그램집단과 데이터베이스 또는 데이터 마트를 함께 가지고 있다.
도 6은 3:3 형태로 매핑된 SaaS 센터 VM과 테넌트 VM의 보안 서비스를 설명하기 위한 도면이다.
도 6에 도시된 복수의 보안 게이트웨이 서버는 복수의 제1커넥터 서버들(130)이고, 멀티 테넌트 커넥터 매니저는 도 1의 멀티 테넌트 커넥터 매니저(120)이고, Repository는 도 1의 저장매체(110)이고, SaaS 센터는 도 1의 SaaS 센터(100)이고, 제1 내지 제3테넌트들은 복수의 테넌트들(200)이고, 보안 웹 게이트웨이는 복수의 제2커넥터 서버들(210)이다.
도 6에 도시된 SaaS 센터와 제1 내지 제3테넌트들의 동작은 도 5에 도시된 SaaS 센터와 테넌트의 동작과 거의 동일하다. 다만, 도 6에는 복수 개의 보안 상용 솔루션 게이트웨이 서버들이 구비되고, 복수 개의 보안 상용 솔루션 게이트웨이 서버들은 각각 제1 내지 제3테넌트들 중 하나와 연결된다. 이때, 보안 상용 솔루션 게이트웨이 서버들은 각각의 보안용 VM을 이용하여 각각의 연결 채널(Secure Tunnel)이 형성된 테넌트와 연결된다. 즉, 도 6에는 제1 내지 제3 Secure Tunnel이 형성되어 있으므로, 제1 내지 제3테넌트들은 해당하는 연결 채널을 이용하여 보안 서비스를 제공한다.
도 7은 SaaS 센터가 SaaS 허브 플랫폼으로 동작하는 실시 예를 설명하기 위한 도면이다.
SaaS 센터는 테넌트와 연결 채널을 통해 통신할 뿐만 아니라, SaaS 프로바이더와도 연결 채널을 형성하고 SaaS 프로바이더로부터의 서비스를 테넌트에게 전달하는 허브 역할을 할 수 있다. 즉, SaaS 센터는 SaaS 프로바이더와 테넌트 사이에 위치하여 브로커 역할을 하는 모델에도 적용될 수 있다.
도 7에서 제1 및 제2SaaS 프로바이더는 보안 채널을 통해 안전하게 SaaS 서비스를 제공하는 서비스 공급 업체이고, 제1 및 제2테넌트는 다양한 서비스를 제공받는다.
도 7을 참조하면, SaaS 센터는 제1 및 제2SaaS 프로바이더들에게 보안용 서비스 커넥터 패키지를 배포하고, 서비스 커넥터 패키지의 실행을 통해 보안 채널을 형성하였다. 또한, SaaS 센터는 제1 및 제2테넌트들에게 보안용 서비스 커넥터 패키지를 배포하고, 보안용 서비스 커넥터 패키지의 실행을 통해 보안 채널을 형성하였다. 여기서, 보안 채널은 IPSec VPN Tunnel과 같이 양단 간에 형성된 채널로서, 매우 안정적인 보안 서비스를 제공할 수 있도록 한다. 제1 및 제2SaaS 프로바이더들에게 배포되는 보안용 서비스 커넥터 패키지는 도 4c와 같은 컴포넌트를 가질 수 있다.
도 7의 실시 예에서는, 가운데에 위치한 SaaS 센터에서 보안 채널을 통해 제1 및 제2SaaS 프로바이더들과 제1 및 제2테넌트들 사이에 안전한 데이터 통신이 가능하도록 하며, 이로써 네트워크 보안에 대한 우려를 해소하고, 제1 및 제2테넌트들에게 보다 높은 품질의 클라우드 서비스를 제공할 수 있게 한다.
상술한 본 발명의 실시 예들에 의하면, SaaS 센터는 클라우드 서비스의 품질을 향상시킬 수 있는 어플리케이션을 서비스 커넥터 패키지에 추가하여 테넌트 또는 SaaS 프로바이더에게 자동으로 배포하고, 서비스 커넥터 패키지의 파일들과 VM 이미지가 자동으로 실행될 수 있도록 함으로써, 보안 서비스, WAN Acceleration 서비스 등 다양한 서비스를 제공할 수 있도록 한다.
도 8은 본 발명적 개념의 예시적 실시예에 따른 SaaS 센터의 VM을 배포하는 방법을 설명하기 위한 흐름도이다.
도 8에 도시된 멀티 테넌트 커넥터 매니저, 제1커넥터 서버 및 제2커넥터 서버는 각각 도 1을 참조하여 설명한 멀티 테넌트 커넥터 매니저(120), 제1커넥터 서버(130) 및 제2커넥터 서버(210)일 수 있다.
도 8을 참조하면, 멀티 테넌트 커넥터 매니저는 SaaS 센터의 관리자로부터 서비스 커넥터 패키지의 자동 배포 명령이 입력되면, SaaS 센터 서비스 커넥터 패키지를 생성한다(S805). SaaS 센터 서비스 커넥터 패키지는 SaaS 센터 VM 이미지, SaaS 센터 VM 로더 프로그램 및 SaaS 센터 어플리케이션 로더 프로그램을 포함한다.
또한, 멀티 테넌트 커넥터 매니저는 SaaS 센터 서비스 커넥터 패키지에 대응하는, 즉, 동일한 서비스를 위한 테넌트 서비스 커넥터 패키지를 생성한다(S810). 테넌트 서비스 커넥터 패키지는 테넌트 VM 이미지, 테넌트 VM 로더 프로그램 및 테넌트 어플리케이션 로더 프로그램을 포함한다.
멀티 테넌트 커넥터 매니저는 S805단계에서 생성된 SaaS 센터 서비스 커넥터 패키지를 제1커넥터 서버에게 배포하고(S815), S810단계에서 생성된 테넌트 서비스 커넥터 패키지를 제2커넥터 서버에게 배포한다(S820).
제1커넥터 서버에 도달한 SaaS 센터 서비스 커넥터 패키지는 자동으로 또는 수동으로 실행된다. 즉, SaaS 센터 서비스 커넥터 패키지 중 SaaS 센터 VM 로더 프로그램이 실행되면서 SaaS 센터 VM 로더 프로그램이 SaaS 센터 VM 이미지를 로딩한다(S825).
S825단계에 의해, SaaS 센터 VM 이미지가 인스턴스화되어 SaaS 센터 VM이 활성화된다(S830).
S830단계 이후, SaaS 센터 어플리케이션 로더 프로그램이 실행되고(S835), 테넌트 VM도 활성화되면 SaaS 센터 VM과 테넌트 VM 사이에 또는 제1커넥터 서버와 제2커넥터 서버 사이에 연결 채널이 형성된다(S860).
S825단계 내지 S830단계가 동작되는 동안, 제2커넥터 서버에서는 S840단계 내지 S855단계가 동작될 수 있다.
즉, 제2커넥터 서버에 도달한 테넌트 서비스 커넥터 패키지 중 테넌트 VM 로더 프로그램이 실행되면서 테넌트 VM 이미지를 로딩한다(S840).
S840단계에 의해, 테넌트 VM 이미지가 인스턴스화되어 테넌트 VM이 활성화된다(S845).
S845단계 이후, SaaS 센터 VM도 활성화되고(S830), SaaS 센터 어플리케이션 로더 프로그램과 테넌트 어플리케이션 로더 프로그램이 실행되면(S850), SaaS 센터 VM과 테넌트 VM 사이에 연결 채널이 형성된다(S860). 연결 채널은 SaaS 센터가 SaaS 센터 VM을 통해 테넌트 VM에게 서비스를 제공하거나, 테넌트의 상태를 관리할 때 사용된다.
연결 채널이 형성되면, 제2커넥터 서버는 멀티 테넌트 커넥터 매니저에게 heart beat를 전송한다(S865). heart beat는 테넌트가 정상적으로 동작하고 있음을 알리는 비트이다.
멀티 테넌트 커넥터 매니저는 heart beat를 통해 테넌트가 살아있음을 확인하고, 이에 의해, 제1커넥터 서버와 제2커넥터 서버는 연결 채널을 통해 보안이나 다른 특정 서비스를 위한 커넥션을 실질적으로 설정한다(S870).
제1커넥터 서버는 연결 채널을 통해 제2커넥터 서버에게 서비스를 제공한다(S875).
상기와 같이 본 발명은 비록 한정된 실시 예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시 예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: SaaS 센터 110: 저장매체
120: 멀티 테넌트 커넥터 매니저 130: 제1커넥터
310: VM 인스턴스 매니저 320: VM 이미지 매니저
330: 어플리케이션 매니저 340: 방화벽 센서
350: 배포부 200: 테넌트
211: 테넌트 VM 212: 테넌트 하이퍼바이저 머신

Claims (19)

  1. 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼에 있어서,
    테넌트 서비스 커넥터 패키지-적어도 하나의 테넌트에게 가상머신 형태로 서비스를 제공하기 위해 테넌트 가상머신을 생성함-를 상기 적어도 하나의 테넌트에게 자동으로 배포하는 멀티 테넌트 커넥터 매니저; 및
    상기 적어도 하나의 테넌트에서 상기 테넌트 서비스 커넥터 패키지가 실행되어 상기 테넌트 가상머신이 활성화되면, 상기 활성화된 테넌트 가상머신과 연결 채널을 형성하는 커넥터 서버;를 포함하며,
    상기 형성된 연결 채널을 통해 상기 SaaS 플랫폼과 상기 적어도 하나의 테넌트 간에 상기 서비스 제공이 이루어지는 것을 특징으로 하는 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼.
  2. 제1항에 있어서,
    상기 커넥터 서버는,
    상기 테넌트 가상머신과 연결되기 위해 상기 커넥터 서버에서도 실행되어 활성화되는 SaaS 센터 가상머신; 및
    상기 SaaS 센터 가상머신의 동작을 위한 하이퍼바이저 머신;을 포함하며,
    상기 멀티 테넌트 커넥터 매니저는 상기 SaaS 센터 가상머신의 활성화에 필요한 SaaS 플랫폼용 서비스 커넥터 패키지를 상기 커넥터 서버에게 배포하는 것을 특징으로 하는 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼.
  3. 제1항에 있어서,
    상기 멀티 테넌트 커넥터 매니저는,
    상기 서비스를 위한 가상머신 이미지 및 상기 가상머신 이미지의 실행을 위한 설정 파일들을 조합하여 상기 테넌트 서비스 커넥터 패키지를 생성하는 가상머신 인스턴스 매니저; 및
    상기 생성된 테넌트 서비스 커넥터 패키지를 상기 적어도 하나의 테넌트에게 배포하는 배포부;를 포함하는 것을 특징으로 하는 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼.
  4. 제3항에 있어서,
    상기 멀티 테넌트 커넥터 매니저는,
    상기 가상머신 인스턴스 매니저의 요청에 의해, 상기 설정 파일들 중 상기 가상머신 이미지의 로딩을 위한 프로그램 및 상기 가상머신 이미지를 저장매체로부터 리딩하여 상기 가상머신 인스턴스 매니저에게 전달하는 가상머신 이미지 매니저; 및
    상기 가상머신 인스턴스 매니저의 요청에 의해, 상기 설정 파일들 중 상기 서비스와 관련된 어플리케이션의 로딩을 위한 프로그램을 상기 저장매체로부터 리딩하여 상기 가상머신 인스턴스 매니저에게 전달하는 어플리케이션 매니저;를 더 포함하는 것을 특징으로 하는 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼.
  5. 제3항에 있어서,
    상기 적어도 하나의 테넌트는,
    상기 멀티 테넌트 커넥터 매니저로부터 수신한 상기 테넌트 서비스 커넥터 패키지 중 상기 설정 파일들에 의해 활성화되고, 상기 가상머신 이미지에 해당하는 상기 테넌트 가상머신; 및
    상기 테넌트 가상머신의 동작을 위한 하이퍼바이저 머신;을 포함하는 것을 특징으로 하는 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼.
  6. 제5항에 있어서,
    상기 적어도 하나의 테넌트에서,
    상기 설정 파일들 중 상기 가상머신 이미지의 로딩을 위한 프로그램이 실행되어 상기 테넌트 가상머신이 활성화되고, 상기 설정 파일들 중 상기 서비스와 관련된 어플리케이션의 로딩을 위한 프로그램이 실행되어 상기 연결 채널이 형성되는 것을 특징으로 하는 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼.
  7. 제1항에 있어서,
    상기 멀티 테넌트 커넥터 매니저는,
    상기 서비스의 고가용성(High availability)을 위해 상기 적어도 하나의 테넌트에게 상기 테넌트 서비스 커넥터 패키지를 복수 개 배포하는 것을 특징으로 하는 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼.
  8. 제1항에 있어서,
    상기 멀티 테넌트 커넥터 매니저는 서비스 공급업체용 서비스 커넥터 패키지-적어도 하나의 서비스 공급업체에게 가상머신 형태로 서비스를 제공하기 위해 서비스 공급업체 가상머신을 생성함-를 상기 적어도 하나의 서비스 공급업체에게 자동으로 배포하며,
    상기 서비스 공급업체에게 상기 서비스 공급업체용 서비스 커넥터 패키지가 배포되는 경우, 상기 커넥터 서버는 상기 적어도 하나의 테넌트에게 상기 서비스 공급업체로부터의 서비스를 전달하는 허브 역할을 하는 것을 특징으로 하는 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼.
  9. 멀티 테넌트 SaaS 플랫폼에서 커넥터 어플리케이션의 자동화 배포를 위한 방법에 있어서,
    테넌트 서비스 커넥터 패키지-적어도 하나의 테넌트에게 가상머신 형태로 서비스를 제공하기 위한 테넌트 가상머신을 생성함-를 상기 적어도 하나의 테넌트에게 배포하는 단계;
    상기 테넌트 서비스 커넥터 패키지를 수신한 상기 적어도 하나의 테넌트에서, 상기 테넌트 서비스 커넥터 패키지가 실행되어 상기 테넌트 가상머신이 활성화되는 단계;
    상기 SaaS 플랫폼의 가상머신과 상기 활성화된 테넌트 가상머신 사이에 연결 채널이 형성되는 단계; 및
    상기 형성된 연결 채널을 통해 상기 SaaS 플랫폼과 상기 적어도 하나의 테넌트 간에 상기 서비스가 제공되는 단계;를 포함하는 커넥터 어플리케이션의 자동화 배포를 위한 방법.
  10. 제9항에 있어서,
    SaaS 플랫폼용 서비스 커넥터 패키지-상기 테넌트 가상머신과 연결되기 위한 상기 SaaS 플랫폼의 가상머신을 생성하며, 상기 서비스를 위한 상기 SaaS 플랫폼의 가상머신 이미지 및 상기 SaaS 플랫폼의 가상머신 이미지의 실행을 위한 설정 파일들을 포함-를 생성하는 단계; 및
    상기 생성된 SaaS 플랫폼용 서비스 커넥터 패키지가 실행되어 상기 SaaS 플랫폼의 가상머신이 활성화되는 단계;를 더 포함하는 것을 특징으로 하는 커넥터 어플리케이션의 자동화 배포를 위한 방법.
  11. 제9항에 있어서,
    상기 SaaS 플랫폼의 관리자로부터 상기 테넌트 서비스 커넥터 패키지의 자동 배포 명령이 입력되면, 상기 서비스를 위한 가상머신 이미지 및 상기 가상머신 이미지의 실행을 위한 설정 파일들을 이용하여 상기 테넌트 서비스 커넥터 패키지를 생성하는 단계;를 더 포함하는 것을 특징으로 하는 커넥터 어플리케이션의 자동화 배포를 위한 방법.
  12. 제11항에 있어서,
    상기 활성화되는 단계는,
    상기 테넌트 서비스 커넥터 패키지를 수신한 상기 적어도 하나의 테넌트에서, 상기 설정 파일들이 실행되어 상기 가상머신 이미지에 해당하는 상기 테넌트가상머신이 활성화되는 것을 특징으로 하는 커넥터 어플리케이션의 자동화 배포를 위한 방법.
  13. 제11항에 있어서,
    상기 활성화되는 단계는, 상기 적어도 하나의 테넌트에서, 상기 설정 파일들 중 상기 가상머신 이미지의 로딩을 위한 프로그램이 실행되어 상기 테넌트 가상머신이 활성화되고,
    상기 형성되는 단계는, 상기 설정 파일들 중 상기 서비스와 관련된 어플리케이션의 로딩을 위한 프로그램이 실행되어 상기 연결 채널이 형성되는 것을 특징으로 하는 커넥터 어플리케이션의 자동화 배포를 위한 방법.
  14. 제9항에 있어서,
    상기 배포하는 단계는,
    상기 서비스의 고가용성(High availability)을 위해 상기 적어도 하나의 테넌트에게 상기 테넌트 서비스 커넥터 패키지를 복수 개 배포하는 것을 특징으로 하는 커넥터 어플리케이션의 자동화 배포를 위한 방법.
  15. 제9항에 있어서,
    서비스 공급업체용 서비스 커넥터 패키지-적어도 하나의 서비스 공급업체에게 가상머신 형태로 서비스를 제공하기 위해 서비스 공급업체 가상머신을 생성함-를 생성하여 상기 적어도 하나의 서비스 공급업체에게 자동으로 배포하는 단계;를 더 포함하며,
    상기 서비스 공급업체에게 상기 서비스 공급업체용 서비스 커넥터 패키지가 배포되는 경우, 상기 커넥터 서버는 상기 적어도 하나의 테넌트에게 상기 서비스 공급업체로부터의 서비스를 전달하는 허브 역할을 하는 것을 특징으로 하는 커넥터 어플리케이션의 자동화 배포를 위한 방법.
  16. 멀티 테넌트 SaaS(Software as a Service) 플랫폼으로부터 배포된 서비스 커넥터 패키지-테넌트에게 가상머신 형태로 서비스를 제공하기 위한 가상머신 이미지 및 상기 가상머신 이미지의 실행을 위한 설정 파일들을 포함-가 실행되어 활성화된 테넌트 가상머신; 및
    상기 테넌트 가상머신의 동작을 위한 하이퍼바이저 머신;을 포함하며,
    상기 SaaS 플랫폼에서 활성화된 SaaS 센터 가상머신과 상기 테넌트 가상머신 사이에 상기 서비스 제공을 위한 연결 채널이 형성되는 것을 특징으로 하는 가상머신을 이용하는 테넌트.
  17. 제16항에 있어서,
    상기 설정 파일들 중 상기 가상머신 이미지의 로딩을 위한 프로그램이 실행되어 상기 테넌트 가상머신이 활성화되고, 상기 설정 파일들 중 상기 서비스와 관련된 어플리케이션의 로딩을 위한 프로그램이 실행되어 상기 연결 채널이 형성되는 것을 특징으로 하는 가상머신을 이용하는 테넌트.
  18. 멀티 테넌트 SaaS(Software as a Service) 플랫폼으로부터 배포된 서비스 커넥터 패키지-서비스 공급업체에게 가상머신 형태로 서비스를 제공하기 위한 가상머신 이미지 및 상기 가상머신 이미지의 실행을 위한 설정 파일들을 포함-가 실행되어 활성화된 서비스 공급업체 가상머신; 및
    상기 서비스 공급업체 가상머신의 동작을 위한 하이퍼바이저 머신;을 포함하며,
    상기 SaaS 플랫폼에서 활성화된 SaaS 센터 가상머신과 상기 서비스 공급업체 가상머신 사이에 상기 서비스 제공을 위한 연결 채널이 형성되는 것을 특징으로 하는 가상머신을 이용하는 서비스 공급업체.
  19. 제18항에 있어서,
    상기 설정 파일들 중 상기 가상머신 이미지의 로딩을 위한 프로그램이 실행되어 상기 서비스 공급업체 가상머신이 활성화되고, 상기 설정 파일들 중 상기 서비스와 관련된 어플리케이션의 로딩을 위한 프로그램이 실행되어 상기 연결 채널이 형성되는 것을 특징으로 하는 가상머신을 이용하는 서비스 공급업체.
KR1020130127025A 2013-10-24 2013-10-24 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼 및 그를 위한 방법, 그리고, 가상머신을 이용하는 테넌트와 서비스 공급업체 KR20130126569A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130127025A KR20130126569A (ko) 2013-10-24 2013-10-24 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼 및 그를 위한 방법, 그리고, 가상머신을 이용하는 테넌트와 서비스 공급업체
US14/522,733 US9880882B2 (en) 2013-10-24 2014-10-24 Multi-tenant SaaS platform and method for automated deployment of connector application, and tenant and service provider using virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130127025A KR20130126569A (ko) 2013-10-24 2013-10-24 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼 및 그를 위한 방법, 그리고, 가상머신을 이용하는 테넌트와 서비스 공급업체

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020110111856A Division KR20130047070A (ko) 2011-10-31 2011-10-31 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼 및 그를 위한 방법, 그리고, 가상머신을 이용하는 테넌트와 서비스 공급업체

Publications (1)

Publication Number Publication Date
KR20130126569A true KR20130126569A (ko) 2013-11-20

Family

ID=49854583

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130127025A KR20130126569A (ko) 2013-10-24 2013-10-24 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼 및 그를 위한 방법, 그리고, 가상머신을 이용하는 테넌트와 서비스 공급업체

Country Status (2)

Country Link
US (1) US9880882B2 (ko)
KR (1) KR20130126569A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101394424B1 (ko) * 2013-04-22 2014-05-13 한국인터넷진흥원 하이퍼바이저 기반 침입 방지 플랫폼 및 가상화 네트워크 침입 방지 시스템
US11455181B1 (en) * 2014-09-19 2022-09-27 Amazon Technologies, Inc. Cross-network connector appliances

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130126569A (ko) * 2013-10-24 2013-11-20 삼성에스디에스 주식회사 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼 및 그를 위한 방법, 그리고, 가상머신을 이용하는 테넌트와 서비스 공급업체
US9900391B2 (en) * 2014-08-05 2018-02-20 Microsoft Technology Licensing, Llc Automated orchestration of infrastructure service blocks in hosted services
FR3043294A1 (fr) * 2015-11-04 2017-05-05 Evidian Procede d'acces a un service par un client utilisant un terminal via une interface de programmation multi-clients, procede de configuration d'une application cliente pour l'acces audit service
WO2017185204A1 (zh) * 2016-04-25 2017-11-02 深圳前海达闼云端智能科技有限公司 一种虚拟机创建方法和装置
US10073974B2 (en) * 2016-07-21 2018-09-11 International Business Machines Corporation Generating containers for applications utilizing reduced sets of libraries based on risk analysis
KR102519721B1 (ko) * 2016-09-21 2023-04-07 삼성에스디에스 주식회사 컴퓨팅 자원 관리 장치 및 방법
US10560432B1 (en) * 2017-06-09 2020-02-11 Amazon Technologies, Inc. Centralized management of remote endpoint devices
US10387212B2 (en) * 2017-06-15 2019-08-20 Microsoft Technology Licensing, Llc Attribute collection and tenant selection for on-boarding to a workload
US10860336B2 (en) * 2017-10-27 2020-12-08 Google Llc Managing multi-single-tenant SaaS services
RU2746105C2 (ru) * 2019-02-07 2021-04-07 Акционерное общество "Лаборатория Касперского" Система и способ конфигурирования шлюза для защиты автоматизированных систем

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050163136A1 (en) * 2003-11-17 2005-07-28 Leo Chiu Multi-tenant self-service VXML portal
US7886021B2 (en) * 2008-04-28 2011-02-08 Oracle America, Inc. System and method for programmatic management of distributed computing resources
US8291490B1 (en) * 2008-06-30 2012-10-16 Emc Corporation Tenant life cycle management for a software as a service platform
US8356274B2 (en) * 2008-07-07 2013-01-15 International Business Machines Corporation System and methods to create a multi-tenancy software as a service application
US8424059B2 (en) * 2008-09-22 2013-04-16 International Business Machines Corporation Calculating multi-tenancy resource requirements and automated tenant dynamic placement in a multi-tenant shared environment
US20110126197A1 (en) * 2009-11-25 2011-05-26 Novell, Inc. System and method for controlling cloud and virtualized data centers in an intelligent workload management system
CN102170457A (zh) * 2010-02-26 2011-08-31 国际商业机器公司 向应用的多租户提供服务的方法和装置
US8700745B2 (en) * 2010-04-30 2014-04-15 Sap Ag Life-cycle management of multi-tenant SAAS applications
JP5458308B2 (ja) * 2010-06-11 2014-04-02 株式会社日立製作所 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置
US8656023B1 (en) * 2010-08-26 2014-02-18 Adobe Systems Incorporated Optimization scheduler for deploying applications on a cloud
US20120159423A1 (en) * 2010-12-17 2012-06-21 Ralf Becker Tenant independent add-on software packages for an enterprise platform as a service product
US20130081109A1 (en) * 2011-09-23 2013-03-28 Corent Technology, Inc. Multi-Tenant Agile Database Connector
US8682957B2 (en) * 2012-02-16 2014-03-25 Microsoft Corporation Embedded wireless cloud connector
US9201702B2 (en) * 2012-02-27 2015-12-01 Mccip, Inc. Integrated cloud data center management
US9043456B2 (en) * 2012-02-28 2015-05-26 Arris Technology, Inc. Identity data management system for high volume production of product-specific identity data
US9348652B2 (en) * 2012-07-02 2016-05-24 Vmware, Inc. Multi-tenant-cloud-aggregation and application-support system
US9467395B2 (en) * 2013-03-13 2016-10-11 Vmware, Inc. Cloud computing nodes for aggregating cloud computing resources from multiple sources
US9043458B2 (en) * 2013-03-19 2015-05-26 Cognizant Technology Solutions India Pvt. Ltd. Framework for facilitating implementation of multi-tenant SaaS architecture
US9557986B2 (en) * 2013-05-30 2017-01-31 Vmware, Inc. Systems and methods for customizing and programming a cloud-based management server
US9948640B2 (en) * 2013-08-02 2018-04-17 Ologn Technologies Ag Secure server on a system with virtual machines
KR20130126569A (ko) * 2013-10-24 2013-11-20 삼성에스디에스 주식회사 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼 및 그를 위한 방법, 그리고, 가상머신을 이용하는 테넌트와 서비스 공급업체
US10305761B2 (en) * 2014-07-31 2019-05-28 Corent Technology, Inc. Multi-application SaaS metering engine

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101394424B1 (ko) * 2013-04-22 2014-05-13 한국인터넷진흥원 하이퍼바이저 기반 침입 방지 플랫폼 및 가상화 네트워크 침입 방지 시스템
US11455181B1 (en) * 2014-09-19 2022-09-27 Amazon Technologies, Inc. Cross-network connector appliances

Also Published As

Publication number Publication date
US20150120818A1 (en) 2015-04-30
US9880882B2 (en) 2018-01-30

Similar Documents

Publication Publication Date Title
KR20130126569A (ko) 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼 및 그를 위한 방법, 그리고, 가상머신을 이용하는 테넌트와 서비스 공급업체
US10198281B2 (en) Hybrid infrastructure provisioning framework tethering remote datacenters
US9495142B2 (en) Dynamic reconstruction of application state upon application re-launch
US10365909B2 (en) Method and system for deploying virtualized applications
US10887283B2 (en) Secure execution and tracking of workflows in a private data center by components in the cloud
US9767312B2 (en) System and method for integrating a cloud platform environment with an application server or other environment
US20170257432A1 (en) Apparatus, systems and methods for container based service deployment
US8301746B2 (en) Method and system for abstracting non-functional requirements based deployment of virtual machines
US10530650B2 (en) Cross-cloud policy management for hybrid cloud deployments
US8370481B2 (en) Inventory management in a computing-on-demand system
US10708232B2 (en) Techniques for communication in hybrid cloud system
US10318320B1 (en) Virtual desktop access using device-native user interfaces
US11196640B2 (en) Releasing and retaining resources for use in a NFV environment
US20120066681A1 (en) System and method for management of a virtual machine environment
US20120151353A1 (en) Server ip addressing in a computing-on-demand system
US20150120917A1 (en) Methods and apparatus for scalable private services
US11836542B1 (en) Instantiating VNFs which include VNFCs that are composed of independently manageable software modules
US20160105311A1 (en) Hybrid service fleet management for cloud providers
KR101680702B1 (ko) 클라우드 기반 웹 호스팅 시스템
US11159646B1 (en) Identifying, presenting, and launching preferred applications on virtual desktop instances
KR20130047070A (ko) 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼 및 그를 위한 방법, 그리고, 가상머신을 이용하는 테넌트와 서비스 공급업체
US10133749B2 (en) Content library-based de-duplication for transferring VMs to a cloud computing system
US20160170780A1 (en) Isolating applications in server environment
US11061715B2 (en) Techniques for hybrid computer thread creation and management
JP7473287B2 (ja) コンピュータ・システムの複数のインスタンスと関連付けられたリソースをプロビジョニングするための方法、装置及びコンピュータ・プログラム

Legal Events

Date Code Title Description
A107 Divisional application of patent
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid