KR20130120893A - System and method for providing cloud computing service using virtual machine - Google Patents

System and method for providing cloud computing service using virtual machine Download PDF

Info

Publication number
KR20130120893A
KR20130120893A KR1020120044118A KR20120044118A KR20130120893A KR 20130120893 A KR20130120893 A KR 20130120893A KR 1020120044118 A KR1020120044118 A KR 1020120044118A KR 20120044118 A KR20120044118 A KR 20120044118A KR 20130120893 A KR20130120893 A KR 20130120893A
Authority
KR
South Korea
Prior art keywords
virtual machine
sharing
machine image
user
setting
Prior art date
Application number
KR1020120044118A
Other languages
Korean (ko)
Other versions
KR101478801B1 (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 KR20120044118A priority Critical patent/KR101478801B1/en
Publication of KR20130120893A publication Critical patent/KR20130120893A/en
Application granted granted Critical
Publication of KR101478801B1 publication Critical patent/KR101478801B1/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
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • 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
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • 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

Abstract

The present invention relates to a cloud computing system and method thereof using a virtual machine. The system provides the cloud computing service using the virtual machine according to one side of the present invention is equipped with a storage which stores the virtual machine images, shares administration means, sets up the share authority for the virtual machine image at least one generated by the user and server farm which gathers multiple task servers that enforce the virtual machine as it is being used. [Reference numerals] (210) User DB;(230) Service management unit;(231) User management module;(233) Service provision module;(235) Sharing management module;(250) Monitoring unit;(270) Virtual machine control unit;(290) Statistics unit

Description

가상 머신을 이용한 클라우드 컴퓨팅 서비스를 제공하는 시스템 및 방법{SYSTEM AND METHOD FOR PROVIDING CLOUD COMPUTING SERVICE USING VIRTUAL MACHINE}TECHNICAL FIELD [0001] The present invention relates to a system and a method for providing a cloud computing service using a virtual machine,

본 발명은 클라우드 컴퓨팅 기술에 관한 것으로, 보다 구체적으로 가상 머신을 이용한 클라우드 컴퓨팅 서비스를 제공하는 시스템 및 방법에 관한 것이다.The present invention relates to a cloud computing technology, and more particularly, to a system and a method for providing a cloud computing service using a virtual machine.

최근 들어 기업의 IT 자원을 효과적으로 관리하고 비용을 절감하기 위해 가상화 기술을 기반으로 한 클라우드 컴퓨팅 시스템 구축이 증가하고 있다. 이러한 클라우드 컴퓨팅 시스템은 하나의 수퍼 컴퓨터 또는 여러 대의 컴퓨터가 하나의 컴퓨터처럼 작동하도록 연결된 동일한 하드웨어 플랫폼 상에서 다수의 사용자에게 독립적인 가상 머신(Virtual Machine; VM)을 제공하는 분산 컴퓨팅 시스템이다. 이러한 기술에 의해, 예를 들어 기존에는 10대의 서버에 10개의 운영체제를 설치해 운영할 수 있었지만, 가상 머신의 형태로 수십 개의 운영체제를 설치해서 동시에 운영하는 것도 가능해진다.In recent years, cloud computing systems based on virtualization technology are increasingly being deployed to effectively manage IT resources and reduce costs. Such a cloud computing system is a distributed computing system that provides a virtual machine (VM) independent of a single supercomputer or multiple users on the same hardware platform connected so that multiple computers operate as a single computer. With this technology, for example, 10 operating systems could be installed and operated on 10 servers in the past, but it is also possible to install and operate dozens of operating systems simultaneously in the form of a virtual machine.

이러한 클라우드 컴퓨팅 시스템에서 사용자들에 제공되는 가상 머신은 기본 템플릿을 이용한 가장 기본적인 가상 머신으로서 사용자들은 본인들에게 맞는 가상 머신 환경을 구축하기 위해서는 기본적인 가상 머신에 일일히 응용 프로그램을 설치하거나 삭제하고, 여러 환경 정보를 설정해야 한다. 이는 매우 번거로운 절차일 뿐만 아니라 많은 시간이 소요되는 작업이다. In this cloud computing system, the virtual machine provided to the users is the most basic virtual machine using the basic template. In order to build the virtual machine environment suitable for the users, the application is installed or deleted in the basic virtual machine, Environment information should be set. This is a very cumbersome procedure as well as a time consuming task.

본 발명은 상기와 같은 문제점을 해결하기 위해 제안된 것으로, 가상 머신을 이용한 클라우드 컴퓨팅 서비스에서 가상 머신을 다른 사용자와 공유할 수 있도록 하는 클라우드 컴퓨팅 시스템 및 그 방법을 제공하는데 목적이 있다.It is an object of the present invention to provide a cloud computing system and a method for sharing a virtual machine with other users in a cloud computing service using a virtual machine.

본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present invention can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. It will also be readily apparent that the objects and advantages of the invention may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims.

상기 목적을 달성하기 위한 본 발명의 일 측면에 따른, 가상 머신을 이용한 클라우드 컴퓨팅 서비스를 제공하는 시스템은, 사용자에 의해 생성된 적어도 하나 이상의 가상 머신 이미지를 저장하는 저장 수단; 상기 가상 머신 이미지에 대한 공유 권한을 설정하는 공유 관리 수단; 및 상기 가상 머신 이미지를 이용하여 가상 머신을 실행하는 복수의 작업 서버들의 집합인 서버 팜;을 포함한다.According to an aspect of the present invention, there is provided a system for providing a cloud computing service using a virtual machine, comprising: storage means for storing at least one virtual machine image generated by a user; Sharing management means for setting a sharing right for the virtual machine image; And a server farm which is a set of a plurality of job servers executing the virtual machine using the virtual machine image.

상기 공유 관리 수단은, 전체 사용자들에게 공유, 또는 공유 금지 중 어느 하나로 공유 권한을 설정할 수 있다. The sharing management means may set a sharing right by either sharing to all users or prohibiting sharing.

또한, 상기 공유 관리 수단은, 전체 사용자들에게 공유, 공유 금지, 또는 지정된 사용자들에게만 공유 중 어느 하나로 공유 권한을 설정할 수 있다. In addition, the sharing management means may set a sharing right by sharing among all users, prohibition of sharing, or sharing only with designated users.

상기 공유 관리 수단은, 지정된 사용자들에게만 공유 권한을 설정하기 위한 사용자 검색 툴을 제공할 수 있다. The sharing management means may provide a user search tool for setting a sharing right only to designated users.

상기 시스템은, 상기 공유 관리 수단에 의해 공유 권한이 설정된 가상 머신 이미지에 대해 보안 정책을 참조하여 검증을 수행하는 검증 수단;을 더 포함할 수 있다. The system may further include verification means for performing verification with reference to a security policy on the virtual machine image set by the sharing management means.

상기 보안 정책은, 상기 가상 머신 이미지에 설치된 소프트웨어의 보안 패치 적용 여부, 네트워크 서비스의 비활성 여부, 계정/암호의 삭제 여부, 또는 로그 파일 삭제 여부 중 적어도 하나를 포함할 수 있다. The security policy may include at least one of a security patch applied to the software installed in the virtual machine image, a network service disabled state, an account / password deleted state, and a log file deleted state.

상기 가상 머신 이미지는, 운영 체제, 구성(configuration) 설정, 응용 프로그램, 이용 가능한 디스크 공간(available disk space) 및 라이브러리를 포함할 수 있다. The virtual machine image may include an operating system, configuration settings, application programs, available disk space, and libraries.

상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른 클라우드 컴퓨팅 시스템에서의 가상 머신을 이용한 클라우드 컴퓨팅 서비스 제공 방법은, 사용자에 의해 생성된 적어도 하나 이상의 가상 머신 이미지를 저장 수단에 저장하는 단계; 사용자의 요청에 따라 상기 가상 머신 이미지에 대한 공유 권한을 설정하는 단계; 및 상기 가상 머신 이미지를 이용하여 가상 머신을 실행하는 단계;를 포함한다.According to another aspect of the present invention, there is provided a method of providing a cloud computing service using a virtual machine in a cloud computing system, the method comprising: storing at least one virtual machine image generated by a user in a storage means; Setting a sharing right for the virtual machine image according to a user's request; And executing the virtual machine using the virtual machine image.

상기 공유 권한을 설정하는 단계는, 전체 사용자들에게 공유, 또는 공유 금지 중 어느 하나로 공유 권한을 설정할 수 있다. The step of setting the sharing right may set the sharing right to either all users or all users.

또한, 상기 공유 권한을 설정하는 단계는, 전체 사용자들에게 공유, 공유 금지, 또는 지정된 사용자들에게만 공유 중 어느 하나로 공유 권한을 설정할 수 있다. In addition, the step of setting the sharing authority may set the sharing authority to any one of sharing, sharing prohibition for all users, or sharing only to designated users.

상기 공유 권한을 설정하는 단계는, 사용자를 검색할 수 있는 검색툴을 제공하는 단계; 및 상기 검색툴을 이용하여, 지정된 사용자들에게만 공유 권한을 설정하는 단계;를 포함할 수 있다. Wherein the setting of the sharing authority comprises: providing a search tool capable of searching for a user; And setting a sharing right only to designated users using the search tool.

상기 방법은, 상기 공유 권한이 설정된 가상 머신 이미지에 대해 보안 정책을 참조하여 검증을 수행하는 단계;를 더 포함할 수 있다. The method may further include performing verification by referring to a security policy for the virtual machine image for which the sharing right is set.

본 발명에 의하면, 클라우드 컴퓨팅 서비스를 이용하는 사용자들은 서버 구축과 같은 컴퓨팅 환경을 구축할 때 다른 사용자가 구축해 놓은 최적화된 가상 머신 이미지를 이용하여 손쉽게 컴퓨팅 환경을 구축할 수 있게 된다. 종래에는 사용자가 직접 가상 머신을 생성하고 필요한 소프트웨어 등을 설치 및 설정하여야 하는데, 이러한 번거로움을 줄일 수 있다.According to the present invention, a user of a cloud computing service can easily construct a computing environment by using an optimized virtual machine image constructed by another user when constructing a computing environment such as a server. Conventionally, a user must manually create a virtual machine and install and set necessary software, etc., and this can be reduced.

또한, 본 발명은 가상 머신 이미지를 공유하는데 있어서 보안 정책을 이용하여 검증을 수행함으로써 가상 머신 이미지의 공유에 따른 보안 위험을 줄일 수 있다.In addition, the present invention can reduce a security risk due to sharing of a virtual machine image by performing a verification using a security policy in sharing a virtual machine image.

도 1은 본 발명의 실시예에 따른 클라우드 컴퓨팅 서비스를 제공하는 시스템 구조를 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 관리 서버의 구성을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 가상 머신의 공유 설정을 위한 인터페이스 화면을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 가상 머신 이미지에 대한 공유 권한 설정을 위한 팝업 화면을 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 공유된 가상 머신의 정보를 표시한 화면을 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 클라우드 서버를 신청하기 위한 화면을 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 가상 머신 이미지의 공유 과정을 설명하는 흐름도이다.
도 8은 본 발명의 다른 실시예에 따른 관리 서버의 구성을 나타낸 도면이다.
1 is a diagram illustrating a system structure for providing a cloud computing service according to an embodiment of the present invention.
2 is a block diagram of a management server according to an embodiment of the present invention.
FIG. 3 is a view showing an interface screen for sharing setting of a virtual machine according to an embodiment of the present invention.
4 is a diagram illustrating a pop-up screen for setting a sharing permission for a virtual machine image according to an embodiment of the present invention.
FIG. 5 is a diagram illustrating a screen for displaying information of a shared virtual machine according to an exemplary embodiment of the present invention. Referring to FIG.
6 is a diagram illustrating a screen for requesting a cloud server according to an embodiment of the present invention.
7 is a flowchart illustrating a process of sharing a virtual machine image according to an exemplary embodiment of the present invention.
8 is a diagram illustrating a configuration of a management server according to another embodiment of the present invention.

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.The foregoing and other objects, features and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings, in which: There will be. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, except to exclude other components unless otherwise stated. Also, the terms "part," " module, "and the like, which are described in the specification, refer to a unit for processing at least one function or operation, and may be implemented by hardware or software or a combination of hardware and software.

도 1은 본 발명의 실시예에 따른 클라우드 컴퓨팅 서비스를 제공하는 시스템 구조를 나타낸 도면이다. 도 1을 참조하면, 본 실시예에 따른 시스템은, 클라이언트(100), 서버 팜(110), 스토리지(130), 관리 서버(150) 및 관리자 단말(170)을 포함한다1 is a diagram illustrating a system structure for providing a cloud computing service according to an embodiment of the present invention. 1, the system according to the present embodiment includes a client 100, a server farm 110, a storage 130, a management server 150, and an administrator terminal 170

클라이언트(100)는 휴대 전화, 디지털 텔레비젼, 셋톱 박스, MP3 플레이어, PMP 플레이어, 노트북, 퍼스널 컴퓨터 등 네트워크 접속이 가능한 사용자의 단말일 수 있다. 사용자는 클라이언트(100)를 이용하여 네트워크(190)를 통해 관리 서버(150)에 접속하여 클라우드 컴퓨팅 서비스를 요청하고, 클라이언트(100)를 이용하여 텔넷, FTP 등을 통해 클라우드 컴퓨팅 서비스를 위한 작업 서버에 접속할 수 있다. The client 100 may be a terminal of a user who can connect to the network such as a cellular phone, a digital television, a set-top box, an MP3 player, a PMP player, a notebook, and a personal computer. The user accesses the management server 150 through the network 190 using the client 100 to request the cloud computing service and transmits the request for the cloud computing service through the client 100 to the operation server 150 for the cloud computing service through Telnet, .

서버 팜(server farm)(110)은 다수 개의 컴퓨터로 중앙 집중화된 서버들의 그룹으로서, 클라이언트(100)에 컴퓨팅 서비스를 제공하기 위한 동작을 수행하는 하나 이상의 작업 서버(111, 113, 115)를 포함할 수 있다. 하나 이상의 작업 서버의 개수에는 제한이 없으며, 각각의 서버는 물리적인 하드웨어가 설치되어 있고 그 하드웨어 상에 개별적으로 별도의 운영체제를 갖거나 공유할 수 있다.A server farm 110 is a group of servers centrally centralized by a plurality of computers and includes one or more work servers 111, 113, and 115 that perform operations to provide computing services to the client 100 can do. There is no limit to the number of one or more job servers, and each server has physical hardware installed and can have or share a separate operating system on its hardware.

서버 팜(110) 내의 작업 서버(111, 113, 115)는 스토리지(130)로부터 가상 머신 이미지를 수신하여 자원을 할당하여 가상 머신을 생성하고 가상 머신의 자원 반납 등의 일련의 클라우드 컴퓨팅 기능을 제공한다. 가상 머신은 물리적 하드웨어를 다중화하여 하나의 하드웨어에서 복수 개의 서로 다른 운영 체제가 동작하는 것을 가능하게 하는 가상 컴퓨터로서 본 실시예에서는 가상 서버로 이해될 수 있다. 그리고 가상 머신 이미지는 가상 서버의 운영 체제, 구성(configuration) 설정, 응용 프로그램, 이용 가능한 디스크 공간(available disk space) 및 라이브러리 등이 포함된다.The job servers 111, 113, and 115 in the server farm 110 receive virtual machine images from the storage 130, allocate resources, create virtual machines, and provide a set of cloud computing functions such as returning resources of the virtual machines. do. A virtual machine is a virtual machine that enables a plurality of different operating systems to operate in one hardware by multiplexing physical hardware, and can be understood as a virtual server in this embodiment. The virtual machine image includes the virtual server's operating system, configuration settings, application programs, available disk space, and libraries.

작업 서버(111, 113, 115)는 스토리지(130)로부터 가상 머신 이미지(운영 체제, 설치된 응용 프로그램 및 이용 가능한 디스크 공간 등)를 복사하여 가져온 후 하드웨어 자원을 할당한 뒤 그 복사본에 추가 필요 정보를 설정한 후 구동함으로써 가상 머신을 실행한다.The job servers 111, 113, and 115 copy the virtual machine image (operating system, installed application programs, available disk space, and the like) from the storage 130, allocate hardware resources, After setting and running, run the virtual machine.

가상 머신의 실행이 시작되면, 응용 프로그램이 가상 머신에서 실행될 수 있다. 그리고 사용자는 실행된 가상 머신에서 기존 응용 프로그램을 삭제하거나, 새로운 응용 프로그램을 설치할 수 있고, 또는 환경 설정 정보 등을 변경할 수 있다. 작업 서버(111, 113, 115)에서 실행된 가상 머신은 스냅샷으로 만들어져 최종적으로 가상 머신 이미지로 생성되어 스토리지(130)에 저장될 수 있다. When the execution of the virtual machine is started, the application program can be executed in the virtual machine. In addition, the user may delete an existing application, install a new application, or change configuration information in the executed virtual machine. The virtual machines executed in the job servers 111, 113, and 115 may be created as snapshots and finally created as virtual machine images and stored in the storage 130.

스토리지(130)는, 가상 머신 이미지 스토리지(131), 사용자 스토리지(133)를 포함한다. The storage 130 includes a virtual machine image storage 131 and a user storage 133.

가상 머신 이미지 스토리지(131)는 가상 서버의 운영 체제, 구성(configuration) 설정, 응용 프로그램, 이용 가능한 디스크 공간(available disk space) 및 라이브러리 등이 포함된 가상 머신 이미지를 저장한다. 바람직하게, 가상 머신 이미지 스토리지(131)는 서비스 최초 사용시 제공되는 원형(original)의 기본적인 가상 머신 이미지들이 저장되는데, 읽기 전용의 스토리지 역할을 하는 것이 바람직하다.The virtual machine image storage 131 stores virtual machine images including an operating system of the virtual server, configuration settings, application programs, available disk space, and libraries. Preferably, the virtual machine image storage 131 stores original virtual machine images provided at the time of using the service for the first time, and preferably serves as a read-only storage.

사용자 스토리지(133)는 사용자들에 의해 작업이 수행된 내용이 반영된 사용자들의 가상 머신 이미지를 저장한다. 구체적으로, 사용자가 가상 머신 이미지 스토리지(131)로부터 원형 이미지를 선택하여 가상 서버를 구축한 후 작업을 수행하고, 그 가상 서버에 대한 이미지 생성을 요청하면, 관리 서버(150)는 그 가상 서버에 대한 스냅샷을 만들어 새로운 가상 머신 이미지를 생성한 후 사용자 스토리지(133)에 저장한다. 이와 같이 생성되어 사용자 스토리지(133)에 저장된 가상 머신 이미지는 공유 권한 설정에 의해 다른 사용자들에 의해 공유될 수 있다. The user storage 133 stores a virtual machine image of users whose contents are reflected by the users. Specifically, when a user selects a circular image from the virtual machine image storage 131 to build a virtual server, and then performs an operation, and requests an image creation for the virtual server, the management server 150 transmits the image to the virtual server Creates a new virtual machine image, and stores the created virtual machine image in the user storage 133. The virtual machine image generated in this manner and stored in the user storage 133 can be shared by other users by setting the sharing authority.

사용자 스토리지(133)의 공간은 많은 사용자가 가상 머신 이미지를 생성하여 저장할 수 있도록 충분히 커야 한다. 필요에 따라 사용자가 자신이 저장해 놓은 가상 머신 이미지의 목록을 요구할 경우 이를 제공한다.The space of the user storage 133 must be large enough to allow many users to create and store virtual machine images. If the user asks for a list of virtual machine images that he or she has stored as needed, it provides them.

본 실시예에서는 가상 머신 이미지 스토리지(131)와 사용자 스토리지(133)를 분리하여 설명하지만, 이는 논리적인 의미에서 구분하여 설명한 것일 뿐, 물리적으로 하나의 스토리지로 통합될 수도 있고, 또는 논리적인 의미와 마찬가지로 물리적으로 분리된 스토리지로 구축될 수도 있으나, 반드시 여기에 제한되는 것은 아니다.In the present embodiment, the virtual machine image storage 131 and the user storage 133 are separately described. However, the virtual machine image storage 131 and the user storage 133 are separately described in a logical sense, and may be physically integrated into one storage, Likewise, it may be constructed as physically separate storage, but is not necessarily limited thereto.

관리 서버(150)는 웹 페이지를 통하여 사용자들의 회원 가입 처리, 사용자의 요청에 따른 가상 머신 생성 및 삭제, 그리고 사용자의 요청에 따른 가상 머신 이미지의 공유 등의 처리를 수행한다. 관리 서버(150)는 서버 팜(110)에 대해서는 일종의 게이트웨이 또는 허브의 역할을 수행하여 서버 팜(110) 내의 작업 서버(111, 113, 115)가 스토리지(130)에서 필요한 가상 머신 이미지를 수신하여 컴퓨팅 서비스를 동작할 수 있도록 제어한다.The management server 150 performs processes such as membership subscription processing for users, creation and deletion of virtual machines according to a user's request, and sharing of a virtual machine image according to a user's request through a web page. The management server 150 performs a role of a gateway or a hub for the server farm 110 so that the job servers 111, 113, and 115 in the server farm 110 receive the necessary virtual machine images from the storage 130 And controls the operation of the computing service.

관리자 단말(170)은 클라우드 컴퓨팅 시스템을 전체적으로 관리하는 관리자의 단말로서 퍼스널 컴퓨터 또는 노트북과 같은 단말일 수 있다.The administrator terminal 170 may be a terminal such as a personal computer or a notebook computer as an administrator terminal that manages the cloud computing system as a whole.

도 2는 본 발명의 일 실시예에 따른 관리 서버(150)의 구성을 나타낸 도면이다.FIG. 2 is a diagram illustrating a configuration of a management server 150 according to an embodiment of the present invention.

도 2를 참조하면, 본 실시예에 따른 관리 서버(150)는 사용자 데이터베이스(DB)(210), 서비스 관리부(230), 모니터링부(250), 가상 머신 제어부(270) 및 통계부(290)를 포함한다.2, the management server 150 includes a user database (DB) 210, a service management unit 230, a monitoring unit 250, a virtual machine control unit 270, a statistics unit 290, .

사용자 데이터베이스(210)는 회원 가입된 사용자의 정보를 저장하는 공간으로, ID/패스워드를 저장하고, 또한 실시간으로 가상 머신의 사용 내역을 통계부(290)로부터 제공받아 저장한다.The user database 210 is a space for storing information on registered users, stores the ID / password, and stores the usage history of the virtual machine from the statistics unit 290 in real time.

서비스 관리부(230)는 웹 페이지를 통하여 사용자들의 회원 가입 처리를 수행하고, 사용자의 요청에 따른 클라우드 컴퓨팅 서비스의 제공을 관리하며, 특히 사용자에 의해 생성된 가상 머신 이미지의 공유를 관리한다. 이러한 서비스 관리부(230)는 사용자 관리 모듈(231), 서비스 제공 모듈(233) 및 공유 관리 모듈(235)을 포함한다.The service management unit 230 manages the membership of the users through the web page, manages the provision of the cloud computing service according to the request of the user, and particularly manages the sharing of the virtual machine image generated by the user. The service management unit 230 includes a user management module 231, a service providing module 233, and a sharing management module 235.

사용자 관리 모듈(231)은, 회원 가입을 위한 웹 페이지를 제공하고, 사용자들은 웹 브라우저를 통해 이 페이지에 접속하여 회원 가입을 한다. 사용자 관리 모듈(231)은 사용자 데이터베이스(140)에 회원 가입 정보를 저장한다.The user management module 231 provides a web page for member registration, and users access the page through a web browser to join the membership. The user management module 231 stores membership subscription information in the user database 140.

서비스 제공 모듈(233)은, 사용자에게 클라우드 컴퓨팅 서비스의 제공을 위한 인터페이스를 제공하고 그 인터페이스를 통해 수신되는 사용자의 입력에 따라 가상 머신의 생성 및 삭제에 대한 기본적인 서비스를 제공한다.The service providing module 233 provides an interface for providing a cloud computing service to a user and provides a basic service for creating and deleting a virtual machine according to a user's input received through the interface.

구체적으로, 서비스 제공 모듈(233)은 가상 머신을 새로 구축하고자 하는 사용자에게 가상 머신 이미지 스토리지(131)에 저장된 원형의 가상 머신 이미지의 목록을 제공하여 이 중 선택된 가상 머신 이미지의 정보를 가상 머신 제어부(270)로 전달하여 가상 머신이 구동되도록 한다.Specifically, the service providing module 233 provides a list of virtual virtual machine images stored in the virtual machine image storage 131 to a user who intends to construct a new virtual machine, To the controller 270 so that the virtual machine is driven.

또한, 서비스 제공 모듈(233)은 이미 구축된 가상 머신을 이용하고자 하는 사용자에게 사용자 스토리지(133)에 저장된 해당 사용자의 가상 머신 이미지의 목록을 제공하고 이 중 선택된 가상 머신 이미지의 정보를 가상 머신 제어부(270)에 전달하여 가상 머신이 구동되도록 한다.Also, the service providing module 233 provides a list of virtual machine images of the user stored in the user storage 133 to the user who intends to use the virtual machine already built, and transmits the information of the selected virtual machine image to the virtual machine controller (270) so that the virtual machine is driven.

또한, 서비스 제공 모듈(233)은 사용자의 요청에 따라 가상 머신 제어부(270)에 의해 구동되고 있는 가상 머신에 대한 가상 머신 이미지를 생성하여 사용자 스토리지(133)에 저장한다.In addition, the service providing module 233 generates a virtual machine image for the virtual machine driven by the virtual machine controller 270 according to a request from the user, and stores the virtual machine image in the user storage 133.

또한, 서비스 제공 모듈(233)은, 사용자 스토리지(133)에 저장된, 공유로 설정되어 있는 가상 머신 이미지의 목록을 사용자에게 제공하고 이 중에 사용자에 의해 선택된 가상 머신 이미지의 정보를 가상 머신 제어부(270)로 전달하여 가상 머신이 구동되도록 하거나, 그 선택된 가상 머신 이미지를 복사하여 해당 가상 머신 이미지를 선택한 사용자의 것으로 사용자 스토리지(133)에 저장할 수 있다.The service providing module 233 provides the user with a list of the virtual machine images set to be shared and stored in the user storage 133 and provides the virtual machine image information selected by the user to the virtual machine controller 270 To copy the selected virtual machine image and store the virtual machine image in the user storage 133 as a selected user.

공유 관리 모듈(235)은 사용자 스토리지(133)에 저장된 사용자들의 가상 머신 이미지들에 대한 공유 권한을 설정한다. 공유 관리 모듈(235)은 사용자들로부터 사용자 스토리지(133)에 저장된 해당 사용자들의 가상 머신 이미지들에 대한 공유 여부와, 공유하는 경우 공유 대상의 정보를 입력받아 이에 관한 정보를 사용자 스토리지(133)에 저장한다. 공유의 종류로는 전체 사용자들에게 공유, 지정된 사용자들에게만 공유로 구분할 수 있다.The sharing management module 235 sets the sharing authority for the virtual machine images of the users stored in the user storage 133. The sharing management module 235 receives from the users whether or not the virtual machines images of the users stored in the user storage 133 are shared and information on the sharing target when they are shared, . The type of sharing can be divided among all users and shared users only.

공유 관리 모듈(235)은, 가상 머신 이미지를 공유할 다른 사용자를 검색할 수 있는 검색 툴을 제공한다. 공유 관리 모듈(235)은 사용자 데이터베이스(210)에 저장된 사용자들의 정보에 기초하여 검색 툴을 통해 검색 서비스를 제공한다.The sharing management module 235 provides a search tool that can search for other users to share the virtual machine image. The sharing management module 235 provides the search service through the search tool based on the information of the users stored in the user database 210. [

모니터링부(250)는, 가상 머신 및 서버 팜(110) 내의 작업 서버들의 상태를 모니터링하고, 가상 머신과 작업 서버들의 위치, 가상 머신 및 서버들의 부하를 실시간으로 모니터링한다.The monitoring unit 250 monitors the statuses of the job servers in the virtual machine and the server farm 110, and monitors the positions of the virtual machines and the job servers, the load of the virtual machines and the servers in real time.

가상 머신 제어부(270)는 상기 모니터링부(250)의 모니터링 결과, 즉 가상 머신 및 작업 서버의 상태에 기초하여 가상 머신을 구동할 서버 팜(110) 내의 작업 서버(111, 113, 115)를 선택하고, 그 선택한 작업 서버(111, 113, 115) 상에 상기 서비스 제공 모듈(233)로부터 전달되는 가상 머신 이미지의 정보를 이용하여 가상 머신이 실행되도록 제어한다.The virtual machine control unit 270 selects the job servers 111, 113, and 115 in the server farm 110 in which the virtual machine is to be driven based on the monitoring result of the monitoring unit 250, And controls the virtual machine to be executed using the information of the virtual machine image transmitted from the service providing module 233 on the selected work servers 111, 113, and 115.

가상 머신 제어부(270)는 서버 팜(110) 내의 작업 서버(111, 113, 115)들의 부하 상태에 따라 가상 머신을 실행할 작업 서버(111, 113, 115)를 선택한다. 작업 서버(111, 113, 115)들의 부하 상태는 CPU 사용율, 메모리 사용율 등이고, 가상 머신 제어부(270)는 부하가 가장 낮은 작업 서버(111, 113, 115)를 선택하여 가상 머신을 부팅한다. The virtual machine control unit 270 selects the job servers 111, 113, and 115 to execute the virtual machine according to the load status of the job servers 111, 113, and 115 in the server farm 110. The load states of the job servers 111, 113, and 115 are CPU usage rates, memory utilization rates, and the like, and the virtual machine controller 270 selects the job servers 111, 113, and 115 having the lowest load to boot the virtual machine.

가상 머신 제어부(270)는 가상 머신과 관련된 동작, 예를 들어 가상 머신 이미지의 복사, 가상 머신의 부팅, 가상 머신 인스턴스의 셧다운 등을 수행한다. 가상 머신 인스턴스는 가상 머신이 작업 서버(111, 113, 115)에서 이용가능한 상태로 론칭(launching)된 상태의 가상 머신을 가리킨다.The virtual machine control unit 270 performs an operation related to the virtual machine, for example, copying of the virtual machine image, booting of the virtual machine, and shutdown of the virtual machine instance. The virtual machine instance refers to a virtual machine in a state where the virtual machine is launched in a state available in the job servers 111, 113, and 115.

가상 머신 제어부(270)는 물리적인 작업 서버 한 대에 하나 이상의 가상 머신을 부트시켜 제공할 수도 있고, 한 개 이상의 작업 서버에 가상 머신을 부팅시킬 수 있다.The virtual machine control unit 270 may boot and provide one or more virtual machines to one physical work server, or may boot the virtual machines to one or more job servers.

통계부(290)는 사용자들의 가상 머신의 이용 시간, 가상 머신을 위한 스토리지 사용량 등을 측정하고 그 측정된 정보를 사용자 데이터베이스(210)에 저장한다. 이러한 이용 시간 및 사용량은 사용자들의 서비스 이용 요금을 과금하는데 활용된다.The statistics unit 290 measures the utilization time of users' virtual machines, the amount of storage usage for virtual machines, and the like, and stores the measured information in the user database 210. Such use time and usage amount are used to charge the service utilization fee of the users.

도 3은 본 발명의 일 실시예에 따른 가상 머신의 공유 설정을 위한 인터페이스 화면을 나타낸 도면이다.FIG. 3 is a view showing an interface screen for sharing setting of a virtual machine according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 사용자의 클라이언트(100)가 접속하여 로그인을 하면, 관리 서버(150)는 클라우드 컴퓨팅 서비스의 메뉴를 포함하는 웹 페이지를 제공하고, 이 중에서 사용자가 나의 이미지(310)를 선택하면, 해당 사용자의 가상 머신 이미지의 리스트를 제공한다. 도 3에 도시된 바와 같이, 나의 이미지(310)의 메뉴에서 제공되는, 가상 머신 이미지의 정보는 '이미지명', 'OS 종류', '상태', '생성일자', '볼륨 사이즈' 및 '공유 설정'이다.3, when the user's client 100 accesses and logs in, the management server 150 provides a web page including a menu of the cloud computing service, , A list of virtual machine images of the user is provided. 3, the information of the virtual machine image provided in the menu of the image 310 includes 'image name', 'OS type', 'status', 'creation date', 'volume size' Sharing settings.

'이미지명'은 해당 가상 머신 이미지의 이름이고, 'OS 종류'는 해당 가상 머신 이미지에 탑재된 운영 체제의 종류이며, '상태'는 현재 해당 가상 머신 이미지가 사용되고 있는지 여부에 관한 정보이며, '볼륨 사이즈'는 해당 가상 머신 이미지의 용량 정보이며, '공유 설정'은 해당 가상 머신 이미지에 대한 공유 설정 유무에 관한 정보이다.'OS type' is the type of the operating system mounted on the corresponding virtual machine image, 'status' is information about whether or not the corresponding virtual machine image is currently used, and 'image name' is the name of the corresponding virtual machine image, Volume size 'is the capacity information of the corresponding virtual machine image, and' sharing setting 'is information about sharing setting of the virtual machine image.

'공유 설정'은 public, partial, private의 3 가지 종류로 구분되어 표시된다. public은 해당 가상 머신 이미지가 모든 사용자에게 공개된 것을 의미하며, partial은 해당 가상 머신 이미지가 지정된 사용자에게만 공개된 것을 의미하고, private은 해당 가상 머신 이미지가 제 3 자에게 전혀 공개되지 않은 것을 의미한다.'Sharing configuration' is divided into three kinds of public, partial, and private. public means that the virtual machine image is open to all users, partial means that the virtual machine image is only displayed to the designated user, and private means that the virtual machine image is not disclosed to any third party at all .

한편, 사용자는 나의 이미지로 등록된 가상 머신 이미지를 선택한 후 서버 신청을 할 수 있다. 사용자는 도 3에 도시된 화면에서 '서버 신청' 메뉴(313)를 선택할 수 있고, 관리 서버(150)는 사용자가 가상 머신 이미지의 리스트(311)에서 선택한 가상 머신 이미지를 이용하여 서버를 신청할 수 있도록 한다. 구체적으로, 도면에 도시하지 않았지만, 관리 서버(150)는 신청할 수 있는 서버의 종류, 예컨대 CPU, RAM, 스토리지 용량, 가격에 따른 서버의 종류를 제시하고, 이 중에서 선택된 종류의 서버에 상기 선택된 가상 머신 이미지를 로딩하여 가상 머신을 생성한다.On the other hand, the user can select a virtual machine image registered as my image and apply for a server. The user can select the 'server application' menu 313 on the screen shown in FIG. 3, and the management server 150 can request the server using the virtual machine image selected by the user in the list 311 of virtual machine images . Specifically, although not shown in the drawing, the management server 150 presents the types of servers that can be requested, such as CPU, RAM, storage capacity, and price, A virtual machine is created by loading the machine image.

도 3에 도시된 바와 같이, 관리 서버(150)는 나의 이미지(310)의 화면에서 '머신 이미지 생성 및 변경'의 서브 메뉴(315)를 출력하고, 그 '머신 이미지 생성 및 변경'(315)이 사용자에 의해 선택되면, 현재 선택된 가상 머신 이미지에 대한 공유 권한 설정을 위한 팝업 화면을 표시한다.3, the management server 150 outputs a submenu 315 of 'Create and Modify Machine Image' on the screen of my image 310, and the 'Create and Modify Machine Image' When selected by the user, a pop-up screen for setting the sharing right for the currently selected virtual machine image is displayed.

도 4는 본 발명의 일 실시예에 따른 가상 머신 이미지에 대한 공유 권한 설정을 위한 팝업 화면을 나타낸 도면으로, 도 4에 도시된 바와 같이, 관리 서버(150)는 공유 권한 설정을 위한 팝업 화면에, public, authenticated user(전술한 실시예에서는 partial로 설명), private 중 어느 하나를 선택할 수 있는 선택 바(410), public이 선택되었을 때 가상 머신 이미지를 모든 사용자에게 공개할 것인지(everyone) 아니면 지정된 사용자에게만 공개할 것인지(authenticated user) 선택할 수 있는 선택 버튼(430), 그리고 지정된 사용자에게만 공개할 경우 지정할 사용자를 선택할 수 있는 리스트(450)를 표시한다. 아울러 도시되지 않았지만, 사용자를 검색할 수 있는 검색창도 표시한다.FIG. 4 is a diagram illustrating a pop-up screen for setting a sharing right for a virtual machine image according to an embodiment of the present invention. As shown in FIG. 4, the management server 150 displays a pop- , public, authenticated user (described as partial in the above embodiment), and private, a selection bar 410, a public virtual machine image is displayed to all users when public is selected, A selection button 430 for selecting an authenticated user only to the user, and a list 450 for selecting a user to be designated when the user is disclosed only to the designated user. Although not shown, a search window for displaying the user is also displayed.

도 5는 본 발명의 일 실시예에 따른 공유된 가상 머신의 정보를 표시한 화면을 나타낸 도면이다.FIG. 5 is a diagram illustrating a screen for displaying information of a shared virtual machine according to an exemplary embodiment of the present invention. Referring to FIG.

도 5에 도시된 바와 같이, 사용자의 클라이언트(100)가 접속하여 로그인을 하면, 관리 서버(150)는 클라우드 컴퓨팅 서비스의 메뉴를 포함하는 웹 페이지를 제공하고, 이 중에서 사용자가 머신 이미지(510)를 선택하면, 다른 사용자에 의해 공유된 가상 머신 이미지의 리스트(511), 그리고 서버 신청 메뉴(513), 그리고 사용 후기의 리스트(515)를 제공한다. 5, when the user's client 100 accesses and logs in, the management server 150 provides a web page including a menu of the cloud computing service, and a user selects the machine image 510, A list 511 of virtual machine images shared by other users, a server application menu 513, and a list of reviews 515 are provided.

도 5에 도시된 바와 같이, 머신 이미지(510)의 메뉴에서 제공되는, 공유된 가상 머신 이미지의 정보는 'ID', 'NAME', 'Owner', '공유상태' 및 'OS 종류'이다.As shown in FIG. 5, the information of the shared virtual machine image provided in the menu of the machine image 510 is 'ID', 'NAME', 'Owner', 'Shared state' and 'OS type'.

'ID'는 가상 머신 이미지의 ID이고, 'NAME'은 가상 머신 이미지명이며, 'Owner'는 가상 머신 이미지를 생성하여 공유한 사용자의 정보이며, '공유상태'는 해당 가상 머신 이미지의 공유 권한 정보, 즉 전체 공개인지 지정된 사용자에게만 공개된 것인지 여부를 나타내며, 'OS 종류'는 해당 가상 머신 이미지의 운영체제의 정보이다.'ID' is the ID of the virtual machine image, 'NAME' is the virtual machine image name, 'Owner' is the information of the user who created and shared the virtual machine image, 'Sharing status' Information, that is, whether the entire disclosure is disclosed only to the designated user, and the 'OS type' is the information of the operating system of the corresponding virtual machine image.

사용자는 도 5에 도시된 화면에서 '서버 신청' 메뉴(513)를 선택할 수 있고, 관리 서버(150)는 사용자가 가상 머신 이미지의 리스트(511)에서 선택한 가상 머신 이미지를 이용하여 서버를 신청할 수 있도록 한다. 구체적으로, 도면에 도시하지 않았지만, 관리 서버(150)는 신청할 수 있는 서버의 종류, 예컨대 CPU, RAM, 스토리지 용량, 가격에 따른 서버의 종류를 제시하고, 이 중에서 선택된 종류의 서버에 상기 선택된 가상 머신 이미지를 로딩하여 가상 머신을 생성한다.The user can select the 'Server Application' menu 513 on the screen shown in FIG. 5, and the management server 150 can request the server using the virtual machine image selected by the user in the list 511 of virtual machine images . Specifically, although not shown in the drawing, the management server 150 presents the types of servers that can be requested, such as CPU, RAM, storage capacity, and price, A virtual machine is created by loading the machine image.

사용자는 도 5에 도시된 화면에서, 가상 머신 이미지에 대한 후기를 등록할 수 있고, 그 등록된 후기는 사용 후기의 리스트(515)에 표시된다. 사용 후기의 리스트(515)에 등록된 사용 후기를 참조하여 사용자들은 본인에게 맞는 가상 머신 이미지를 선택할 수 있다.5, the user can register a later date for the virtual machine image, and the registered date is displayed in the list of usage period 515. Users can select a virtual machine image suitable for the user by referring to the review period registered in the review period list 515.

도 6은 본 발명의 일 실시예에 따른 클라우드 서버를 신청하기 위한 화면을 나타낸 도면이다. 6 is a diagram illustrating a screen for requesting a cloud server according to an embodiment of the present invention.

도 3을 참조한 실시예에서 사용자는 나의 이미지의 리스트에서 가상 머신 이미지를 선택한 후 서버를 신청할 수 있고, 5를 참조한 실시예에서 사용자는 공유된 가상 머신 이미지의 리스트에서 가상 머신 이미지를 선택한 후 서버를 신청할 수 있었으나, 본 실시예에서 사용자는 클라우드 서버 메뉴에서 원형의 가상 머신 이미지, 또는 본인의 가상 머신 이미지 또는 공유된 가상 머신 이미지를 선택하여 원하는 가상 머신 이미지를 선택하면서 서버를 신청할 수 있다.In the embodiment of FIG. 3, the user can select a virtual machine image from a list of my images and then apply for a server. In the embodiment referenced 5, the user selects a virtual machine image from a list of shared virtual machine images, However, in the present embodiment, the user can request a server while selecting a desired virtual machine image by selecting a circular virtual machine image, his own virtual machine image, or a shared virtual machine image from the cloud server menu.

도 6을 참조하면, 사용자가 '클라우드 서버'(610)의 메뉴에서 서버 신청(630)을 클릭하면, 관리 서버(150)는 도 6과 같은 클라우드 서버 신청에 관한 팝업을 출력하고, 사용자는 첫 번째 단계(650)로 운영체제를 선택하고, 두 번째 단계(670)로 서버를 선택하고, 세 번째 단계(670)로 신청 내역을 확인한다. 운영체제를 선택하는 첫 번째 단계(650)는 가상 머신 이미지를 선택하는 것으로서, 사용자는 '기본 이미지', '나의 이미지', '머신 이미지' 중 어느 하나를 선택하여 가상 머신 이미지를 선택한다. 6, when the user clicks the server application 630 on the menu of the 'cloud server' 610, the management server 150 outputs a pop-up related to the application of the cloud server as shown in FIG. 6, (650), the server is selected in the second step (670), and the application details are confirmed in the third step (670). The first step 650 of selecting an operating system is to select a virtual machine image, and the user selects a virtual machine image by selecting any of 'basic image', 'my image', and 'machine image'.

여기서 '기본 이미지'는 원형의 가상 머신 이미지로 사업자에 의해 제공되는 기본적인 가상 머신 이미지이고, '나의 이미지'는 사용자가 등록해 놓은 가상 머신 이미지를 의미하며, '머신 이미지'는 다른 사용자에 의해 공유된 가상 머신 이미지'를 의미한다. 사용자는 이 중에서 하나를 선택하여 본인이 원하는 가상 머신 이미지를 선택할 수 있다. Here, 'basic image' is a circular virtual machine image, which is a basic virtual machine image provided by a company, 'my image' means a virtual machine image registered by the user, and 'machine image' Quot; virtual machine image ". The user can select one of them and select a desired virtual machine image.

도 7은 본 발명의 일 실시예에 따른 가상 머신 이미지의 공유 과정을 설명하는 흐름도이다.7 is a flowchart illustrating a process of sharing a virtual machine image according to an exemplary embodiment of the present invention.

도 7을 참조하면, 사용자는 관리 서버(150)에서 제공하는 웹 페이지에 접속하여 회원 가입을 하고, 그 웹 페이지에서 본인을 위한 가상 머신 이미지를 생성한다(S701). 도면에서는 본인을 위한 가상 머신 이미지를 '나의 이미지'로 기재한다. 관리 서버(150)는 가상 머신 이미지 스토리지(131)로부터 원형의 기본적인 가상 머신 이미지의 정보를 수신하여 리스트로 표시하고, 사용자에 의해 선택된 가상 머신 이미지를 해당 사용자의 가상 머신 이미지로 하여 사용자 스토리지(133)에 복사하여 저장한다. 또는 관리 서버(150)는 사용자에 의해 구축되어 실행되고 있는 가상 머신, 구체적으로는 가상 서버에 대한 이미지 생성 요청이 사용자로부터 수신되는 경우, 그 가상 서버에 대해 스냅샷을 만들고 해당 스냅샷을 가공하여 가상 머신 이미지를 만들어 사용자 스토리지(133)에 저장할 수 있다. Referring to FIG. 7, the user accesses a web page provided by the management server 150, and creates a virtual machine image for the user in the web page (S701). In the drawing, the virtual machine image for the user is described as 'my image'. The management server 150 receives the information of the circular basic virtual machine image from the virtual machine image storage 131 and displays it in a list, sets the virtual machine image selected by the user as the virtual machine image of the user, ). Or management server 150, when an image creation request for a virtual machine, specifically a virtual server, which is constructed and executed by a user is received from a user, a snapshot is created for the virtual server and the corresponding snapshot is processed A virtual machine image can be created and stored in the user storage 133.

이어서, 사용자는 본인의 가상 머신 이미지에 대해 공유 권한 설정을 한다(S703). 즉, 관리 서버(150)는 사용자로부터 해당 사용자의 가상 머신 이미지에 대한 공유 권한을 설정받는다. 공유 권한은 public, partial, private의 3 가지 종류 중 어느 하나로서, public은 해당 가상 머신 이미지가 모든 사용자에게 공개된 것을 의미하며, partial은 해당 가상 머신 이미지가 지정된 사용자에게만 공개된 것을 의미하고, private은 해당 가상 머신 이미지가 제 3 자에게 전혀 공개되지 않은 것을 의미한다. 관리 서버(150)는 사용자 스토리지(133)에 저장된 사용자의 가상 머신 이미지에 대해 공유 권한 정보를 대응시켜 저장한다.Then, the user sets a sharing right for the virtual machine image of the user (S703). That is, the management server 150 receives a user's permission to share a virtual machine image from the user. Public means that the virtual machine image is open to all users, partial means that the virtual machine image is only displayed to the designated user, and private Means that the corresponding virtual machine image is not disclosed to any third party at all. The management server 150 stores the sharing right information in association with the virtual machine image of the user stored in the user storage 133. [

다음으로, 관리 서버(150)는 공유된 가상 머신 이미지에 대한 후기를 입력받아 저장할 수 있다(S705). 또한, 관리 서버(150)는 공유된 가상 머신 이미지를 다른 사용자들이 사용할 경우 이에 대해 과금을 할 수 있다.Next, the management server 150 may receive and store a review about the shared virtual machine image (S705). In addition, the management server 150 can charge the shared virtual machine image when other users use the shared virtual machine image.

도 8은 본 발명의 다른 실시예에 따른 관리 서버(150)의 구성을 나타낸 도면이다. 도 8에 있어서 도 2와 동일한 참조부호의 구성요소는 도 2를 참조하여 설명한 기능 및 동작을 모두 포함한다.8 is a diagram illustrating a configuration of a management server 150 according to another embodiment of the present invention. In Fig. 8, the same reference numerals as those in Fig. 2 denote all the functions and operations described with reference to Fig.

타인에게 공개되어 공유될 수 있는 가상 머신 이미지에 악성 바이러스나 해킹 프로그램이 설치되어 있거나 또는 개인 정보들이 삭제되지 않고 저장되어 있는 경우, 이러한 프로그램이나 개인 정보들은 악의적인 목적으로 이용될 수 있다. 따라서 보안에 대한 검증이 필요하다.If a malicious virus or hacking program is installed on a virtual machine image that can be shared and disclosed to others, or if personal information is stored without being deleted, such programs and personal information may be used for malicious purposes. Therefore, security verification is needed.

도 8을 참조하면, 본 실시예에 따른 관리 서버(150)는 검증부(810)를 더 포함한다. Referring to FIG. 8, the management server 150 according to the present embodiment further includes a verification unit 810.

검증부(810)는 공유 관리 모듈(235)로부터 타인과의 공유 권한이 설정되는 가상 머신 이미지에 대한 검증 요청을 수신하고, 그 검증 요청이 수신된 가상 머신 이미지에 대한 보안 정책을 참조하여 검증을 수행하여 그 검증 결과를 상기 공유 관리 모듈(235) 또는 관리자 단말(170)로 전송한다. 검증부(810)는 검증 요청이 수신되었을 때 관리자 단말(170)로 이 사실을 통보할 수 있다.The verification unit 810 receives a verification request for a virtual machine image for which a sharing right with another person is set, from the sharing management module 235, and refers to the security policy for the received virtual machine image And transmits the verification result to the sharing management module 235 or the administrator terminal 170. [ The verification unit 810 can notify the administrator terminal 170 of this fact when the verification request is received.

검증부(810)에서 검증하는 보안 정책의 정보는 다음의 예와 같다.The information of the security policy to be verified by the verification unit 810 is as follows.

1) 가상 머신 이미지에 설치된 모든 소프트웨어의 최신 보안 패치 설치 여부1) Whether the latest security patch of all software installed in the virtual machine image is installed

2) 가상 머신 이미지에서 사용자 인증 프로토콜(telnet, FTP 등)이 비활성화(disable) 되어 있는지 여부.2) Whether the user authentication protocol (telnet, FTP, etc.) is disabled in the virtual machine image.

3) 네트워크 서비스들이 run-level 설정에서 제외되었는지 여부. 일부 관리자 서비스(SSH(Secure Shell), RDP(Remote Desktop Protocol)들은 예외일 수 있다.3) Whether network services are excluded from run-level configuration. Some administrator services (SSH (Secure Shell), Remote Desktop Protocol (RDP)) are exceptions.

4) 모든 접속 공개 키(public key)들이 제거되었는지 여부.4) Whether all connection public keys have been removed.

5) 가상 머신 이미지에 설치된 모든 소프트웨어들의 내부 디폴트(default) 계정과 암호가 삭제되었는지 여부.5) Whether the internal default account and password of all software installed in the virtual machine image have been deleted.

추가적으로 리눅스 템플릿의 경우, 다음 사항을 더 검증할 수 있다.In addition, for Linux templates, you can further verify the following:

1) 패스워드 보안 정책 : 패스워드의 길이가 최소 8자 이상이 되도록, 그리고 90일마다 변경되도록, 그리고 만료 7일전 경고되도록 설정되어 있는지 여부. centos & RHEL: /etc/login.defs에서 확인이 가능하다.1) Password security policy: Whether the password is at least 8 characters long, to be changed every 90 days, and to be warned 7 days before expiration. centos & RHEL: can be found in /etc/login.defs.

2) ROOT를 제외한 모든 사용자(UER) 계정과 암호 제거 여부.2) Whether to remove all user (UER) accounts and passwords except ROOT.

3) 모든 SSH 공개 및 개인 키 쌍(public and private key pairs) 제거 여부/3) Whether to remove all SSH public and private key pairs /

4) 모든 Shell history(작업 이력 정보)와 메시지 로그(message log) 파일 제거 여부4) Whether to remove all Shell history and message log files

윈도우 템플릿의 경우, 다음 사항을 더 검증할 수 있다.For window templates, you can further verify the following:

1) guest 계정(account) 제거 여부1) Whether to remove the guest account

2) 윈도우즈 이벤트 로그 제거 여부2) whether to remove the Windows event log

3) 인증 받지 않은 사용자가 접근할 수 있는 어떠한 파일 공유 설정도 허용 금지. 모든 파일 공유 기능 비활성(disable).3) Disallow any file sharing settings that can be accessed by unauthorized users. Disable all file sharing features.

검증부(810)는 검증 결과, 상기 보안 정책에 위배되는 가상 머신 이미지에 대해서는 타 사용자들에게 심각한 위험 요인으로 작용할 수 있는 것으로 간주하여 해당 가상 머신 이미지를 제거하거나 공유 권한 설정을 거부할 수 있다. As a result of the verification, the verification unit 810 may consider that the virtual machine image that is in violation of the security policy may act as a serious risk factor to other users, and may remove the corresponding virtual machine image or refuse the sharing permission setting.

상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. The method of the present invention as described above may be embodied as a program and stored in a computer-readable recording medium (such as a CD-ROM, a RAM, a ROM, a floppy disk, a hard disk, or a magneto-optical disk).

본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 아니된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절한 부결합(subcombination)에서 구현될 수 있다. While the specification contains many features, such features should not be construed as limiting the scope of the invention or the scope of the claims. In addition, the features described in the individual embodiments herein may be combined and implemented in a single embodiment. Conversely, various features described herein in a single embodiment may be implemented in various embodiments individually or in a suitable subcombination.

아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.It should also be understood that the division of various system components in the above embodiments does not require such distinction in all embodiments. The above-described program components and systems can generally be implemented as a single software product or as a package in multiple software products.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention. The present invention is not limited to the drawings.

110 : 서버 팜 130 : 스토리지
150 : 관리 서버 230 : 서비스 관리부
250 : 모니터링부 270 : 가상 머신 제어부
290 : 통계부 810 : 검증부
110: Server farm 130: Storage
150: management server 230:
250: monitoring unit 270: virtual machine control unit
290: statistics section 810: verification section

Claims (16)

가상 머신을 이용한 클라우드 컴퓨팅 서비스를 제공하는 시스템에 있어서,
사용자에 의해 생성된 적어도 하나 이상의 가상 머신 이미지를 저장하는 저장 수단;
상기 가상 머신 이미지에 대한 공유 권한을 설정하는 공유 관리 수단; 및
상기 가상 머신 이미지를 이용하여 가상 머신을 실행하는 복수의 작업 서버들의 집합인 서버 팜;을 포함하는 시스템.
1. A system for providing a cloud computing service using a virtual machine,
Storage means for storing at least one or more virtual machine images generated by a user;
Sharing management means for setting a sharing right for the virtual machine image; And
And a server farm that is a collection of a plurality of job servers that execute the virtual machine using the virtual machine image.
제 1 항에 있어서,
상기 공유 관리 수단은,
전체 사용자들에게 공유, 또는 공유 금지 중 어느 하나로 공유 권한을 설정하는 것을 특징으로 하는 시스템.
The method of claim 1,
Wherein the sharing management means comprises:
And setting the sharing right to either share to all users or prohibit sharing.
제 2 항에 있어서,
상기 공유 관리 수단은,
전체 사용자들에게 공유, 공유 금지, 또는 지정된 사용자들에게만 공유 중 어느 하나로 공유 권한을 설정하는 것을 특징으로 하는 시스템.
3. The method of claim 2,
Wherein the sharing management means comprises:
Wherein the sharing authority is set to one of sharing, prohibiting sharing to all users, and sharing only to specified users.
제 3 항에 있어서,
상기 공유 관리 수단은,
지정된 사용자들에게만 공유 권한을 설정하기 위한 사용자 검색 툴을 제공하는 것을 특징으로 하는 시스템.
The method of claim 3, wherein
Wherein the sharing management means comprises:
And a user search tool for setting a sharing right only to designated users.
제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
상기 공유 관리 수단에 의해 공유 권한이 설정된 가상 머신 이미지에 대해 보안 정책을 참조하여 검증을 수행하는 검증 수단;을 더 포함하는 것을 특징으로 하는 시스템.
The method according to any one of claims 1 to 4,
And verification means for performing verification by referring to a security policy for a virtual machine image for which a sharing right has been set by the sharing management means.
제 5 항에 있어서,
상기 보안 정책은,
상기 가상 머신 이미지에 설치된 소프트웨어의 보안 패치 적용 여부, 네트워크 서비스의 비활성 여부, 계정/암호의 삭제 여부, 또는 로그 파일 삭제 여부 중 적어도 하나를 포함하는 것을 특징으로 하는 시스템.
The method of claim 5, wherein
The security policy includes:
And at least one of whether a security patch is applied to the software installed in the virtual machine image, whether a network service is inactive, whether an account / password is deleted, or whether a log file is deleted.
제 5 항에 있어서,
상기 검증 수단은,
상기 보안 정책에 위배되는 가상 머신 이미지의 공유 권한 설정을 거부하는 것을 특징으로 하는 시스템.
The method of claim 5, wherein
Wherein the verifying means comprises:
Rejects setting of the sharing authority of the virtual machine image in violation of the security policy.
제 5 항에 있어서,
상기 가상 머신 이미지는,
운영 체제, 구성(configuration) 설정, 응용 프로그램, 이용 가능한 디스크 공간(available disk space) 및 라이브러리를 포함하는 것을 특징으로 하는 시스템.
The method of claim 5, wherein
The virtual machine image includes:
An operating system, a configuration setting, an application program, available disk space, and a library.
클라우드 컴퓨팅 시스템에서의 가상 머신을 이용한 클라우드 컴퓨팅 서비스 제공 방법에 있어서,
사용자에 의해 생성된 적어도 하나 이상의 가상 머신 이미지를 저장 수단에 저장하는 단계;
사용자의 요청에 따라 상기 가상 머신 이미지에 대한 공유 권한을 설정하는 단계; 및
상기 가상 머신 이미지를 이용하여 가상 머신을 실행하는 단계;를 포함하는 클라우드 컴퓨팅 서비스 제공 방법.
A method for providing a cloud computing service using a virtual machine in a cloud computing system,
Storing at least one or more virtual machine images created by a user in a storage means;
Setting a sharing right for the virtual machine image according to a user's request; And
And executing the virtual machine using the virtual machine image.
제 9 항에 있어서,
상기 공유 권한을 설정하는 단계는,
전체 사용자들에게 공유, 또는 공유 금지 중 어느 하나로 공유 권한을 설정하는 것을 특징으로 하는 클라우드 컴퓨팅 서비스 제공 방법.
The method of claim 9,
Wherein the setting of the sharing right comprises:
Wherein the sharing permission is set to either one of sharing to all users or sharing is prohibited.
제 10 항에 있어서,
상기 공유 권한을 설정하는 단계는,
전체 사용자들에게 공유, 공유 금지, 또는 지정된 사용자들에게만 공유 중 어느 하나로 공유 권한을 설정하는 것을 특징으로 하는 클라우드 컴퓨팅 서비스 제공 방법.
11. The method of claim 10,
Wherein the setting of the sharing right comprises:
Wherein the sharing authority is set to one of sharing, prohibiting sharing to all users, and sharing only with designated users.
제 11 항에 있어서,
상기 공유 권한을 설정하는 단계는,
사용자를 검색할 수 있는 검색툴을 제공하는 단계; 및
상기 검색툴을 이용하여, 지정된 사용자들에게만 공유 권한을 설정하는 단계;를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 서비스 제공 방법.
The method of claim 11,
Wherein the setting of the sharing right comprises:
Providing a search tool for searching for a user; And
And setting a sharing right only for designated users using the search tool.
제 9 항 내지 제 12 항 중 어느 한 항에 있어서,
상기 공유 권한이 설정된 가상 머신 이미지에 대해 보안 정책을 참조하여 검증을 수행하는 단계;를 더 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 서비스 제공 방법.
13. The method according to any one of claims 9 to 12,
And performing verification by referring to a security policy for the virtual machine image for which the sharing right is set.
제 13 항에 있어서,
상기 보안 정책은,
상기 가상 머신 이미지에 설치된 소프트웨어의 보안 패치 적용 여부, 네트워크 서비스의 비활성 여부, 계정/암호의 삭제 여부, 또는 로그 파일 삭제 여부 중 적어도 하나를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 서비스 제공 방법.
The method of claim 13,
The security policy includes:
And at least one of whether a security patch is applied to the software installed in the virtual machine image, whether a network service is inactive, whether an account / password is deleted, or whether a log file is deleted.
제 13 항에 있어서,
상기 검증을 수행하는 단계는,
상기 보안 정책에 위배되는 가상 머신 이미지의 공유 권한 설정을 거부하는 단계를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 서비스 제공 방법.
The method of claim 13,
Wherein performing the verification comprises:
And refusing the sharing permission setting of the virtual machine image that violates the security policy.
제 13 항에 있어서,
상기 가상 머신 이미지는,
운영 체제, 구성(configuration) 설정, 응용 프로그램, 이용 가능한 디스크 공간(available disk space) 및 라이브러리를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 서비스 제공 방법.
The method of claim 13,
The virtual machine image includes:
An operating system, a configuration setting, an application program, an available disk space, and a library.
KR20120044118A 2012-04-26 2012-04-26 System and method for providing cloud computing service using virtual machine KR101478801B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20120044118A KR101478801B1 (en) 2012-04-26 2012-04-26 System and method for providing cloud computing service using virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20120044118A KR101478801B1 (en) 2012-04-26 2012-04-26 System and method for providing cloud computing service using virtual machine

Publications (2)

Publication Number Publication Date
KR20130120893A true KR20130120893A (en) 2013-11-05
KR101478801B1 KR101478801B1 (en) 2015-01-02

Family

ID=49851381

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20120044118A KR101478801B1 (en) 2012-04-26 2012-04-26 System and method for providing cloud computing service using virtual machine

Country Status (1)

Country Link
KR (1) KR101478801B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015069234A1 (en) * 2013-11-06 2015-05-14 Intel Corporation Unifying interface for cloud content sharing services
KR20150068554A (en) * 2013-12-11 2015-06-22 주식회사 케이티 Method and system for providing virtual machine image service based cloud
KR20150102388A (en) * 2014-02-28 2015-09-07 주식회사 엠에스피 Network computing system based cloud
KR20180057464A (en) * 2016-11-22 2018-05-30 숭실대학교산학협력단 SYSTEM AND METHOD FOR DEVELOPMENT ENVIRONMENT CENTERAL MANAGEMENT USING Vagrant, RECORDING MEDIUM FOR PERFORMING THE METHOD
KR102106155B1 (en) * 2019-05-14 2020-04-29 아토리서치(주) The method of monitoring virtual machine topology status and device thereof
KR102276428B1 (en) * 2021-02-24 2021-07-12 엑세스(주) System and method for virtualizing resources of client terminals and controlling and managing them centrally
WO2021139099A1 (en) * 2020-01-09 2021-07-15 山东超越数控电子股份有限公司 Virtual can port multiplexing technology implementation method based on edge cloud environment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090070933A (en) * 2007-12-27 2009-07-01 주식회사 케이티 Device and method for hosting service using virtual machine
KR101578189B1 (en) * 2009-06-23 2015-12-17 삼성전자주식회사 Management server and method for providing cloud computing service

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015069234A1 (en) * 2013-11-06 2015-05-14 Intel Corporation Unifying interface for cloud content sharing services
US10796012B2 (en) 2013-11-06 2020-10-06 Intel Corporation Unifying interface for cloud content sharing services
US11461491B2 (en) 2013-11-06 2022-10-04 Intel Corporation Unifying interface for cloud content sharing services
KR20150068554A (en) * 2013-12-11 2015-06-22 주식회사 케이티 Method and system for providing virtual machine image service based cloud
KR20150102388A (en) * 2014-02-28 2015-09-07 주식회사 엠에스피 Network computing system based cloud
KR20180057464A (en) * 2016-11-22 2018-05-30 숭실대학교산학협력단 SYSTEM AND METHOD FOR DEVELOPMENT ENVIRONMENT CENTERAL MANAGEMENT USING Vagrant, RECORDING MEDIUM FOR PERFORMING THE METHOD
KR102106155B1 (en) * 2019-05-14 2020-04-29 아토리서치(주) The method of monitoring virtual machine topology status and device thereof
WO2021139099A1 (en) * 2020-01-09 2021-07-15 山东超越数控电子股份有限公司 Virtual can port multiplexing technology implementation method based on edge cloud environment
KR102276428B1 (en) * 2021-02-24 2021-07-12 엑세스(주) System and method for virtualizing resources of client terminals and controlling and managing them centrally

Also Published As

Publication number Publication date
KR101478801B1 (en) 2015-01-02

Similar Documents

Publication Publication Date Title
US11100216B2 (en) Method and apparatus for applying application context security controls for software containers
US10868673B2 (en) Network access control based on distributed ledger
US10848520B2 (en) Managing access to resources
KR101478801B1 (en) System and method for providing cloud computing service using virtual machine
US8688734B1 (en) System for and methods of controlling user access and/or visibility to directories and files of a computer
US9838398B2 (en) Validating the identity of an application for application management
Berger et al. TVDc: managing security in the trusted virtual datacenter
US8904549B2 (en) Server system, control method, and storage medium for securely executing access to data of a tenant
US9032318B2 (en) Widget security
CN112997153B (en) System and method for consistent execution policy across different SAAS applications via embedded browser
WO2019052496A1 (en) Account authentication method for cloud storage, and server
US10757079B2 (en) Method and system for controlling remote session on computer systems using a virtual channel
GB2521724A (en) Computer device and method for isolating untrusted content
US20120331539A1 (en) Authentication system, authentication method, and storage medium for realizing a multitenant service
US11489933B2 (en) Systems and methods for gamification of SaaS applications
US10911299B2 (en) Multiuser device staging
US20150040180A1 (en) Information firewall
US20220070206A1 (en) Secure device selection based on sensitive content detection
US11190359B2 (en) Device and system for accessing a distributed ledger
US10447818B2 (en) Methods, remote access systems, client computing devices, and server devices for use in remote access systems
US11411813B2 (en) Single user device staging
CN113272788A (en) System and method for real-time tiles for SAAS
CA2854540C (en) Managing cross perimeter access
RU2571725C2 (en) System and method of controlling parameters of applications on computer user devices
EP2790123B1 (en) Generating A Data Audit Trail For Cross Perimeter Data Transfer

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171204

Year of fee payment: 4