KR20130134920A - Method for virtual machine auto-configuration and method for providing virtual machine auto-configuration service - Google Patents
Method for virtual machine auto-configuration and method for providing virtual machine auto-configuration service Download PDFInfo
- Publication number
- KR20130134920A KR20130134920A KR1020120058815A KR20120058815A KR20130134920A KR 20130134920 A KR20130134920 A KR 20130134920A KR 1020120058815 A KR1020120058815 A KR 1020120058815A KR 20120058815 A KR20120058815 A KR 20120058815A KR 20130134920 A KR20130134920 A KR 20130134920A
- Authority
- KR
- South Korea
- Prior art keywords
- virtual machine
- operating system
- information
- initial configuration
- virtual
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000004044 response Effects 0.000 claims description 17
- 230000004913 activation Effects 0.000 claims description 13
- 238000009434 installation Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/223—Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- Mathematical Physics (AREA)
Abstract
본 발명은, 가상머신 초기 설정 자동화 방법 및 가상머신 초기 설정 자동화 서비스 제공 방법에 관한 것으로, 프라이빗 네트워크 상에서 복수의 가상 컴퓨팅 환경을 각각 제공받는 복수의 사용자들을 포함하는 기업 클라이언트의 복수의 가상머신 인스턴스들의 초기설정을 자동화할 수 있으며, 특히, 가상머신 인스턴스의 운영체제가 Windows 계열의 운영체제를 설치하는데에 필요한 초기설정 정보를 동일한 기업 클라이언트 내의 사용자별로 서로 중복되지 않게 설정할 수 있다.The present invention relates to a virtual machine initial setting automation method and a virtual machine initial setting automation service providing method, and more particularly, to a virtual machine initial setting automation method and a virtual machine initial setting automation service providing method that enable a plurality of virtual machine instances of an enterprise client including a plurality of users, In particular, the initialization information necessary for the operating system of the virtual machine instance to install the operating system of the Windows series can be set to be not overlapped with each other in the same enterprise client.
Description
본 발명은, 가상머신 초기 설정 자동화 방법 및 가상머신 초기 설정 자동화 서비스 제공 방법에 관한 것으로, 프라이빗 네트워크 상에서 복수의 가상 컴퓨팅 환경을 각각 제공받는 복수의 사용자들을 포함하는 기업 클라이언트의 복수의 가상머신 인스턴스들의 초기설정을 자동화할 수 있는 초기 설정 자동화 방법 및 이러한 기업 클라이언트에 대한 가상머신 초기 설정 자동화 서비스를 제공하는 방법에 관한 것이다.The present invention relates to a method for automating a virtual machine initial configuration and a method for providing a virtual machine initial configuration automation service. The present invention relates to an initial configuration automation method capable of automating initial configuration, and a method for providing a virtual machine initial configuration automation service for such an enterprise client.
클라우드 컴퓨팅은 서버 내 자원을 가상화하여 사용자들에게 필요한 만큼 값을 지불하여 사용 가능하게 하는 컴퓨팅 방식으로, 이러한 클라우드 컴퓨팅을 기반으로, 컴퓨팅 자원을 가상화한 가상머신 인스턴스를 사용자에게 제공하는 서비스를 클라우드 컴퓨팅 서비스라고 한다. Cloud computing is a computing method that virtualizes resources in a server and pays users to use them as needed. Based on such cloud computing, cloud computing provides a service that provides users with virtual machine instances virtualized computing resources. It is called a service.
현재, 클라우드 컴퓨팅 서비스에서 제공되는 가상머신 인스턴스는 주로 데스크톱 기반의 운영체제(예컨대, Windows XP, Windows 7 등) 또는 서버 기반의 운영체제(예컨대, Windows 2003 server, Windows 2008 Server 등) 기반으로 제공되고 있으나, 가상머신 인스턴스에서 Windows 계열의 운영체제를 설치하기 위해서는 SID나 Computer name 등과 같은 초기 설정 정보를 각각의 사용자에 맞게 입력하는 과정이 필요하다.Currently, virtual machine instances provided by cloud computing services are mainly provided based on desktop-based operating systems (eg, Windows XP, Windows 7, etc.) or server-based operating systems (eg, Windows 2003 server, Windows 2008 Server, etc.). In order to install the Windows-based operating system in the virtual machine instance, it is necessary to input initial configuration information such as SID and computer name for each user.
특히, 기업 클라이언트에 대한 클라우드 컴퓨팅 서비스의 경우에는 기업 클라이언트에 속한 복수의 사용자들에게 복수의 개별적인 가상 컴퓨팅 환경을 각각 제공하여야 하므로, 복수의 사용자들 각각에 대한 복수의 가상머신 인스턴스들을 준비하는 과정에서, 복수의 사용자들 각각에 대한 초기 설정 정보를 가상머신 인스턴스들의 운영체제에 입력하는 과정이 필요하다.In particular, in the case of a cloud computing service for an enterprise client, a plurality of individual virtual computing environments must be provided to a plurality of users belonging to an enterprise client. Therefore, in the process of preparing a plurality of virtual machine instances for each of a plurality of users , And inputting initial setting information for each of a plurality of users to an operating system of virtual machine instances.
종래에는 이를 기업 클라이언트의 IT 관리자나, 클라우드 컴퓨팅 서비스 제공 업체측에서 이러한 초기 설정 정보를 수동으로 생성하여 입력하여 왔으나, 기업 클라이언트에 속하는 사용자들의 수가 늘어나고, 동적으로 변경될 수 있다는 점을 감안할 때, 기업 클라이언트에 대한 클라우드 컴퓨팅 서비스가 본격화되는 현 시점에서, 이러한 가상머신 초기 설정 과정을 자동화할 수 있는 방법이 요구된다.In the past, this initial configuration information was manually generated and input by the IT client of the corporate client or the cloud computing service provider. However, in view of the fact that the number of users belonging to the corporate client increases and can be changed dynamically. As cloud computing services for enterprise clients become full-fledged, there is a need for a way to automate this virtual machine initial setup process.
본 발명이 이루고자 하는 기술적 과제는, 기업 클라이언트에 속한 복수의 사용자들 각각에 대한 초기 설정 정보를 자동으로 입력하여 복수의 가상머신 인스턴스들 각각의 운영체제 및 가상 컴퓨팅 에이전트를 작동시킬 수 있는 가상머신 초기 설정 자동화 방법 및 가상머신 초기 설정 자동화 서비스 제공 방법을 제공하는 데에 있다.SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and it is an object of the present invention to provide a method and system for automatically setting an initial setting information for each of a plurality of users belonging to an enterprise client, And to provide a method of providing an automated method for initializing a virtual machine.
본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.Technical problems to be achieved by the present invention are not limited to the above-mentioned technical problems, and other technical problems not mentioned above may be clearly understood by those skilled in the art from the following description. There will be.
상기의 기술적 과제를 이루기 위한, 본 발명에 따른 가상머신 초기설정 자동화 방법은 프라이빗 네트워크 내부에서 기저장된 마스터 가상머신 템플릿 이미지를 복제하여 가상머신 인스턴스를 생성하는 단계; 프라이빗 네트워크의 라우터 가상머신을 통해 프라이빗 네트워크 외부에 가상머신 인스턴스의 MAC 주소를 기초로 생성된 가상머신 인스턴스에 운영체제를 설치하는 데에 필요한 제1초기 설정 정보를 요청하고, 요청에 대한 응답으로 제1초기 설정 정보를 획득하는 단계; 제1초기 설정 정보를 기초로 생성된 가상머신 인스턴스에 운영체제를 설치하는 운영체제설치단계; 라우터 가상머신을 통해 프라이빗 네트워크 외부에 설치된 운영체제 상에서 가상 컴퓨팅 환경을 제공할 응용프로그램인 가상 컴퓨팅 에이전트의 초기 설정에 필요한 제2초기 설정 정보를 요청하고, 요청에 대한 응답으로, 제2초기 설정 정보를 획득하는 단계; 및 제2초기 설정 정보를 기초로 가상 컴퓨팅 에이전트를 설정하는 에이전트설정단계를 포함한다.In order to achieve the above technical problem, a virtual machine initializing method according to the present invention comprises the steps of creating a virtual machine instance by duplicating a pre-stored master virtual machine template image in a private network; Request the first initial configuration information required to install the operating system on the virtual machine instance created based on the MAC address of the virtual machine instance outside the private network through the router virtual machine of the private network, and in response to the request Obtaining initial setting information; An operating system installing step of installing an operating system in the virtual machine instance created based on the first initial setting information; Requesting second initial setting information required for initial setting of a virtual computing agent which is an application program for providing a virtual computing environment on an operating system installed outside the private network through a router virtual machine and transmitting second initial setting information in response to the request Obtaining; And an agent setting step of setting a virtual computing agent based on the second initial setting information.
보다 바람직하게는, 제1초기 설정 정보는 사용자 계정의 식별자, 컴퓨터 이름, 운영체제 정품 인증 정보 및 액티브 디렉토리 정보를 포함할 수 있다.More preferably, the first initialization information may include an identifier of a user account, a computer name, operating system activation information, and active directory information.
보다 바람직하게는, 운영체제설치단계는 운영체제에 사용자 계정의 식별자, 컴퓨터 이름 및 운영체제 정품 인증 정보를 입력하는 단계; 및 액티브 디렉트리 정보를 기초로 사용자 계정이 속할 도메인에 가입하는 단계를 포함할 수 있다.More preferably, the operating system installation step includes inputting an identifier, a computer name, and operating system activation information of a user account into the operating system; And joining the domain to which the user account belongs based on the active directory information.
보다 바람직하게는, 제2초기 설정 정보는 가상 컴퓨팅 에이전트와 연결되어 가상 컴퓨팅 환경을 제어할 컨트롤러의 정보를 포함할 수 있다.More preferably, the second initial configuration information may include information of a controller connected to the virtual computing agent to control the virtual computing environment.
보다 바람직하게는, 에이전트설정단계는 가상 컴퓨팅 에이전트와 컨트롤러를 동기화하는 단계; 운영체제에 응용 프로그램을 설치하거나 운영체제의 내부 설정을 변경할 수 있는 관리자 권한을 운영체제의 사용자 계정에 부여하는 단계; 및 운영체제의 사용자 계정이 속하는 도메인의 도메인 시간에 동기화하는 단계를 포함할 수 있다.More preferably, the agent establishing step comprises synchronizing the virtual computing agent and the controller; Assigning an administrator privilege to an operating system user account to install an application program in the operating system or change an internal configuration of the operating system; And synchronizing at the domain time of the domain to which the user account of the operating system belongs.
보다 바람직하게는, 제2초기 설정 정보를 요청하는 메시지는 제1초기 설정 정보를 요청하는 메시지와 동일할 수 있다.More preferably, the message requesting the second initialization information may be the same as the message requesting the first initialization information.
상기의 기술적 과제를 이루기 위한, 본 발명에 따른 가상머신 초기설정 자동화 서비스 제공 방법은 프라이빗 네트워크 내부에서 생성된 가상머신 인스턴스로부터 프라이빗 네트워크의 라우터 가상머신을 통해 가상머신 인스턴스에 운영체제를 설치하는 데에 필요한 제1 초기 설정 정보의 요청을 수신하는 제1요청수신단계; 가상머신 인스턴스에 할당된 MAC 주소를 기초로 제1초기 설정 정보를 조회하여 라우터 가상머신을 거쳐 가상머신 인스턴스에 제공하는 단계; 제1초기 설정 정보에 따라 운영체제를 설치한 가상머신 인스턴스로부터 설치된 운영체제 상에서 가상 컴퓨팅 환경을 제공할 응용프로그램인 가상 컴퓨팅 에이전트의 초기 설정에 필요한 제2초기 설정 정보의 요청을 수신하는 제2요청수신단계; 가상 컴퓨팅 에이전트와 연결되어 가상 컴퓨팅 환경을 제어할 컨트롤러의 정보를 포함하는 제2초기 설정 정보를 라우터 가상머신을 거쳐 가상머신 인스턴스에 제공하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of providing a virtual machine initialization automation service, the method comprising: receiving a virtual machine instance created inside a private network; A first request receiving step of receiving a request of first initial setting information; Querying the first initial configuration information based on the MAC address assigned to the virtual machine instance and providing the first initial configuration information to the virtual machine instance via the router virtual machine; A second request receiving step of receiving a request for second initial configuration information required for initial configuration of a virtual computing agent, the application providing a virtual computing environment on the installed operating system, from the virtual machine instance on which the operating system is installed according to the first initial configuration information ; And providing second initial configuration information including information of a controller connected to the virtual computing agent to control the virtual computing environment through the router virtual machine to the virtual machine instance.
보다 바람직하게는, 제1초기 설정 정보는 사용자 계정의 식별자, 컴퓨터 이름, 운영체제 정품 인증 정보 및 액티브 디렉토리 정보를 포함할 수 있다.More preferably, the first initialization information may include an identifier of a user account, a computer name, operating system activation information, and active directory information.
보다 바람직하게는, 제2요청수신단계에서 수신되는 요청 메시지는 제1요청수신단계에서 수신되는 요청 메시지와 동일할 수 있다.More preferably, the request message received in the second request receiving step may be the same as the request message received in the first request receiving step.
본 발명에 따르면, 프라이빗 네트워크 상에서 복수의 가상 컴퓨팅 환경을 각각 제공받는 복수의 사용자들을 포함하는 기업 클라이언트의 복수의 가상머신 인스턴스들의 초기 설정을 자동화할 수 있다.According to the present invention, an initial configuration of a plurality of virtual machine instances of an enterprise client including a plurality of users each provided with a plurality of virtual computing environments on a private network may be automated.
특히, 가상머신 인스턴스의 운영체제가 Windows 계열의 운영체제를 설치하는데에 필요한 초기 설정 정보를 동일한 기업 클라이언트 내의 사용자별로 서로 중복되지 않게 설정할 수 있다.In particular, the initial configuration information required for the operating system of the virtual machine instance to install the Windows-based operating system can be set so that each user in the same corporate client does not overlap each other.
도 1은 본 발명의 바람직한 일 실시예에 따른 클라우드 컴퓨팅 시스템의 개략적인 구성을 도시한 도면이다.
도 2는 본 발명의 바람직한 일 실시예에 따른 클라우드 컴퓨팅 시스템의 기업 클라이언트의 가상머신 인스턴스에서 초기 설정을 자동화하는 방법의 흐름을 도시한 도면이다.
도 3은 본 발명의 바람직한 일 실시예에 따른 클라어드 컴퓨팅 시스템의 클라우드 컴퓨팅 시스템 관리 서버에서 기업 클라이언트의 가상머신 인스턴스에 대한 초기 설정 자동화 서비스를 제공하는 방법의 흐름을 도시한 도면이다.
도 4는 본 발명의 바람직한 일 실시예에 따른 클라어드 컴퓨팅 시스템에서 기업 클라이너트의 가상머신 인스턴스에 대한 초기 설정 자동화 과정을 예시한 도면이다.
도 5는 본 발명의 바람직한 일 실시예에 따른 초기 설정 자동화 과정에 따를 때, 가상머신 인스턴스에서 수행되는 내부 프로세스의 흐름을 예시한 도면이다.1 is a view showing a schematic configuration of a cloud computing system according to an embodiment of the present invention.
FIG. 2 is a flowchart illustrating a method of automating initialization in a virtual machine instance of a corporate client of a cloud computing system according to an exemplary embodiment of the present invention.
3 is a flowchart illustrating a method for providing an initialization automation service for a virtual machine instance of a corporate client in a cloud computing system management server of a cluster computing system according to a preferred embodiment of the present invention.
4 is a diagram illustrating a process of automating an initial setup of a virtual machine instance of a corporate client in a cluster computing system according to an exemplary embodiment of the present invention.
FIG. 5 is a diagram illustrating an internal process flow performed in a virtual machine instance according to an initial setting automation process according to a preferred embodiment of the present invention.
이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다. 또한, 본 발명의 원리, 관점 및 실시예들 뿐만 아니라 특정 실시예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한, 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다. The following merely illustrates the principles of the invention. Thus, those skilled in the art will be able to devise various apparatuses which, although not explicitly described or shown herein, embody the principles of the invention and are included in the concept and scope of the invention. Furthermore, all of the conditional terms and embodiments listed herein are, in principle, intended only for the purpose of enabling understanding of the concepts of the present invention, and are not intended to be limiting in any way to the specifically listed embodiments and conditions . It is also to be understood that the detailed description, as well as the principles, aspects and embodiments of the invention, as well as specific embodiments thereof, are intended to cover structural and functional equivalents thereof. In addition, these equivalents should be understood to include not only equivalents now known, but also equivalents to be developed in the future, that is, all devices invented to perform the same function regardless of structure.
따라서, 프로세서 또는 이와 유사한 개념으로 표시된 기능 블록을 포함하는 도면에 도시된 다양한 소자의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 능력을 가진 하드웨어의 사용으로 제공될 수 있다. 프로세서에 의해 제공될 때, 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다. 또한, 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 사용은 소프트웨어를 실행할 능력을 가진 하드웨어를 배타적으로 인용하여 해석되어서는 아니 되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 주지 관용의 다른 하드웨어도 포함될 수 있다. Thus, the functions of the various elements shown in the drawings, including the functional blocks shown in the figures or similar concepts, may be provided by use of dedicated hardware as well as hardware capable of executing software in connection with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, a single shared processor, or a plurality of individual processors, some of which may be shared. Also, the use of terms such as processor, control, or similar concepts should not be construed as exclusive reference to hardware capable of executing software, but may include, without limitation, digital signal processor (DSP) hardware, (ROM), random access memory (RAM), and non-volatile memory. Other hardware may also be included.
상술한 목적, 특징 및 장점들은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 더욱 분명해 질 것이다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략하거나 간략하게 설명하는 것으로 한다. The above objects, features and advantages will become more apparent from the following detailed description in conjunction with the accompanying drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
한편 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.On the other hand, when an element is referred to as "including " an element, it does not exclude other elements unless specifically stated to the contrary.
이하, 첨부된 도면을 참조하여 바람직한 실시예에 따른 본 발명을 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 바람직한 일 실시예에 따른 기업 클라이언트에 대한 클라우드 컴퓨팅 시스템의 개략적인 구성을 도시한 도면이다.1 is a diagram illustrating a schematic configuration of a cloud computing system for an enterprise client according to an exemplary embodiment of the present invention.
도 1을 참조하면, 본 실시예에 따른 클라우드 컴퓨팅 시스템은 클라우드 컴퓨팅 시스템 관리 서버(110), 라우터 가상머신(RVM, 130), 사용자 가상머신(140), 액티브 디렉토리(AD, 150) 및 컨트롤러(DDC, 160)을 포함한다.Referring to FIG. 1, the cloud computing system according to the present embodiment includes a cloud computing
클라우드 컴퓨팅 관리 서버(110)는 기업 클라이언트의 프라이빗 네트워크(120)의 외부에서, 클라우드 컴퓨팅 서비스를 제공하고, 사용자 또는 기업 클라이언트에 제공되는 클라우드 컴퓨팅 서비스을 종합적으로 관리하는 서버를 의미한다. The cloud
본 실시예의 기업 클라이언트는 하나의 사용자 계정이 아닌 복수의 개별적인 가상 컴퓨팅 환경들을 각각 제공받는 복수의 사용자 계정들을 각각 이용가능한 복수의 사용자들로 구성되고, 각각의 사용자들이 프라이빗 네트워크(120) 내에서 각각의 ID 및 사설 IP 등을 할당받고, 이를 기초로 서로 개별적인 가상 컴퓨팅 환경을 이용할 수 있으며, 각 사용자들간의 관계(예컨대, 조직도) 등은 별도로 저장되어 관리될 수 있으며, 이러한 관계에 따라 각 사용자별로 가상 컴퓨팅 환경이나 기타 프라이빗 네트워크 상의 자원 내지 구성요소들을 접근 내지 제어할 수 있는 권한이 제한될 수 있다.The enterprise client of the present embodiment is constituted by a plurality of users each of which can use a plurality of user accounts that are respectively provided with a plurality of individual virtual computing environments rather than a single user account, (E.g., an organization chart) and the like can be separately stored and managed. Based on the relationship, it is possible to use the virtual environment of each user Rights to access or control resources or components on the virtual computing environment or other private networks may be limited.
클라우드 컴퓨팅 관리 서버(110)는 사용자 가상머신(140)에 클라우드 컴퓨팅 서비스를 위한 가상 컴퓨팅 환경을 배포하기 위한 기반을 구축하고, 이러한 배포 과정을 모니터링하거나 관리하는 기능을 제공할 수 있다. 일반적으로 Citrix 사의 Xen Server 계열의 솔루션을 기초로 구현될 수 있으나, 이는 하나의 구현예에 불과하며, 본 발명이 이에 한정되는 것은 아니라고 할 것이다.The cloud
아울러, 라우터 가상머신(130), 사용자 가상머신(140), 액티브 디렉토리(150) 및 컨트롤러(160)는 기업 클라이언트의 프라이빗 네트워크(120) 상에 위치할 수 있다.In addition, the router
이때, 프라이빗 네트워크(120) 내부의 구성요소인 사용자 가상머신(140), 액티브 디렉토리(150) 및 컨트롤러(160)에서, 프라이빗 네트워크(120)의 외부 네트워크의 구성요소 예컨대, 클라우드 컴퓨팅 시스템 관리 서버(110)와 통신할 때에는 라우터 가상머신(130)을 통해 통신할 수 있게 된다.In this case, in the user virtual machine 140, the
라우터 가상머신(130)은 프라이빗 네트워크(120) 내부의 구성요소들의 사설 IP 주소를 외부 네트워크와의 통신을 위한 외부 IP 주소로 변경하는 NAT(Network Address Translation) 기능을 수행하며, 이에 따라, 프라이빗 네트워크(120) 내부의 구성요소인 사용자 가상머신(140)에서 인터넷 접근을 지원하거나, 외부 네트워크의 구성요소인 클라우드 컴퓨팅 시스템 관리 서버(110)에 접속할 수 있도록 중개한다.The router
즉, 라우터 가상머신(130)는 사용자 가상머신(140)에서 클라우드 컴퓨팅 시스템 관리 서버(110)에 직접 접근하는 것을 차단하는 대신 사용자 가상머신(140)과 클라우드 컴퓨팅 시스템 관리 서버(110)간의 브로커(Broker) 기능을 수행한다.That is, instead of blocking the direct access to the cloud computing
라우팅 가상머신(130)는 NAT 및 브로커 기능 외에도, DHCP 서버, 사용자 가상머신들 간의 포트 포워딩, 다른 라우터 가상머신들 간의 라우팅, 다른 라우터 가상머신의 네트워크 설정 및 포트 포워딩 설정 기능 등을 수행할 수 있다.In addition to the NAT and broker functions, the routing
아울러, 라우팅 가상머신(130)는 기업 클라이언트에서 사용하는 사용자 가상머신의 수에 따라 스케일 아웃되어 프라이빗 네트워크 상에 복수 개가 배치될 수 있다.In addition, a plurality of routing
사용자 가상머신(140)은 기저장된 마스터 가상머신 템플릿 이미지를 복제하여 생성된 가상머신 인스턴스로, 운영체제를 설치시키고, 해당 운영체제 기반에서 가상 컴퓨팅 에이전트를 통해 사용자에게 가상의 컴퓨팅 자원을 이용한 가상 컴퓨팅 환경을 제공한다.The user virtual machine 140 installs an operating system in a virtual machine instance created by duplicating a pre-stored master virtual machine template image, and provides a virtual computing environment using virtual computing resources to the user through the virtual computing agent on the basis of the operating system to provide.
액티브 디렉토리(150)는 Windows 기반의 운영체제에 있어서, 프라이빗 네트워크(120)를 구성하는 구성요소들의 ID 및 관계(relationship) 정보를 저장 및 관리하는 구성요소로서, 가상머신의 운영체제에서 시스템, 사용자 및 응용 프로그램의 설정 정보를 구성 및 관리할 수 있게 하고, 사용자와 도메인 간의 통신을 관리한다.Active Directory 150 is a component that stores and manages ID and relationship information of components constituting the
컨트롤러(160)는 사용자 가상머신을 사용할 사용자를 인증하고, 해당 사용자의 가상 컴퓨팅 환경 어셈블리를 관리하며, 해당 사용자와 가상 컴퓨팅 환경(예컨대 가상 데스크톱) 간의 연결을 중개하는 서비스를 제공하며, 가상 컴퓨팅 환경의 일종인 가상 데스크톱 서비스를 시작하거나 중지하는 등 가상 컴퓨팅 환경의 서비스 제공 상태를 제어할 수 있다.The
도 2는 본 발명의 바람직한 일 실시예에 따른 클라우드 컴퓨팅 시스템의 기업 클라이언트의 가상머신 인스턴스에서 초기 설정을 자동화하는 방법의 흐름을 도시한 도면으로, 본 실시예에 따른 가상머신 인스턴스, 라우터 가상머신, 컨트롤러 및 클라우드 컴퓨팅 시스템 관리 서버는 도 1에 도시된 클라우드 컴퓨팅 시스템의 사용자 가상머신(140), 라우터 가상머신(RVM, 130), 컨트롤러(DDC, 160) 및 클라우드 컴퓨팅 시스템 관리 서버(110)에 각각 대응될 수 있다. 따라서, 도 1에 도시된 클라우드 컴퓨팅 시스템에 관한 설명에서와 동일한 사항에 대해서는 이를 참조한다.FIG. 2 is a flowchart illustrating a method of automating initialization in a virtual machine instance of an enterprise client in a cloud computing system according to an exemplary embodiment of the present invention. Referring to FIG. 2, a virtual machine instance, a router virtual machine, Controller and the cloud computing system management server are connected to the user virtual machine 140, the router virtual machine (RVM) 130, the controller (DDC) 160, and the cloud computing
본 실시예에서는 설명의 편의를 위해, 가상머신 인스턴스에서 작동되는 운영체제가 Windows 계열의 운영체제인 Windows XP, Windows 2003 server, Windows 7, Windows 2008 Server 중 하나인 상황을 가정하여 도시하였으나, 이는 하나의 실시예에 불과하며, 본 발명 자체가 이에 한정되는 것은 아니라고 할 것이다.In the present embodiment, for convenience of description, it is assumed that the operating system operating in the virtual machine instance is one of the Windows-based operating system Windows XP, Windows 2003 server,
도 2를 참조하면, 먼저, 기저장된 마스터 가상머신 템플릿 이미지를 복제하여 가상머신 인스턴스를 생성한다(S201). 본 실시예에서의 S201 단계를 통해 생성된 가상머신 인스턴스는 운영체제가 설치되기 이전의 원시 상태의 템플릿 이미지가 복제된 것을 전제로 한다.Referring to FIG. 2, first, a virtual machine instance is generated by duplicating a previously stored master virtual machine template image (S201). The virtual machine instance created in step S201 in this embodiment assumes that the template image in the original state before the operating system is installed is replicated.
라우터 가상머신을 통해, 외부 네트워크의 클라우드 컴퓨팅 시스템 관리 서버에 가상머신 인스턴스에 할당된 MAC 주소를 기초로 가상머신 인스턴스에 Windows 계열의 운영체제를 설치하는 데에 필요한 제1초기 설정 정보를 요청한다(S202).Through the router virtual machine, the cloud computing system management server of the external network requests first initial configuration information required to install a Windows-based operating system on the virtual machine instance based on the MAC address assigned to the virtual machine instance (S202). ).
여기에서, 제1초기 설정 정보는 사용자 계정의 식별자, 컴퓨터 이름, 운영체제 정품 인증 정보 및 기타 액티브 디렉토리 정보를 포함할 수 있다.Here, the first initial configuration information may include an identifier of a user account, a computer name, operating system activation information, and other active directory information.
S202 단계에서의 요청에 대한 응답으로, 클라우드 컴퓨팅 시스템 관리 서버로부터 라우터 가상머신을 통해 제1초기 설정 정보를 획득한다(S203).In response to the request in step S202, the first initialization information is obtained from the cloud computing system management server through the router virtual machine (S203).
S203 단계에서 획득된 제1초기 설정 정보를 입력하여 가상머신 인스턴스에 운영체제를 정상적으로 설치한다(S204). 예컨대, 운영체제에 사용자 계정의 식별자, 컴퓨터 이름 및 운영체제 정품 인증 정보를 입력할 수 있으며, 액티브 디렉토리 정보를 기초로 해당 사용자 계정이 속할 도메인에 가입할 수 있다.The operating system is normally installed in the virtual machine instance by inputting the first initial setting information acquired in step S203 (S204). For example, an identifier of a user account, a computer name, and operating system activation information may be input to an operating system, and the user account may be joined to a domain to which the user account belongs based on the Active Directory information.
S204 단계를 통해 운영체제가 정상적으로 설치된 이후에, 이렇게 설치된 운영체제 상에 가상 컴퓨팅 환경을 사용자에게 제공할 응용프로그램인 가상 컴퓨팅 에이전트를 작동하기 위해서는 가상 컴퓨팅 에이전트의 초기 설정(configuration)에 필요한 제2초기 설정 정보가 필요하다.After the operating system is normally installed through the step S204, the second initial setting information required for the initial configuration of the virtual computing agent in order to operate the virtual computing agent, which is an application that will provide the user with the virtual computing environment on the installed operating system. Is needed.
여기에서, 제2초기 설정 정보로 대표적인 것은 가상 컴퓨팅 에이전트와 연결되어 클라우드 컴퓨팅 시스템 관리 서버 측에서 가상 컴퓨팅 환경을 제어할 수 있게 하는 구성요소인 컨트롤러의 정보로서, 클라우드 컴퓨팅 시스템 관리 서버의 컨트롤러를 통한 간접 제어 또는 컨트롤러의 직접 제어에 따라 사용자에게 제공되는 가상 컴퓨팅 환경을 관리 또는 제어할 수 있게 한다.Here, the second initial configuration information is representative of the controller, which is a component that is connected to the virtual computing agent to control the virtual computing environment on the cloud computing system management server side, and through the controller of the cloud computing system management server. It allows management or control of the virtual computing environment provided to the user according to indirect control or direct control of the controller.
이를 위해, 라우터 가상머신을 통해 클라우드 컴퓨팅 시스템 관리 서버에 제2초기 설정 정보를 요청하고(S205), 이에 대한 응답으로, 클라우드 컴퓨팅 시스템 관리 서버로부터 라우터 가상머신을 통해 제2초기 설정 정보를 획득한다(S206).To this end, the second initialization information is requested to the cloud computing system management server through the router virtual machine (S205), and in response to this, the second initialization information is obtained from the cloud computing system management server through the router virtual machine (S206).
S206 단계에서 획득된 제2초기 설정 정보를 기초로 가상 컴퓨팅 에이전트의 초기 설정을 완료하고 작동시킨다(S207). 예컨대, 이러한 가상 컴퓨팅 에이전트의 초기 설정 과정에서, 가상 컴퓨팅 에이전트와 컨트롤러를 동기화하고, 운영체제에 응용 프로그램을 설치하거나 운영체제의 내부 설정을 변경할 수 있는 관리자 권한을 운영체제의 사용자 계정에 부여하고, 운영체제의 사용자 계정이 속하는 도메인의 도메인 시간에 동기화할 수 있다.The initial setting of the virtual computing agent is completed and operated based on the second initial setting information acquired in step S206 (S207). For example, in the initial setting process of the virtual computing agent, an administrator authority to synchronize the virtual computing agent and the controller, to install the application program in the operating system or to change the internal setting of the operating system is given to the user account of the operating system, You can synchronize to the domain time of the domain to which the account belongs.
이에 따라, 가상 컴퓨팅 에이전트는 컨트롤러와 연결되어, 클라우드 컴퓨팅 시스템 관리 서버 또는 컨트롤러의 제어에 따라 가상 컴퓨팅 에이전트를 작동시켜서 가상머신 인스턴스를 할당받은 사용자에게 가상 컴퓨팅 환경을 제공할 수 있게 된다. Accordingly, the virtual computing agent is connected to the controller, and operates the virtual computing agent under the control of the cloud computing system management server or the controller to provide the virtual computing environment to the user who is allocated the virtual machine instance.
도 3은 본 발명의 바람직한 일 실시예에 따른 클라어드 컴퓨팅 시스템의 클라우드 컴퓨팅 시스템 관리 서버에서 기업 클라이언트의 가상머신 인스턴스에 대한 초기 설정 자동화 서비스를 제공하는 방법의 흐름을 도시한 도면이다.3 is a flowchart illustrating a method of providing an initial configuration automation service for a virtual machine instance of an enterprise client in a cloud computing system management server of a cloud computing system according to an exemplary embodiment of the present invention.
본 실시예에 따른 가상머신 인스턴스, 라우터 가상머신, 컨트롤러 및 클라우드 컴퓨팅 시스템 관리 서버는 도 1에 도시된 클라우드 컴퓨팅 시스템의 사용자 가상머신(140), 라우터 가상머신(RVM, 130), 컨트롤러(DDC, 160) 및 클라우드 컴퓨팅 시스템 관리 서버(110)에 각각 대응될 수 있다. 따라서, 도 1에 도시된 클라우드 컴퓨팅 시스템에 관한 설명에서와 동일한 사항에 대해서는 이를 참조한다.The virtual machine instance, the router virtual machine, the controller, and the cloud computing system management server according to the present embodiment may include a user virtual machine 140, a router virtual machine (RVM) 130, a controller (DDC, 160 and the cloud computing
본 실시예에서는 설명의 편의를 위해, 도 2에 도시된 실시예와 마찬가지로, 가상머신 인스턴스에서 작동되는 운영체제가 Windows 계열의 운영체제인 Windows XP, Windows 2003 server, Windows 7, Windows 2008 Server 중 하나인 상황을 가정하여 도시하였으나, 이는 하나의 실시예에 불과하며, 본 발명 자체가 이에 한정되는 것은 아니라고 할 것이다.In this embodiment, for convenience of explanation, as in the embodiment shown in FIG. 2, the operating system operating in the virtual machine instance is one of Windows XP operating system, Windows 2003 server,
기업 클라이언트의 프라이빗 네트워크 내부에서 기저장된 마스터 가상머신 템플릿 이미지를 복제하여 생성된 가상머신 인스턴스로부터 해당 프라이빗 네트워크의 라우터 가상머신을 통해 해당 가상머신 인스턴스에 Windows 계열의 운영체제의 설치에 필요한 제1초기 설정 정보의 요청을 수신한다(S301).From the virtual machine instance generated by replicating the pre-stored master virtual machine template image within the private network of the enterprise client, through the router virtual machine of the corresponding private network, the first initial setting information necessary for installing the Windows- (S301).
S301 단계에서 수신된 제1초기 설정 정보로는 사용자 계정의 식별자, 컴퓨터 이름, 운영체제 정품 인증 정보 및 기타 액티브 디렉토리 정보를 포함될 수 있으며, 이러한 제1초기 설정 정보의 요청에는 가상머신 인스턴스에 할당된 MAC 주소 정보가 포함된 것을 전제로 한다.The first initial setting information received in step S301 may include an identifier of a user account, a computer name, operating system activation information, and other active directory information. The request of the first initial setting information may include a MAC It is assumed that the address information is included.
S301 단계에서 수신된 요청의 MAC 주소 정보를 기초로 제1초기 설정 정보를 조회한다(S302). 본 실시예에 따른 클라우드 컴퓨팅 시스템 관리 서버에는 MAC 주소 정보를 키로 하여 각 가상머신 인스턴스의 제1초기 설정 정보가 저장된 데이터베이스가 구축되어 있는 것을 전제로 한다.The first initial setting information is inquired based on the MAC address information of the request received in step S301 (S302). The cloud computing system management server according to the present embodiment assumes that a database storing first initial setting information of each virtual machine instance is constructed with MAC address information as a key.
S301 단계에서 수신된 요청에 대한 응답으로, S302 단계에서 조회된 제1초기 설정 정보를 해당 프라이빗 네트워크의 라우터 가상머신을 거쳐 해당 가상머신 인스턴스에 제공한다(S303).In response to the request received in step S301, the first initialization information inquired in step S302 is provided to the corresponding virtual machine instance via the router virtual machine of the private network in step S303.
S303 단계에서 제공된 제1초기 설정 정보에 따라 운영체제를 설치한 가상머신 인스턴스로부터 운영체제 상에서 가상 컴퓨팅 환경을 제공할 가상 컴퓨팅 에이전트의 초기 설정(configuration)에 필요한 제2초기 설정 정보의 요청을 수신한다(S304).In operation S304, a request for second initial configuration information required for initial configuration of a virtual computing agent to provide a virtual computing environment on the operating system is received from the virtual machine instance on which the operating system is installed according to the first initial configuration information provided in operation S304. ).
본 실시예에서의 제2초기 설정 정보는 가상 컴퓨팅 에이전트와 연결되어 가상 컴퓨팅 환경을 제어할 컨트롤러의 정보를 포함하는 것이 일반적이다.In the present embodiment, the second initial configuration information generally includes information of a controller connected to the virtual computing agent to control the virtual computing environment.
S304 단계에서 수신된 요청에 대한 응답으로, 제2초기 설정 정보를 라우터 가상머신을 거쳐 해당 가상머신 인스턴스에 제공한다(S305).In response to the request received in step S304, the second initial setting information is provided to the corresponding virtual machine instance via the router virtual machine (S305).
도 4는 본 발명의 바람직한 일 실시예에 따른 클라어드 컴퓨팅 시스템에서 기업 클라이너트의 가상머신 인스턴스에 대한 초기 설정 자동화 과정을 예시한 도면이다.4 is a diagram illustrating a process of automating an initial setup of a virtual machine instance of a corporate client in a cluster computing system according to an exemplary embodiment of the present invention.
본 실시예에 따른 User VM(401), RVM(402) 및 VMS(403)는 도 2 내지 3에 도시된 실시예의 가상머신 인스턴스, 라우터 가상머신 및 클라우드 컴퓨팅 시스템 관리 서버에 각각 대응될 수 있다. 따라서, 도 2 내지 3에 도시된 실시예에 관한 설명에서와 동일한 사항에 대해서는 이를 참조한다.The
먼저, User VM(401)는 운영체제가 설치되기 이전의 원시 상태에서, RVM(402)에 초기 설정 정보를 요청한다(S411). 본 실시예에서는 이러한 초기 설정 정보의 요청을 별도 구현된 API에 정의된 Request Provisioning Info() 메서드를 호출하는 형태로 구현한다.First, the
RVM(402)는 이러한 User VM(401)의 요청을 그대로 VMS(403)에게 포워딩한다(S412).The
VMS(403)는 RVM(402)으로부터 User VM(401)의 요청을 그대로 포워딩받아, 해당 요청의 MAC 주소에 대응되는 사용자 계정의 식별자, 컴퓨터 이름, 운영체제 정품 인증 정보 및 기타 액티브 디렉토리 정보 등을 RVM(4020)에 전달한다(S413). 본 실시예에서는 이러한 사용자 계정의 식별자, 컴퓨터 이름, 운영체제 정품 인증 정보 및 기타 액티브 디렉토리 정보의 제공을 별도 구현된 API에 정의된 response AD Info() 메서드를 호출하는 형태로 구현한다.The
RVM(402)는 VMS (403)에서 전달받은 사용자 계정의 식별자, 컴퓨터 이름, 운영체제 정품 인증 정보 및 기타 액티브 디렉토리 정보를 User VM(401)의 요청에 대한 응답의 형태로 User VM(401)에 전송한다(S414). 본 실시예에서는 이러한 RVM의 User VM(401)의 요청에 대한 응답으로, VMS(403)에서 전달받은 정보를 전송하는 것은 별도 구현된 API에 정의된 Response Provisioning Info() 메서드를 호출하는 형태로 구현한다.The
User VM(401)는 S414 단계에서 수신된 정보를 기초로 User VM(401)에 운영체제의 설치 작업을 수행한다(S415 내지 S416).The
일반적으로 Windows 기반의 운영체제에서는 이러한 설치 과정에서 각종 필요한 정보를 설정하는 작업, 이른바 일반화(generalize) 작업을 Sysprep이라는 툴을 통해 수행하게 되는데, 단순히 Sysprep 툴만 실행시켜 일반화 작업을 수행하는 경우에는 사용자 계정의 식별자(SID) 등의 정보가 랜덤하게 생성되게 되므로, 동일한 프라이빗 네트워크 상에서도 중복된 SID가 생성되어 사용될 수 있게 된다.In general, the Windows-based operating system sets up the necessary information during the installation process, so-called generalize, through a tool called Sysprep. In the case of generalizing only by running the Sysprep tool, Since information such as an identifier (SID) is randomly generated, duplicate SIDs can be generated and used on the same private network.
따라서, 본 실시예에서는 이러한 사용자 계정의 식별자, 컴퓨터 이름, 운영체제 정품 인증 정보 및 기타 액티브 디렉토리 정보를 프라이빗 네트워크 외부의 VMS(403)으로부터 획득하여, 이렇게 획득된 정보를 기초로 Unattend file을 생성하고, 이러한 Unattend file을 Sysprep 툴에 링크하여 Sysprep을 설정하고(S415), 운영체제를 재부팅시킨 후에, Sysprep 툴을 구동시켜서(S416), 운영체제의 일반화를 수행하고, 운영체제를 재부팅시킨다.Therefore, in the present embodiment, the identifier, computer name, operating system activation information, and other Active Directory information of the user account are obtained from the
이때, Windows 기반의 운영체제에서 Unattend file을 Sysprep 툴에 링크하는 명령어로는 "sysprep.exe /quiet /generalize /oobe /reboot /unattend: [Unattend file name]"과 같이 작성되어 실행될 수 있으며, Windows 7 혹은 2008 server에서는 이러한 Unattend file이 XML 형태로 구현될 수 있으나, 이는 하나의 실시예에 불과하며, 본 발명이 이에 한정되는 것은 아니다.In this case, the command to link the Unattend file to the Sysprep tool in the Windows-based operating system may be written and executed as "sysprep.exe / quiet / generalize / oobe / reboot / unattend: [Unattend file name]". In the 2008 server, such an Unattend file may be implemented in an XML form, but this is only one embodiment, and the present invention is not limited thereto.
User VM(401)는 Sysprep을 통해 운영체제 설치 작업이 완료된 후에, 운영체제가 설치된 상태에서, RVM(402)에 초기 설정 정보를 요청한다(S417). 본 실시예에서는 S417 단계에의 초기 설정 정보의 요청을 S411 단계에서와 마찬가지로, 별도 구현된 API에 정의된 Request Provisioning Info() 메서드를 호출하는 형태로 구현한다. 즉, 도 2 내지 도 3에서의 제1초기 설정 정보를 요청하는 메시지와 제2 초기 설정 정보를 요청하는 메시지를 동일한 형태의 요청 메시지로 정의한 후에, 이러한 요청 메시지를 처리하는 VMS(403)에서 동일한 MAC 주소를 포함하는 요청 메시지를 수신한 횟수 등에 따라 요청 메시지를 제1초기 설정 정보를 요청하는 메시지와 제2초기 설정 정보를 요청하는 메시지로 분류하여 처리하도록 구현한다. 그러나, 이는 하나의 실시예에 불과하며, 본 발명 자체가 이에 한정되지는 않는다고 할 것이다.After the operating system installation is completed through Sysprep, the
RVM(402)는 S412 단계와 마찬가지로, User VM(401)의 요청을 그대로 VMS(403)에게 포워딩한다(S418).The
VMS(403)는 RVM(402)으로부터 User VM(401)의 요청을 그대로 포워딩받아, 해당 요청의 MAC 주소에 대응되는 요청 메시지를 이전에 수신한 적이 있는 경우에는, 해당 요청의 MAC 주소의 User VM에 설치될 가상 컴퓨팅 에이전트와 연결될 컨트롤러의 정보를 RVM(4020)에 전달한다(S419). 본 실시예에서는 이러한 컨트롤러 정보의 제공을 별도 구현된 API에 정의된 response DDC Info() 메서드를 호출하는 형태로 구현한다.The
RVM(402)는 VMS (403)에서 전달받은 컨트롤러 정보를 User VM(401)의 요청에 대한 응답의 형태로 User VM(401)에 전송한다(S420). 이때, RVM(402)는 S414 단계와 마찬가지로, Response Provisioning Info() 메서드를 호출하여 수행할 수 있다.The
User VM(401)는 S420 단계에서 수신된 정보를 기초로 User VM(401)에 설치된 운영체제에 가상 컴퓨팅 에이전트의 초기 설정(configuration) 작업을 수행한다(S421). 이러한 가상 컴퓨팅 에이전트의 초기 설정 과정에서, 가상 컴퓨팅 에이전트와 컨트롤러를 동기화하고, 운영체제에 응용 프로그램을 설치하거나 운영체제의 내부 설정을 변경할 수 있는 관리자 권한을 운영체제의 사용자 계정에 부여하고, 운영체제의 사용자 계정이 속하는 도메인의 도메인 시간에 동기화할 수 있고, 이러한 작업들은 VDA setup() 메서드 및 Admin Auth() 메서드를 호출하여 수행할 수 있다.The
도 5는 본 발명의 바람직한 일 실시예에 따른 초기 설정 자동화 과정에 따를 때, 가상머신 인스턴스에서 수행되는 내부 프로세스의 흐름을 예시한 도면이다. 본 실시예에서는 설명의 편의를 위해, 가상머신 인스턴스에서 작동되는 운영체제가 Windows 계열의 데스크톱 운영체제인 Windows XP 또는 Windows 7인 상황을 가정하여 도시하였으나, 이는 하나의 실시예에 불과하며, 본 발명 자체가 이에 한정되는 것은 아니라고 할 것이다.FIG. 5 is a diagram illustrating an internal process flow performed in a virtual machine instance according to an initial setting automation process according to a preferred embodiment of the present invention. In the present embodiment, for convenience of description, it is assumed that the operating system operating in the virtual machine instance is a Windows-based desktop operating system Windows XP or
먼저 가상머신 인스턴스가 생성되면, 해당 가상머신 인스턴스에 대응되는 RSA-Key를 생성하고(S501), DHCP 서버의 기능을 수행하는 라우터 가상머신으로부터 DHCP IP 할당을 요청하여 이를 대기한다(S502).First, when the virtual machine instance is generated, it generates an RSA-Key corresponding to the virtual machine instance (S501), and requests DHCP IP allocation from the router virtual machine performing the function of the DHCP server (S502).
S502 단계에서 DHCP IP 할당을 성공적으로 받는 경우(S503)에는 동기화를 수행하고, 별도의 VM 제어를 위한 WRM 포트를 열고(S504), 라우터 가상머신과의 통신을 위해 미리 지정된 소정의 포트(예컨대, 80 포트)를 통해, 라우터 가상머신과의 통신 연결을 시도하고, 라우터 가상머신과의 통신 연결 상태를 체크한다(S505).If the DHCP IP allocation is successfully performed in step S502 (S503), synchronization is performed, a WRM port for controlling a separate VM is opened (S504), and a predetermined port (for example, 80 port), a communication connection with the router virtual machine is tried, and a communication connection state with the router virtual machine is checked (S505).
라우터 가상머신과의 통신 연결 상태가 정상적인 경우에(S506), 라우터 가상머신에 초기 설정 요청을 전송한다(S507).If the communication connection state with the router virtual machine is normal (S506), the initial setup request is transmitted to the router virtual machine (S507).
S507 단계에서의 초기 설정 요청에 대한 응답을 성공적으로 수신하게 되면(S508), 현재 운영체제가 설치되기 전인지 설치된 이후인지를 판단하여(S509), 설치되기 전이면, 설치될 운영체제가 Windows XP 인지 Windows 7인지를 판단하여(S510), S507 단계에서의 초기 설정 요청에 대한 응답으로 전달받은 정보를 기초로 각 운영체제에 맞는 일반화(또는 초기화) 과정을 거쳐, 운영체제를 정상적으로 설치한다(S511 내지 S515).Upon successfully receiving a response to the initial setup request in step S507 (S508), it is determined whether the current operating system is installed before or after the installation (S509), and before the installation, the operating system to be installed is Windows XP or Windows. In operation S510, the operating system is normally installed (S511 to S515) through a generalization (or initialization) process for each operating system based on the information received in response to the initial setup request in step S507.
현재 운영체제가 설치된 이후인 경우에는 S507 단계에서의 초기 설정 요청에 대한 응답으로 전달받은 정보를 기초로 가상 컴퓨팅 에이전트를 설치하고, 운영체제의 사용자 계정을 관리자 권한으로 변경하는 등의 작업을 수행한다 (S516).If the current operating system is installed, the virtual computing agent is installed on the basis of the information received in response to the initial setup request in step S507, and the operation of changing the user account of the operating system to administrator authority is performed (S516). ).
본 발명에 따르면, 프라이빗 네트워크 상에서 복수의 가상 컴퓨팅 환경을 각각 제공받는 복수의 사용자들을 포함하는 기업 클라이언트의 복수의 가상머신 인스턴스들의 초기 설정을 자동화할 수 있다.According to the present invention, an initial configuration of a plurality of virtual machine instances of an enterprise client including a plurality of users each provided with a plurality of virtual computing environments on a private network may be automated.
특히, 가상머신 인스턴스의 운영체제가 Windows 계열의 운영체제를 설치하는 데에 필요한 초기설정 정보를 동일한 기업 클라이언트 내의 사용자별로 서로 중복되지 않게 설정할 수 있다.In particular, the initialization information necessary for the operating system of the virtual machine instance to install the operating system of the Windows series can be set so that they do not overlap with each other within the same enterprise client.
본 발명에 따른 가상 모바일 인스턴스 모니터링 장치 및 방법 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The apparatus and method for monitoring virtual mobile instances according to the present invention can also be implemented as computer readable codes on a computer readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers of the technical field to which the present invention belongs.
본 발명은 첨부된 도면에 도시된 일 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 수 있을 것이다. 따라서, 본 발명의 진정한 보호 범위는 첨부된 청구 범위에 의해서만 정해져야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of limitation, You will understand. Accordingly, the true scope of protection of the present invention should be determined only by the appended claims.
Claims (9)
상기 프라이빗 네트워크의 라우터 가상머신을 통해 상기 프라이빗 네트워크 외부에 가상머신 인스턴스의 MAC 주소를 기초로 상기 생성된 가상머신 인스턴스에 운영체제를 설치하는 데에 필요한 제1초기 설정 정보를 요청하고, 요청에 대한 응답으로 상기 제1초기 설정 정보를 획득하는 단계;
상기 제1초기 설정 정보를 기초로 상기 생성된 가상머신 인스턴스에 운영체제를 설치하는 운영체제설치단계;
상기 라우터 가상머신을 통해 상기 프라이빗 네트워크 외부에 상기 설치된 운영체제 상에서 가상 컴퓨팅 환경을 제공할 응용프로그램인 가상 컴퓨팅 에이전트의 초기 설정에 필요한 제2초기 설정 정보를 요청하고, 요청에 대한 응답으로, 상기 제2초기 설정 정보를 획득하는 단계; 및
상기 제2초기 설정 정보를 기초로 상기 가상 컴퓨팅 에이전트를 설정하는 에이전트설정단계를 포함하는 것을 특징으로 하는 가상머신 초기설정 자동화 방법.Creating a virtual machine instance by duplicating a master virtual machine template image previously stored in a private network;
Requesting the first initial setting information necessary for installing the operating system in the created virtual machine instance based on the MAC address of the virtual machine instance outside the private network through the router virtual machine of the private network, Acquiring the first initial setting information with the first initial setting information;
An operating system installation step of installing an operating system on the created virtual machine instance based on the first initial setting information;
Requests second initial configuration information required for initial setting of a virtual computing agent, which is an application that will provide a virtual computing environment on the installed operating system outside the private network through the router virtual machine, and in response to the request, Obtaining initial setting information; And
And an agent setting step of setting the virtual computing agent based on the second initial setting information.
상기 제1초기 설정 정보는 사용자 계정의 식별자, 컴퓨터 이름, 운영체제 정품 인증 정보 및 액티브 디렉토리 정보를 포함하는 것을 특징으로 하는 가상머신 초기설정 자동화 방법.The method of claim 1,
And the first initial configuration information comprises an identifier of a user account, a computer name, operating system activation information, and active directory information.
상기 운영체제설치단계는
상기 운영체제에 상기 사용자 계정의 식별자, 컴퓨터 이름 및 운영체제 정품 인증 정보를 입력하는 단계; 및
상기 액티브 디렉트리 정보를 기초로 상기 사용자 계정이 속할 도메인에 가입하는 단계를 포함하는 것을 특징으로 하는 가상머신 초기설정 자동화 방법.3. The method of claim 2,
The operating system installation step
Inputting an identifier, a computer name, and operating system activation information of the user account into the operating system; And
And joining the domain to which the user account belongs based on the active directory information.
상기 제2초기 설정 정보는 상기 가상 컴퓨팅 에이전트와 연결되어 상기 가상 컴퓨팅 환경을 제어할 컨트롤러의 정보를 포함하는 것을 특징으로 하는 가상머신 초기설정 자동화 방법.The method of claim 1,
And the second initial configuration information is connected to the virtual computing agent and includes information of a controller to control the virtual computing environment.
상기 에이전트설정단계는
상기 가상 컴퓨팅 에이전트와 상기 컨트롤러를 동기화하는 단계;
상기 운영체제에 응용 프로그램을 설치하거나 상기 운영체제의 내부 설정을 변경할 수 있는 관리자 권한을 상기 운영체제의 사용자 계정에 부여하는 단계; 및
상기 운영체제의 사용자 계정이 속하는 도메인의 도메인 시간에 동기화하는 단계를 포함하는 것을 특징으로 하는 가상머신 초기설정 자동화 방법.The method of claim 1,
The agent setting step
Synchronizing the virtual computing agent and the controller;
Granting a user account of the operating system an administrator right to install an application program on the operating system or change an internal setting of the operating system; And
And synchronizing at a domain time of a domain to which a user account of the operating system belongs.
상기 제2초기 설정 정보를 요청하는 메시지는 상기 제1초기 설정 정보를 요청하는 메시지와 동일한 것을 특징으로 하는 가상머신 초기설정 자동화 방법.The method of claim 1,
And the message for requesting the second initial configuration information is the same as the message for requesting the first initial configuration information.
상기 가상머신 인스턴스에 할당된 MAC 주소를 기초로 상기 제1초기 설정 정보를 조회하여 상기 라우터 가상머신을 거쳐 상기 가상머신 인스턴스에 제공하는 단계;
상기 제1초기 설정 정보에 따라 운영체제를 설치한 상기 가상머신 인스턴스로부터 상기 설치된 운영체제 상에서 가상 컴퓨팅 환경을 제공할 응용프로그램인 가상 컴퓨팅 에이전트의 초기 설정에 필요한 제2초기 설정 정보의 요청을 수신하는 제2요청수신단계;
상기 가상 컴퓨팅 에이전트와 연결되어 상기 가상 컴퓨팅 환경을 제어할 컨트롤러의 정보를 포함하는 상기 제2초기 설정 정보를 상기 라우터 가상머신을 거쳐 상기 가상머신 인스턴스에 제공하는 단계를 포함하는 것을 특징으로 하는 가상머신 초기설정 자동화 서비스 제공 방법.A first request receiving step of receiving a request for first initial configuration information required to install an operating system on the virtual machine instance through a router virtual machine of the private network from the virtual machine instance created inside the private network;
Querying the first initial configuration information based on the MAC address assigned to the virtual machine instance and providing the first initial configuration information to the virtual machine instance via the router virtual machine;
A second request for receiving the second initial configuration information required for initial configuration of a virtual computing agent, the application program providing an virtual computing environment on the installed operating system, from the virtual machine instance on which the operating system is installed according to the first initial configuration information; Request receiving step;
And providing the second initial configuration information including information of a controller connected to the virtual computing agent to control the virtual computing environment to the virtual machine instance via the router virtual machine. How to provide initial configuration automation service.
상기 제1초기 설정 정보는 사용자 계정의 식별자, 컴퓨터 이름, 운영체제 정품 인증 정보 및 액티브 디렉토리 정보를 포함하는 것을 특징으로 하는 가상머신 초기설정 자동화 서비스 제공 방법.The method of claim 7, wherein
And the first initial setting information comprises an identifier of a user account, a computer name, operating system activation information, and active directory information.
상기 제2요청수신단계에서 수신되는 요청 메시지는 상기 제1요청수신단계에서 수신되는 요청 메시지와 동일한 것을 특징으로 하는 가상머신 초기설정 자동화 서비스 제공 방법.The method of claim 7, wherein
Wherein the request message received in the second request receiving step is the same as the request message received in the first request receiving step.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20120058815A KR101493828B1 (en) | 2012-05-31 | 2012-05-31 | Method for virtual machine auto-configuration and method for providing virtual machine auto-configuration service |
PCT/KR2012/010284 WO2013180359A1 (en) | 2012-05-31 | 2012-11-30 | Method for automating initial setting of virtual machine and method for providing initial setting automation service for virtual machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20120058815A KR101493828B1 (en) | 2012-05-31 | 2012-05-31 | Method for virtual machine auto-configuration and method for providing virtual machine auto-configuration service |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130134920A true KR20130134920A (en) | 2013-12-10 |
KR101493828B1 KR101493828B1 (en) | 2015-02-16 |
Family
ID=49673522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20120058815A KR101493828B1 (en) | 2012-05-31 | 2012-05-31 | Method for virtual machine auto-configuration and method for providing virtual machine auto-configuration service |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101493828B1 (en) |
WO (1) | WO2013180359A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201657A (en) * | 2016-07-07 | 2016-12-07 | 天脉聚源(北京)传媒科技有限公司 | A kind of network interface card information processing method based on virtual machine and device |
CN108737499A (en) * | 2018-04-19 | 2018-11-02 | 华为技术有限公司 | server configuration method and device |
CN114363334B (en) * | 2021-12-30 | 2024-04-02 | 阿里巴巴(中国)有限公司 | Cloud system, network configuration method, device and equipment of cloud desktop virtual machine |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7577722B1 (en) | 2002-04-05 | 2009-08-18 | Vmware, Inc. | Provisioning of computer systems using virtual machines |
CA2481687A1 (en) | 2002-04-11 | 2003-10-23 | Linuxcare, Inc. | Managing multiple virtual machines |
US20100107163A1 (en) * | 2007-03-20 | 2010-04-29 | Sanggyu Lee | Movable virtual machine image |
US8276137B2 (en) * | 2007-10-16 | 2012-09-25 | International Business Machines Corporation | Creating a virtual machine containing third party code |
KR101253560B1 (en) * | 2009-11-05 | 2013-04-11 | 한국전자통신연구원 | System for managing a virtualization solution and Apparatus and Method for managing the same |
-
2012
- 2012-05-31 KR KR20120058815A patent/KR101493828B1/en active IP Right Grant
- 2012-11-30 WO PCT/KR2012/010284 patent/WO2013180359A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2013180359A1 (en) | 2013-12-05 |
KR101493828B1 (en) | 2015-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10855537B2 (en) | Methods and apparatus for template driven infrastructure in virtualized server systems | |
US11622010B2 (en) | Virtualizing device management services on a multi-session platform | |
US11483405B2 (en) | Private cloud as a service | |
US8290998B2 (en) | Systems and methods for generating cloud computing landscapes | |
US8301746B2 (en) | Method and system for abstracting non-functional requirements based deployment of virtual machines | |
US20180039507A1 (en) | System and method for management of a virtual machine environment | |
WO2019184116A1 (en) | Method and device for automatically building kubernetes main node, terminal device and computer-readable storage medium | |
US10826723B1 (en) | Virtual network address space auto-migration | |
US20180316559A1 (en) | Managing virtual network functions | |
EP3313023A1 (en) | Life cycle management method and apparatus | |
JP2019528005A (en) | Method, apparatus, and system for a virtual machine to access a physical server in a cloud computing system | |
CN103595801B (en) | Cloud computing system and real-time monitoring method for virtual machine in cloud computing system | |
JP2010282447A (en) | Virtual computer system, access control method for the same, and communication device | |
US11243793B2 (en) | Virtual machine management | |
KR20180066148A (en) | Method and device for managing certificates in a network functional virtualization architecture | |
KR20140028697A (en) | Desktop virtualization manager apparatus and client apparatus for daas system | |
US20180217850A1 (en) | Computer system providing cloud-based session prelaunch features and related methods | |
US20220382590A1 (en) | Cloud provider account mappings | |
KR101544487B1 (en) | Virtual desktop service system for client that has multiple user accounts | |
US10979289B2 (en) | Apparatuses and methods for remote computing node registration and authentication | |
KR101493828B1 (en) | Method for virtual machine auto-configuration and method for providing virtual machine auto-configuration service | |
EP3193253B1 (en) | Method, apparatus and system for displaying names of virtual machine | |
US20210240511A1 (en) | Computer-implemented method for reducing service disruption times for a universal customer premise equipment, ucpe, device with resource constraint in a network functions virtualization, nfv, network infrastucture | |
US20170116016A1 (en) | Screen compression service method and virtual network apparatus for performing the method | |
US10824476B1 (en) | Multi-homed computing instance processes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20120531 |
|
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20130510 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20120531 Comment text: Patent Application |
|
PG1501 | Laying open of application | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20140731 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20150121 |
|
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20150210 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20150211 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20180201 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20190201 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20200203 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20210201 Start annual number: 7 End annual number: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20211222 Start annual number: 8 End annual number: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20250122 Start annual number: 11 End annual number: 11 |