WO2013180359A1 - 가상머신 초기 설정 자동화 방법 및 가상머신 초기 설정 자동화 서비스 제공 방법 - Google Patents

가상머신 초기 설정 자동화 방법 및 가상머신 초기 설정 자동화 서비스 제공 방법 Download PDF

Info

Publication number
WO2013180359A1
WO2013180359A1 PCT/KR2012/010284 KR2012010284W WO2013180359A1 WO 2013180359 A1 WO2013180359 A1 WO 2013180359A1 KR 2012010284 W KR2012010284 W KR 2012010284W WO 2013180359 A1 WO2013180359 A1 WO 2013180359A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual machine
operating system
initial configuration
information
configuration information
Prior art date
Application number
PCT/KR2012/010284
Other languages
English (en)
French (fr)
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 (주)케이티
Publication of WO2013180359A1 publication Critical patent/WO2013180359A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/223Execution 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Definitions

  • 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, comprising: 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;
  • 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 makes available as users pay for them. 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.
  • 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.).
  • desktop-based operating systems eg, Windows XP, Windows 7, etc.
  • server-based operating systems eg, Windows 2003 server, Windows 2008 Server, etc.
  • initial configuration information such as SID and computer name for each user.
  • a plurality of individual virtual computing environments must be provided to a plurality of users belonging to the enterprise client, and thus, in the process of preparing a plurality of virtual machine instances for each of the plurality of users. In this case, a process of inputting initial configuration information for each of the plurality of users to the operating systems of the virtual machine instances is required.
  • the technical problem to be achieved by the present invention is the initial setting of the virtual machine that can automatically input the initial configuration information for each of the plurality of users belonging to the enterprise client to operate the operating system and virtual computing agent of each of the plurality of virtual machine instances
  • An object of the present invention is to provide an automated method and a method of providing an automated service for initial setting of a virtual machine.
  • 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.
  • 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.
  • FIG. 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 for automating initial setup in a virtual machine instance of an enterprise client of a cloud computing system according to an exemplary embodiment of the present invention.
  • FIG. 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.
  • FIG. 4 is a diagram illustrating an initial configuration automation process for a virtual machine instance of an enterprise client in a cloud 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 configuration automation process according to an embodiment of the present invention.
  • a virtual machine initializing method 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 installation step of installing an operating system on the virtual machine instance generated based on the first initial setting information; Through the router virtual machine, the second initial configuration information required for the initial configuration of the virtual computing agent, which is an application that will provide a virtual computing environment on an operating system installed outside the private network, is requested, and in response to the request, the second initial configuration information is requested. Obtaining; And an agent setting step of setting a virtual computing agent based on the second initial setting information.
  • the first initial configuration information may include an identifier of a user account, a computer name, operating system activation information, and active directory information.
  • 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.
  • the second initial configuration information may include information of a controller connected to the virtual computing agent to control the virtual computing environment.
  • the agent setting step includes synchronizing a virtual computing agent and a controller; Granting a user account of an operating system an administrator right to install an application on the operating system or change an internal setting of the operating system; And synchronizing at a domain time of a domain to which the user account of the operating system belongs.
  • the message for requesting the second initial setting information may be the same as the message for requesting the first initial setting information.
  • a method for providing a virtual machine initialization automation service is required to install an operating system on a virtual machine instance through a router virtual machine of a private network from a virtual machine instance created inside a private network.
  • a first request receiving step of receiving a request for first initial configuration 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;
  • the first initial configuration information may include an identifier of a user account, a computer name, operating system activation information, and active directory information.
  • 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.
  • the functionality of the various elements shown in the figures, including functional blocks represented by a processor or similar concept, can be provided by the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software.
  • the functionality may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared.
  • the use of terms presented in terms of processor, control, or similar concept should not be interpreted exclusively as a citation of hardware capable of executing software, and without limitation, ROM for storing digital signal processor (DSP) hardware, software. (ROM), RAM, and non-volatile memory are to be understood to implicitly include. Other well known hardware may also be included.
  • FIG. 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.
  • the cloud computing system includes a cloud computing system management server 110, a router virtual machine (RVM) 130, a user virtual machine 140, an active directory (AD) 150, and a controller ( DDC, 160).
  • RVM router virtual machine
  • AD active directory
  • DDC controller
  • the cloud computing management server 110 refers to a server that provides a cloud computing service and comprehensively manages a cloud computing service provided to a user or an enterprise client, outside the private network 120 of the corporate client.
  • the corporate client of the present embodiment is composed of a plurality of users each of which can use a plurality of user accounts, each of which is provided with a plurality of individual virtual computing environments, instead of one user account, and each user is each within the private network 120.
  • IDs and private IPs are assigned, and based on this, separate virtual computing environments can be used. Relationships (eg, organization charts) between users can be stored and managed separately. Rights to access or control resources or components on a virtual computing environment or other private network may be limited.
  • the cloud computing management server 110 may establish a foundation for deploying a virtual computing environment for a cloud computing service to the user virtual machine 140 and provide a function of monitoring or managing such a distribution process.
  • it can be implemented based on Citrix Xen Server family of solutions, but this is only one implementation, the present invention is not limited thereto.
  • router virtual machine 130 the user virtual machine 140, the active directory 150 and the controller 160 may be located on the private network 120 of the corporate client.
  • the active directory 150, and the controller 160 which are components of the private network 120, components of an external network of the private network 120, for example, a cloud computing system management server ( When communicating with 110, it is possible to communicate via the router virtual machine 130.
  • the router virtual machine 130 performs a network address translation (NAT) function of changing private IP addresses of components inside the private network 120 to an external IP address for communication with an external network, and thus, a private network.
  • NAT network address translation
  • the user virtual machine 140 which is an internal component, supports the Internet access or mediates to access the cloud computing system management server 110, which is a component of an external network.
  • the router virtual machine 130 does not block direct access to the cloud computing system management server 110 from the user virtual machine 140, but instead of a broker between the user virtual machine 140 and the cloud computing system management server 110 ( Broker) function.
  • the routing virtual machine 130 may perform DHCP server, port forwarding between user virtual machines, routing between other router virtual machines, network setting and port forwarding setting function of another router virtual machine, and the like. .
  • a plurality of routing virtual machines 130 may be scaled out according to the number of user virtual machines used by the corporate client and disposed on the private network.
  • the user virtual machine 140 is a virtual machine instance created by duplicating a previously stored master virtual machine template image.
  • the user virtual machine 140 installs an operating system and provides a virtual computing environment using virtual computing resources to a user through a virtual computing agent based on the operating system. to provide.
  • Active Directory 150 is a component that stores and manages ID and relationship information of components constituting the private network 120 in a Windows-based operating system. Allows you to configure and manage configuration information for the program, and manages communication between users and domains.
  • the controller 160 authenticates the user who will use the user virtual machine, manages the assembly of the user's virtual computing environment, provides services for mediating the connection between the user and the virtual computing environment (eg, virtual desktops), and the virtual computing environment. You can control the service delivery status of the virtual computing environment, such as starting or stopping a virtual desktop service.
  • FIG. 2 is a flowchart illustrating a method of automating initial setup in a virtual machine instance of an enterprise client of a cloud computing system according to an exemplary embodiment of the present invention.
  • the virtual machine instance, the router virtual machine, The controller and the cloud computing system management server are respectively provided to the user virtual machine 140, the router virtual machine (RVM) 130, the controller (DDC, 160) and the cloud computing system management server 110 of the cloud computing system illustrated in FIG. 1.
  • RVM router virtual machine
  • DDC, 160 controller
  • the operating system operating in the virtual machine instance is one of the Windows-based operating system Windows XP, Windows 2003 server, Windows 7, Windows 2008 Server, but this is one implementation It is only an example, and the present invention is not limited thereto.
  • a virtual machine instance is generated by duplicating a previously stored master virtual machine template image (S201).
  • the virtual machine instance generated through the step S201 in the present embodiment is based on the assumption that the template image of the original state before the operating system is installed is duplicated.
  • 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). ).
  • 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.
  • the first initial setting information is obtained from the cloud computing system management server through the router virtual machine (S203).
  • 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 Active Directory information.
  • 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.
  • 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. Indirect control or direct control of the controller allows management or control of the virtual computing environment provided to the user.
  • the second initial setting information is requested to the cloud computing system management server through the router virtual machine (S205), and in response, the second initial setting information is obtained from the cloud computing system management server through the router virtual machine. (S206).
  • the initial setting of the virtual computing agent is completed and operated based on the second initial setting information acquired in step S206 (S207).
  • the user account of the operating system is given the administrator rights to synchronize the virtual computing agent and the controller, install an application on the operating system or change the internal settings of the operating system. You can synchronize at the domain time of the domain to which the account belongs.
  • the virtual computing agent may be connected to the controller to operate the virtual computing agent under the control of the cloud computing system management server or the controller to provide a virtual computing environment to a user assigned to the virtual machine instance.
  • FIG. 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.
  • the virtual machine instance, the router virtual machine, the controller, and the cloud computing system management server may include a user virtual machine 140, a router virtual machine (RVM) 130, a controller (DDC, 160 and the cloud computing system management server 110 may respectively correspond. Therefore, the same matters as in the description of the cloud computing system illustrated in FIG. 1 are referred to this.
  • the operating system operating in the virtual machine instance is one of the Windows-based operating systems Windows XP, Windows 2003 server, Windows 7, and Windows 2008 Server. Although illustrated assuming, this is only one embodiment, and the present invention is not limited thereto.
  • the first initial configuration 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 for the first initial configuration information may include a MAC allocated to the virtual machine instance. It is assumed that address information is included.
  • the first initial setting information is queried based on the MAC address information of the request received in step S301 (S302). It is assumed that the cloud computing system management server according to the present embodiment has a database in which the first initial configuration information of each virtual machine instance is stored using MAC address information as a key.
  • the first initial setting information queried in step S302 is provided to the corresponding virtual machine instance via the router virtual machine of the corresponding private network (S303).
  • 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 a virtual machine instance on which an operating system is installed (S304). ).
  • the second initial configuration information generally includes information of a controller connected to the virtual computing agent to control the virtual computing environment.
  • the second initial setting information is provided to the corresponding virtual machine instance via the router virtual machine (S305).
  • FIG. 4 is a diagram illustrating an initial configuration automation process for a virtual machine instance of an enterprise client in a cloud computing system according to an exemplary embodiment of the present invention.
  • the user VM 401, the RVM 402, and the VMS 403 according to the present embodiment may correspond to the virtual machine instance, the router virtual machine, and the cloud computing system management server of the embodiments shown in FIGS. 2 to 3, respectively. Therefore, for the same matters as in the description of the embodiment shown in FIGS.
  • the User VM 401 requests initial configuration information from the RVM 402 in a raw state before the OS is installed (S411).
  • the request for the initial configuration information is implemented in the form of calling the Request Provisioning Info () method defined in a separate API.
  • the RVM 402 forwards the request of the User VM 401 to the VMS 403 as it is (S412).
  • the VMS 403 forwards the request of the User VM 401 from the RVM 402 as it is, and then RVM the identifier of the user account, the computer name, operating system activation information, and other Active Directory information corresponding to the MAC address of the request.
  • the controller 40 transmits the result to the 4040.
  • the identifier, computer name, operating system activation information, and other Active Directory information of the user account are provided in the form of calling the response AD Info () method defined in a separately implemented API.
  • the RVM 402 sends the user account identifier, computer name, operating system activation information, and other Active Directory information received from the VMS 403 to the User VM 401 in the form of a response to a request from the User VM 401. (S414).
  • transmitting the information received from the VMS 403 is implemented in the form of calling the Response Provisioning Info () method defined in a separate implemented API. do.
  • the User VM 401 performs an installation operation of the operating system on the User VM 401 based on the information received in the step S414 (S415 to S416).
  • the Windows-based operating system sets up the necessary information during the installation process, so-called generalization, through a tool called Sysprep.
  • generalization through a tool called Sysprep.
  • information such as an identifier (SID) is randomly generated, duplicate SIDs can be generated and used on the same private network.
  • SID an identifier
  • the identifier, computer name, operating system activation information, and other Active Directory information of the user account are obtained from the VMS 403 outside the private network, and an Unattend file is generated based on the obtained information. Link this Unattend file to the Sysprep tool to configure Sysprep (S415), reboot the operating system, run the Sysprep tool (S416), perform generalization of the operating system, and reboot the operating system.
  • 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]".
  • 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.
  • the User VM 401 requests initial configuration information from the RVM 402 in a state where the operating system is installed (S417).
  • the request for the initial configuration information in step S417 is implemented in the form of calling the Request Provisioning Info () method defined in a separate implemented API, as in step S411. That is, after defining the message for requesting the first initial configuration information and the message for requesting the second initial configuration information in FIGS. 2 to 3 as a request message of the same type, the same in the VMS 403 processing the request message
  • the request message is classified into a message for requesting first initial configuration information and a message for requesting second initial configuration information according to the number of times of receiving a request message including a MAC address.
  • this is only one embodiment, and the present invention is not limited thereto.
  • the RVM 402 forwards the request of the User VM 401 to the VMS 403 as it is (S418).
  • the VMS 403 forwards the request of the User VM 401 directly from the RVM 402 and has previously received a request message corresponding to the MAC address of the request, the VMS 403 user VM of the MAC address of the request.
  • Information on the controller to be connected to the virtual computing agent to be installed is transferred to the RVM 4020 (S419).
  • the controller information is provided in the form of calling the response DDC Info () method defined in a separate API.
  • the RVM 402 transmits the controller information received from the VMS 403 to the User VM 401 in the form of a response to the request of the User VM 401 (S420). In this case, as in step S414, the RVM 402 may call and perform a Response Provisioning Info () method.
  • the user VM 401 performs an initial configuration of the virtual computing agent on the operating system installed in the user VM 401 based on the information received in operation S420 (S421).
  • the operating system user account is given administrator rights to synchronize the virtual computing agent and controller, install applications on the operating system, or change the internal settings of the operating system. You can synchronize at the domain time of the domain you belong to, and these tasks can be done by calling the VDA setup () method and Admin Auth () method.
  • FIG. 5 is a diagram illustrating an internal process flow performed in a virtual machine instance according to an initial configuration automation process according to an exemplary embodiment of the present invention.
  • the operating system operating in the virtual machine instance is a Windows-based desktop operating system Windows XP or Windows 7, but this is only one embodiment, the present invention itself It is not limited to this.
  • the virtual machine instance 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).
  • a WRM port is opened for separate VM control (S504), and a predetermined port (for example, a predetermined port for communication with the router virtual machine).
  • Port 80 attempts a communication connection with the router virtual machine, and checks the communication connection state with the router virtual machine (S505).
  • step S508 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.
  • 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.
  • 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). ).
  • 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.
  • 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 users within the same corporate client do not overlap each other.
  • the apparatus and method for monitoring a virtual mobile instance according to the present invention can also be embodied as computer readable codes on a computer readable recording medium.
  • Computer-readable recording media include all kinds of recording devices that store data that can be read by a computer system. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like.
  • the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
  • functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.

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 계열의 운영체제를 설치하는데에 필요한 초기설정 정보를 동일한 기업 클라이언트 내의 사용자별로 서로 중복되지 않게 설정할 수 있다.

Description

가상머신 초기 설정 자동화 방법 및 가상머신 초기 설정 자동화 서비스 제공 방법
본 발명은, 가상머신 초기 설정 자동화 방법 및 가상머신 초기 설정 자동화 서비스 제공 방법에 관한 것으로, 프라이빗 네트워크 상에서 복수의 가상 컴퓨팅 환경을 각각 제공받는 복수의 사용자들을 포함하는 기업 클라이언트의 복수의 가상머신 인스턴스들의 초기설정을 자동화할 수 있는 초기 설정 자동화 방법 및 이러한 기업 클라이언트에 대한 가상머신 초기 설정 자동화 서비스를 제공하는 방법에 관한 것이다.
클라우드 컴퓨팅은 서버 내 자원을 가상화하여 사용자들에게 필요한 만큼 값을 지불하여 사용 가능하게 하는 컴퓨팅 방식으로, 이러한 클라우드 컴퓨팅을 기반으로, 컴퓨팅 자원을 가상화한 가상머신 인스턴스를 사용자에게 제공하는 서비스를 클라우드 컴퓨팅 서비스라고 한다.
현재, 클라우드 컴퓨팅 서비스에서 제공되는 가상머신 인스턴스는 주로 데스크톱 기반의 운영체제(예컨대, Windows XP, Windows 7 등) 또는 서버 기반의 운영체제(예컨대, Windows 2003 server, Windows 2008 Server 등) 기반으로 제공되고 있으나, 가상머신 인스턴스에서 Windows 계열의 운영체제를 설치하기 위해서는 SID나 Computer name 등과 같은 초기 설정 정보를 각각의 사용자에 맞게 입력하는 과정이 필요하다.
특히, 기업 클라이언트에 대한 클라우드 컴퓨팅 서비스의 경우에는 기업 클라이언트에 속한 복수의 사용자들에게 복수의 개별적인 가상 컴퓨팅 환경을 각각 제공하여야 하므로, 복수의 사용자들 각각에 대한 복수의 가상머신 인스턴스들을 준비하는 과정에서, 복수의 사용자들 각각에 대한 초기 설정 정보를 가상머신 인스턴스들의 운영체제에 입력하는 과정이 필요하다.
종래에는 이를 기업 클라이언트의 IT 관리자나, 클라우드 컴퓨팅 서비스 제공 업체측에서 이러한 초기 설정 정보를 수동으로 생성하여 입력하여 왔으나, 기업 클라이언트에 속하는 사용자들의 수가 늘어나고, 동적으로 변경될 수 있다는 점을 감안할 때, 기업 클라이언트에 대한 클라우드 컴퓨팅 서비스가 본격화되는 현 시점에서, 이러한 가상머신 초기 설정 과정을 자동화할 수 있는 방법이 요구된다.
본 발명이 이루고자 하는 기술적 과제는, 기업 클라이언트에 속한 복수의 사용자들 각각에 대한 초기 설정 정보를 자동으로 입력하여 복수의 가상머신 인스턴스들 각각의 운영체제 및 가상 컴퓨팅 에이전트를 작동시킬 수 있는 가상머신 초기 설정 자동화 방법 및 가상머신 초기 설정 자동화 서비스 제공 방법을 제공하는 데에 있다.
본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 따르면, 프라이빗 네트워크 상에서 복수의 가상 컴퓨팅 환경을 각각 제공받는 복수의 사용자들을 포함하는 기업 클라이언트의 복수의 가상머신 인스턴스들의 초기 설정을 자동화할 수 있다.
특히, 가상머신 인스턴스의 운영체제가 Windows 계열의 운영체제를 설치하는데에 필요한 초기 설정 정보를 동일한 기업 클라이언트 내의 사용자별로 서로 중복되지 않게 설정할 수 있다.
도 1은 본 발명의 바람직한 일 실시예에 따른 클라우드 컴퓨팅 시스템의 개략적인 구성을 도시한 도면이다.
도 2는 본 발명의 바람직한 일 실시예에 따른 클라우드 컴퓨팅 시스템의 기업 클라이언트의 가상머신 인스턴스에서 초기 설정을 자동화하는 방법의 흐름을 도시한 도면이다.
도 3은 본 발명의 바람직한 일 실시예에 따른 클라어드 컴퓨팅 시스템의 클라우드 컴퓨팅 시스템 관리 서버에서 기업 클라이언트의 가상머신 인스턴스에 대한 초기 설정 자동화 서비스를 제공하는 방법의 흐름을 도시한 도면이다.
도 4는 본 발명의 바람직한 일 실시예에 따른 클라어드 컴퓨팅 시스템에서 기업 클라이너트의 가상머신 인스턴스에 대한 초기 설정 자동화 과정을 예시한 도면이다.
도 5는 본 발명의 바람직한 일 실시예에 따른 초기 설정 자동화 과정에 따를 때, 가상머신 인스턴스에서 수행되는 내부 프로세스의 흐름을 예시한 도면이다.
상기의 기술적 과제를 이루기 위한, 본 발명에 따른 가상머신 초기설정 자동화 방법은 프라이빗 네트워크 내부에서 기저장된 마스터 가상머신 템플릿 이미지를 복제하여 가상머신 인스턴스를 생성하는 단계; 프라이빗 네트워크의 라우터 가상머신을 통해 프라이빗 네트워크 외부에 가상머신 인스턴스의 MAC 주소를 기초로 생성된 가상머신 인스턴스에 운영체제를 설치하는 데에 필요한 제1초기 설정 정보를 요청하고, 요청에 대한 응답으로 제1초기 설정 정보를 획득하는 단계; 제1초기 설정 정보를 기초로 생성된 가상머신 인스턴스에 운영체제를 설치하는 운영체제설치단계; 라우터 가상머신을 통해 프라이빗 네트워크 외부에 설치된 운영체제 상에서 가상 컴퓨팅 환경을 제공할 응용프로그램인 가상 컴퓨팅 에이전트의 초기 설정에 필요한 제2초기 설정 정보를 요청하고, 요청에 대한 응답으로, 제2초기 설정 정보를 획득하는 단계; 및 제2초기 설정 정보를 기초로 가상 컴퓨팅 에이전트를 설정하는 에이전트설정단계를 포함한다.
보다 바람직하게는, 제1초기 설정 정보는 사용자 계정의 식별자, 컴퓨터 이름, 운영체제 정품 인증 정보 및 액티브 디렉토리 정보를 포함할 수 있다.
보다 바람직하게는, 운영체제설치단계는 운영체제에 사용자 계정의 식별자, 컴퓨터 이름 및 운영체제 정품 인증 정보를 입력하는 단계; 및 액티브 디렉트리 정보를 기초로 사용자 계정이 속할 도메인에 가입하는 단계를 포함할 수 있다.
보다 바람직하게는, 제2초기 설정 정보는 가상 컴퓨팅 에이전트와 연결되어 가상 컴퓨팅 환경을 제어할 컨트롤러의 정보를 포함할 수 있다.
보다 바람직하게는, 에이전트설정단계는 가상 컴퓨팅 에이전트와 컨트롤러를 동기화하는 단계; 운영체제에 응용 프로그램을 설치하거나 운영체제의 내부 설정을 변경할 수 있는 관리자 권한을 운영체제의 사용자 계정에 부여하는 단계; 및 운영체제의 사용자 계정이 속하는 도메인의 도메인 시간에 동기화하는 단계를 포함할 수 있다.
보다 바람직하게는, 제2초기 설정 정보를 요청하는 메시지는 제1초기 설정 정보를 요청하는 메시지와 동일할 수 있다.
상기의 기술적 과제를 이루기 위한, 본 발명에 따른 가상머신 초기설정 자동화 서비스 제공 방법은 프라이빗 네트워크 내부에서 생성된 가상머신 인스턴스로부터 프라이빗 네트워크의 라우터 가상머신을 통해 가상머신 인스턴스에 운영체제를 설치하는 데에 필요한 제1 초기 설정 정보의 요청을 수신하는 제1요청수신단계; 가상머신 인스턴스에 할당된 MAC 주소를 기초로 제1초기 설정 정보를 조회하여 라우터 가상머신을 거쳐 가상머신 인스턴스에 제공하는 단계; 제1초기 설정 정보에 따라 운영체제를 설치한 가상머신 인스턴스로부터 설치된 운영체제 상에서 가상 컴퓨팅 환경을 제공할 응용프로그램인 가상 컴퓨팅 에이전트의 초기 설정에 필요한 제2초기 설정 정보의 요청을 수신하는 제2요청수신단계; 가상 컴퓨팅 에이전트와 연결되어 가상 컴퓨팅 환경을 제어할 컨트롤러의 정보를 포함하는 제2초기 설정 정보를 라우터 가상머신을 거쳐 가상머신 인스턴스에 제공하는 단계를 포함한다.
보다 바람직하게는, 제1초기 설정 정보는 사용자 계정의 식별자, 컴퓨터 이름, 운영체제 정품 인증 정보 및 액티브 디렉토리 정보를 포함할 수 있다.
보다 바람직하게는, 제2요청수신단계에서 수신되는 요청 메시지는 제1요청수신단계에서 수신되는 요청 메시지와 동일할 수 있다.
이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다. 또한, 본 발명의 원리, 관점 및 실시예들 뿐만 아니라 특정 실시예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한, 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다.
따라서, 프로세서 또는 이와 유사한 개념으로 표시된 기능 블록을 포함하는 도면에 도시된 다양한 소자의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 능력을 가진 하드웨어의 사용으로 제공될 수 있다. 프로세서에 의해 제공될 때, 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다. 또한, 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 사용은 소프트웨어를 실행할 능력을 가진 하드웨어를 배타적으로 인용하여 해석되어서는 아니 되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 주지 관용의 다른 하드웨어도 포함될 수 있다.
상술한 목적, 특징 및 장점들은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 더욱 분명해 질 것이다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략하거나 간략하게 설명하는 것으로 한다.
한편 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 첨부된 도면을 참조하여 바람직한 실시예에 따른 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 바람직한 일 실시예에 따른 기업 클라이언트에 대한 클라우드 컴퓨팅 시스템의 개략적인 구성을 도시한 도면이다.
도 1을 참조하면, 본 실시예에 따른 클라우드 컴퓨팅 시스템은 클라우드 컴퓨팅 시스템 관리 서버(110), 라우터 가상머신(RVM, 130), 사용자 가상머신(140), 액티브 디렉토리(AD, 150) 및 컨트롤러(DDC, 160)을 포함한다.
클라우드 컴퓨팅 관리 서버(110)는 기업 클라이언트의 프라이빗 네트워크(120)의 외부에서, 클라우드 컴퓨팅 서비스를 제공하고, 사용자 또는 기업 클라이언트에 제공되는 클라우드 컴퓨팅 서비스을 종합적으로 관리하는 서버를 의미한다.
본 실시예의 기업 클라이언트는 하나의 사용자 계정이 아닌 복수의 개별적인 가상 컴퓨팅 환경들을 각각 제공받는 복수의 사용자 계정들을 각각 이용가능한 복수의 사용자들로 구성되고, 각각의 사용자들이 프라이빗 네트워크(120) 내에서 각각의 ID 및 사설 IP 등을 할당받고, 이를 기초로 서로 개별적인 가상 컴퓨팅 환경을 이용할 수 있으며, 각 사용자들간의 관계(예컨대, 조직도) 등은 별도로 저장되어 관리될 수 있으며, 이러한 관계에 따라 각 사용자별로 가상 컴퓨팅 환경이나 기타 프라이빗 네트워크 상의 자원 내지 구성요소들을 접근 내지 제어할 수 있는 권한이 제한될 수 있다.
클라우드 컴퓨팅 관리 서버(110)는 사용자 가상머신(140)에 클라우드 컴퓨팅 서비스를 위한 가상 컴퓨팅 환경을 배포하기 위한 기반을 구축하고, 이러한 배포 과정을 모니터링하거나 관리하는 기능을 제공할 수 있다. 일반적으로 Citrix 사의 Xen Server 계열의 솔루션을 기초로 구현될 수 있으나, 이는 하나의 구현예에 불과하며, 본 발명이 이에 한정되는 것은 아니라고 할 것이다.
아울러, 라우터 가상머신(130), 사용자 가상머신(140), 액티브 디렉토리(150) 및 컨트롤러(160)는 기업 클라이언트의 프라이빗 네트워크(120) 상에 위치할 수 있다.
이때, 프라이빗 네트워크(120) 내부의 구성요소인 사용자 가상머신(140), 액티브 디렉토리(150) 및 컨트롤러(160)에서, 프라이빗 네트워크(120)의 외부 네트워크의 구성요소 예컨대, 클라우드 컴퓨팅 시스템 관리 서버(110)와 통신할 때에는 라우터 가상머신(130)을 통해 통신할 수 있게 된다.
라우터 가상머신(130)은 프라이빗 네트워크(120) 내부의 구성요소들의 사설 IP 주소를 외부 네트워크와의 통신을 위한 외부 IP 주소로 변경하는 NAT(Network Address Translation) 기능을 수행하며, 이에 따라, 프라이빗 네트워크(120) 내부의 구성요소인 사용자 가상머신(140)에서 인터넷 접근을 지원하거나, 외부 네트워크의 구성요소인 클라우드 컴퓨팅 시스템 관리 서버(110)에 접속할 수 있도록 중개한다.
즉, 라우터 가상머신(130)는 사용자 가상머신(140)에서 클라우드 컴퓨팅 시스템 관리 서버(110)에 직접 접근하는 것을 차단하는 대신 사용자 가상머신(140)과 클라우드 컴퓨팅 시스템 관리 서버(110)간의 브로커(Broker) 기능을 수행한다.
라우팅 가상머신(130)는 NAT 및 브로커 기능 외에도, DHCP 서버, 사용자 가상머신들 간의 포트 포워딩, 다른 라우터 가상머신들 간의 라우팅, 다른 라우터 가상머신의 네트워크 설정 및 포트 포워딩 설정 기능 등을 수행할 수 있다.
아울러, 라우팅 가상머신(130)는 기업 클라이언트에서 사용하는 사용자 가상머신의 수에 따라 스케일 아웃되어 프라이빗 네트워크 상에 복수 개가 배치될 수 있다.
사용자 가상머신(140)은 기저장된 마스터 가상머신 템플릿 이미지를 복제하여 생성된 가상머신 인스턴스로, 운영체제를 설치시키고, 해당 운영체제 기반에서 가상 컴퓨팅 에이전트를 통해 사용자에게 가상의 컴퓨팅 자원을 이용한 가상 컴퓨팅 환경을 제공한다.
액티브 디렉토리(150)는 Windows 기반의 운영체제에 있어서, 프라이빗 네트워크(120)를 구성하는 구성요소들의 ID 및 관계(relationship) 정보를 저장 및 관리하는 구성요소로서, 가상머신의 운영체제에서 시스템, 사용자 및 응용 프로그램의 설정 정보를 구성 및 관리할 수 있게 하고, 사용자와 도메인 간의 통신을 관리한다.
컨트롤러(160)는 사용자 가상머신을 사용할 사용자를 인증하고, 해당 사용자의 가상 컴퓨팅 환경 어셈블리를 관리하며, 해당 사용자와 가상 컴퓨팅 환경(예컨대 가상 데스크톱) 간의 연결을 중개하는 서비스를 제공하며, 가상 컴퓨팅 환경의 일종인 가상 데스크톱 서비스를 시작하거나 중지하는 등 가상 컴퓨팅 환경의 서비스 제공 상태를 제어할 수 있다.
도 2는 본 발명의 바람직한 일 실시예에 따른 클라우드 컴퓨팅 시스템의 기업 클라이언트의 가상머신 인스턴스에서 초기 설정을 자동화하는 방법의 흐름을 도시한 도면으로, 본 실시예에 따른 가상머신 인스턴스, 라우터 가상머신, 컨트롤러 및 클라우드 컴퓨팅 시스템 관리 서버는 도 1에 도시된 클라우드 컴퓨팅 시스템의 사용자 가상머신(140), 라우터 가상머신(RVM, 130), 컨트롤러(DDC, 160) 및 클라우드 컴퓨팅 시스템 관리 서버(110)에 각각 대응될 수 있다. 따라서, 도 1에 도시된 클라우드 컴퓨팅 시스템에 관한 설명에서와 동일한 사항에 대해서는 이를 참조한다.
본 실시예에서는 설명의 편의를 위해, 가상머신 인스턴스에서 작동되는 운영체제가 Windows 계열의 운영체제인 Windows XP, Windows 2003 server, Windows 7, Windows 2008 Server 중 하나인 상황을 가정하여 도시하였으나, 이는 하나의 실시예에 불과하며, 본 발명 자체가 이에 한정되는 것은 아니라고 할 것이다.
도 2를 참조하면, 먼저, 기저장된 마스터 가상머신 템플릿 이미지를 복제하여 가상머신 인스턴스를 생성한다(S201). 본 실시예에서의 S201 단계를 통해 생성된 가상머신 인스턴스는 운영체제가 설치되기 이전의 원시 상태의 템플릿 이미지가 복제된 것을 전제로 한다.
라우터 가상머신을 통해, 외부 네트워크의 클라우드 컴퓨팅 시스템 관리 서버에 가상머신 인스턴스에 할당된 MAC 주소를 기초로 가상머신 인스턴스에 Windows 계열의 운영체제를 설치하는 데에 필요한 제1초기 설정 정보를 요청한다(S202).
여기에서, 제1초기 설정 정보는 사용자 계정의 식별자, 컴퓨터 이름, 운영체제 정품 인증 정보 및 기타 액티브 디렉토리 정보를 포함할 수 있다.
S202 단계에서의 요청에 대한 응답으로, 클라우드 컴퓨팅 시스템 관리 서버로부터 라우터 가상머신을 통해 제1초기 설정 정보를 획득한다(S203).
S203 단계에서 획득된 제1초기 설정 정보를 입력하여 가상머신 인스턴스에 운영체제를 정상적으로 설치한다(S204). 예컨대, 운영체제에 사용자 계정의 식별자, 컴퓨터 이름 및 운영체제 정품 인증 정보를 입력할 수 있으며, 액티브 디렉토리 정보를 기초로 해당 사용자 계정이 속할 도메인에 가입할 수 있다.
S204 단계를 통해 운영체제가 정상적으로 설치된 이후에, 이렇게 설치된 운영체제 상에 가상 컴퓨팅 환경을 사용자에게 제공할 응용프로그램인 가상 컴퓨팅 에이전트를 작동하기 위해서는 가상 컴퓨팅 에이전트의 초기 설정(configuration)에 필요한 제2초기 설정 정보가 필요하다.
여기에서, 제2초기 설정 정보로 대표적인 것은 가상 컴퓨팅 에이전트와 연결되어 클라우드 컴퓨팅 시스템 관리 서버 측에서 가상 컴퓨팅 환경을 제어할 수 있게 하는 구성요소인 컨트롤러의 정보로서, 클라우드 컴퓨팅 시스템 관리 서버의 컨트롤러를 통한 간접 제어 또는 컨트롤러의 직접 제어에 따라 사용자에게 제공되는 가상 컴퓨팅 환경을 관리 또는 제어할 수 있게 한다.
이를 위해, 라우터 가상머신을 통해 클라우드 컴퓨팅 시스템 관리 서버에 제2초기 설정 정보를 요청하고(S205), 이에 대한 응답으로, 클라우드 컴퓨팅 시스템 관리 서버로부터 라우터 가상머신을 통해 제2초기 설정 정보를 획득한다(S206).
S206 단계에서 획득된 제2초기 설정 정보를 기초로 가상 컴퓨팅 에이전트의 초기 설정을 완료하고 작동시킨다(S207). 예컨대, 이러한 가상 컴퓨팅 에이전트의 초기 설정 과정에서, 가상 컴퓨팅 에이전트와 컨트롤러를 동기화하고, 운영체제에 응용 프로그램을 설치하거나 운영체제의 내부 설정을 변경할 수 있는 관리자 권한을 운영체제의 사용자 계정에 부여하고, 운영체제의 사용자 계정이 속하는 도메인의 도메인 시간에 동기화할 수 있다.
이에 따라, 가상 컴퓨팅 에이전트는 컨트롤러와 연결되어, 클라우드 컴퓨팅 시스템 관리 서버 또는 컨트롤러의 제어에 따라 가상 컴퓨팅 에이전트를 작동시켜서 가상머신 인스턴스를 할당받은 사용자에게 가상 컴퓨팅 환경을 제공할 수 있게 된다.
도 3은 본 발명의 바람직한 일 실시예에 따른 클라어드 컴퓨팅 시스템의 클라우드 컴퓨팅 시스템 관리 서버에서 기업 클라이언트의 가상머신 인스턴스에 대한 초기 설정 자동화 서비스를 제공하는 방법의 흐름을 도시한 도면이다.
본 실시예에 따른 가상머신 인스턴스, 라우터 가상머신, 컨트롤러 및 클라우드 컴퓨팅 시스템 관리 서버는 도 1에 도시된 클라우드 컴퓨팅 시스템의 사용자 가상머신(140), 라우터 가상머신(RVM, 130), 컨트롤러(DDC, 160) 및 클라우드 컴퓨팅 시스템 관리 서버(110)에 각각 대응될 수 있다. 따라서, 도 1에 도시된 클라우드 컴퓨팅 시스템에 관한 설명에서와 동일한 사항에 대해서는 이를 참조한다.
본 실시예에서는 설명의 편의를 위해, 도 2에 도시된 실시예와 마찬가지로, 가상머신 인스턴스에서 작동되는 운영체제가 Windows 계열의 운영체제인 Windows XP, Windows 2003 server, Windows 7, Windows 2008 Server 중 하나인 상황을 가정하여 도시하였으나, 이는 하나의 실시예에 불과하며, 본 발명 자체가 이에 한정되는 것은 아니라고 할 것이다.
기업 클라이언트의 프라이빗 네트워크 내부에서 기저장된 마스터 가상머신 템플릿 이미지를 복제하여 생성된 가상머신 인스턴스로부터 해당 프라이빗 네트워크의 라우터 가상머신을 통해 해당 가상머신 인스턴스에 Windows 계열의 운영체제의 설치에 필요한 제1초기 설정 정보의 요청을 수신한다(S301).
S301 단계에서 수신된 제1초기 설정 정보로는 사용자 계정의 식별자, 컴퓨터 이름, 운영체제 정품 인증 정보 및 기타 액티브 디렉토리 정보를 포함될 수 있으며, 이러한 제1초기 설정 정보의 요청에는 가상머신 인스턴스에 할당된 MAC 주소 정보가 포함된 것을 전제로 한다.
S301 단계에서 수신된 요청의 MAC 주소 정보를 기초로 제1초기 설정 정보를 조회한다(S302). 본 실시예에 따른 클라우드 컴퓨팅 시스템 관리 서버에는 MAC 주소 정보를 키로 하여 각 가상머신 인스턴스의 제1초기 설정 정보가 저장된 데이터베이스가 구축되어 있는 것을 전제로 한다.
S301 단계에서 수신된 요청에 대한 응답으로, S302 단계에서 조회된 제1초기 설정 정보를 해당 프라이빗 네트워크의 라우터 가상머신을 거쳐 해당 가상머신 인스턴스에 제공한다(S303).
S303 단계에서 제공된 제1초기 설정 정보에 따라 운영체제를 설치한 가상머신 인스턴스로부터 운영체제 상에서 가상 컴퓨팅 환경을 제공할 가상 컴퓨팅 에이전트의 초기 설정(configuration)에 필요한 제2초기 설정 정보의 요청을 수신한다(S304).
본 실시예에서의 제2초기 설정 정보는 가상 컴퓨팅 에이전트와 연결되어 가상 컴퓨팅 환경을 제어할 컨트롤러의 정보를 포함하는 것이 일반적이다.
S304 단계에서 수신된 요청에 대한 응답으로, 제2초기 설정 정보를 라우터 가상머신을 거쳐 해당 가상머신 인스턴스에 제공한다(S305).
도 4는 본 발명의 바람직한 일 실시예에 따른 클라어드 컴퓨팅 시스템에서 기업 클라이너트의 가상머신 인스턴스에 대한 초기 설정 자동화 과정을 예시한 도면이다.
본 실시예에 따른 User VM(401), RVM(402) 및 VMS(403)는 도 2 내지 3에 도시된 실시예의 가상머신 인스턴스, 라우터 가상머신 및 클라우드 컴퓨팅 시스템 관리 서버에 각각 대응될 수 있다. 따라서, 도 2 내지 3에 도시된 실시예에 관한 설명에서와 동일한 사항에 대해서는 이를 참조한다.
먼저, User VM(401)는 운영체제가 설치되기 이전의 원시 상태에서, RVM(402)에 초기 설정 정보를 요청한다(S411). 본 실시예에서는 이러한 초기 설정 정보의 요청을 별도 구현된 API에 정의된 Request Provisioning Info() 메서드를 호출하는 형태로 구현한다.
RVM(402)는 이러한 User VM(401)의 요청을 그대로 VMS(403)에게 포워딩한다(S412).
VMS(403)는 RVM(402)으로부터 User VM(401)의 요청을 그대로 포워딩받아, 해당 요청의 MAC 주소에 대응되는 사용자 계정의 식별자, 컴퓨터 이름, 운영체제 정품 인증 정보 및 기타 액티브 디렉토리 정보 등을 RVM(4020)에 전달한다(S413). 본 실시예에서는 이러한 사용자 계정의 식별자, 컴퓨터 이름, 운영체제 정품 인증 정보 및 기타 액티브 디렉토리 정보의 제공을 별도 구현된 API에 정의된 response AD Info() 메서드를 호출하는 형태로 구현한다.
RVM(402)는 VMS (403)에서 전달받은 사용자 계정의 식별자, 컴퓨터 이름, 운영체제 정품 인증 정보 및 기타 액티브 디렉토리 정보를 User VM(401)의 요청에 대한 응답의 형태로 User VM(401)에 전송한다(S414). 본 실시예에서는 이러한 RVM의 User VM(401)의 요청에 대한 응답으로, VMS(403)에서 전달받은 정보를 전송하는 것은 별도 구현된 API에 정의된 Response Provisioning Info() 메서드를 호출하는 형태로 구현한다.
User VM(401)는 S414 단계에서 수신된 정보를 기초로 User VM(401)에 운영체제의 설치 작업을 수행한다(S415 내지 S416).
일반적으로 Windows 기반의 운영체제에서는 이러한 설치 과정에서 각종 필요한 정보를 설정하는 작업, 이른바 일반화(generalize) 작업을 Sysprep이라는 툴을 통해 수행하게 되는데, 단순히 Sysprep 툴만 실행시켜 일반화 작업을 수행하는 경우에는 사용자 계정의 식별자(SID) 등의 정보가 랜덤하게 생성되게 되므로, 동일한 프라이빗 네트워크 상에서도 중복된 SID가 생성되어 사용될 수 있게 된다.
따라서, 본 실시예에서는 이러한 사용자 계정의 식별자, 컴퓨터 이름, 운영체제 정품 인증 정보 및 기타 액티브 디렉토리 정보를 프라이빗 네트워크 외부의 VMS(403)으로부터 획득하여, 이렇게 획득된 정보를 기초로 Unattend file을 생성하고, 이러한 Unattend file을 Sysprep 툴에 링크하여 Sysprep을 설정하고(S415), 운영체제를 재부팅시킨 후에, Sysprep 툴을 구동시켜서(S416), 운영체제의 일반화를 수행하고, 운영체제를 재부팅시킨다.
이때, Windows 기반의 운영체제에서 Unattend file을 Sysprep 툴에 링크하는 명령어로는 "sysprep.exe /quiet /generalize /oobe /reboot /unattend: [Unattend file name]"과 같이 작성되어 실행될 수 있으며, Windows 7 혹은 2008 server에서는 이러한 Unattend file이 XML 형태로 구현될 수 있으나, 이는 하나의 실시예에 불과하며, 본 발명이 이에 한정되는 것은 아니다.
User VM(401)는 Sysprep을 통해 운영체제 설치 작업이 완료된 후에, 운영체제가 설치된 상태에서, RVM(402)에 초기 설정 정보를 요청한다(S417). 본 실시예에서는 S417 단계에의 초기 설정 정보의 요청을 S411 단계에서와 마찬가지로, 별도 구현된 API에 정의된 Request Provisioning Info() 메서드를 호출하는 형태로 구현한다. 즉, 도 2 내지 도 3에서의 제1초기 설정 정보를 요청하는 메시지와 제2 초기 설정 정보를 요청하는 메시지를 동일한 형태의 요청 메시지로 정의한 후에, 이러한 요청 메시지를 처리하는 VMS(403)에서 동일한 MAC 주소를 포함하는 요청 메시지를 수신한 횟수 등에 따라 요청 메시지를 제1초기 설정 정보를 요청하는 메시지와 제2초기 설정 정보를 요청하는 메시지로 분류하여 처리하도록 구현한다. 그러나, 이는 하나의 실시예에 불과하며, 본 발명 자체가 이에 한정되지는 않는다고 할 것이다.
RVM(402)는 S412 단계와 마찬가지로, User VM(401)의 요청을 그대로 VMS(403)에게 포워딩한다(S418).
VMS(403)는 RVM(402)으로부터 User VM(401)의 요청을 그대로 포워딩받아, 해당 요청의 MAC 주소에 대응되는 요청 메시지를 이전에 수신한 적이 있는 경우에는, 해당 요청의 MAC 주소의 User VM에 설치될 가상 컴퓨팅 에이전트와 연결될 컨트롤러의 정보를 RVM(4020)에 전달한다(S419). 본 실시예에서는 이러한 컨트롤러 정보의 제공을 별도 구현된 API에 정의된 response DDC Info() 메서드를 호출하는 형태로 구현한다.
RVM(402)는 VMS (403)에서 전달받은 컨트롤러 정보를 User VM(401)의 요청에 대한 응답의 형태로 User VM(401)에 전송한다(S420). 이때, RVM(402)는 S414 단계와 마찬가지로, Response Provisioning Info() 메서드를 호출하여 수행할 수 있다.
User VM(401)는 S420 단계에서 수신된 정보를 기초로 User VM(401)에 설치된 운영체제에 가상 컴퓨팅 에이전트의 초기 설정(configuration) 작업을 수행한다(S421). 이러한 가상 컴퓨팅 에이전트의 초기 설정 과정에서, 가상 컴퓨팅 에이전트와 컨트롤러를 동기화하고, 운영체제에 응용 프로그램을 설치하거나 운영체제의 내부 설정을 변경할 수 있는 관리자 권한을 운영체제의 사용자 계정에 부여하고, 운영체제의 사용자 계정이 속하는 도메인의 도메인 시간에 동기화할 수 있고, 이러한 작업들은 VDA setup() 메서드 및 Admin Auth() 메서드를 호출하여 수행할 수 있다.
도 5는 본 발명의 바람직한 일 실시예에 따른 초기 설정 자동화 과정에 따를 때, 가상머신 인스턴스에서 수행되는 내부 프로세스의 흐름을 예시한 도면이다. 본 실시예에서는 설명의 편의를 위해, 가상머신 인스턴스에서 작동되는 운영체제가 Windows 계열의 데스크톱 운영체제인 Windows XP 또는 Windows 7인 상황을 가정하여 도시하였으나, 이는 하나의 실시예에 불과하며, 본 발명 자체가 이에 한정되는 것은 아니라고 할 것이다.
먼저 가상머신 인스턴스가 생성되면, 해당 가상머신 인스턴스에 대응되는 RSA-Key를 생성하고(S501), DHCP 서버의 기능을 수행하는 라우터 가상머신으로부터 DHCP IP 할당을 요청하여 이를 대기한다(S502).
S502 단계에서 DHCP IP 할당을 성공적으로 받는 경우(S503)에는 동기화를 수행하고, 별도의 VM 제어를 위한 WRM 포트를 열고(S504), 라우터 가상머신과의 통신을 위해 미리 지정된 소정의 포트(예컨대, 80 포트)를 통해, 라우터 가상머신과의 통신 연결을 시도하고, 라우터 가상머신과의 통신 연결 상태를 체크한다(S505).
라우터 가상머신과의 통신 연결 상태가 정상적인 경우에(S506), 라우터 가상머신에 초기 설정 요청을 전송한다(S507).
S507 단계에서의 초기 설정 요청에 대한 응답을 성공적으로 수신하게 되면(S508), 현재 운영체제가 설치되기 전인지 설치된 이후인지를 판단하여(S509), 설치되기 전이면, 설치될 운영체제가 Windows XP 인지 Windows 7인지를 판단하여(S510), S507 단계에서의 초기 설정 요청에 대한 응답으로 전달받은 정보를 기초로 각 운영체제에 맞는 일반화(또는 초기화) 과정을 거쳐, 운영체제를 정상적으로 설치한다(S511 내지 S515).
현재 운영체제가 설치된 이후인 경우에는 S507 단계에서의 초기 설정 요청에 대한 응답으로 전달받은 정보를 기초로 가상 컴퓨팅 에이전트를 설치하고, 운영체제의 사용자 계정을 관리자 권한으로 변경하는 등의 작업을 수행한다 (S516).
본 발명에 따르면, 프라이빗 네트워크 상에서 복수의 가상 컴퓨팅 환경을 각각 제공받는 복수의 사용자들을 포함하는 기업 클라이언트의 복수의 가상머신 인스턴스들의 초기 설정을 자동화할 수 있다.
특히, 가상머신 인스턴스의 운영체제가 Windows 계열의 운영체제를 설치하는 데에 필요한 초기설정 정보를 동일한 기업 클라이언트 내의 사용자별로 서로 중복되지 않게 설정할 수 있다.
본 발명에 따른 가상 모바일 인스턴스 모니터링 장치 및 방법 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 첨부된 도면에 도시된 일 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 수 있을 것이다. 따라서, 본 발명의 진정한 보호 범위는 첨부된 청구 범위에 의해서만 정해져야 할 것이다.

Claims (9)

  1. 프라이빗 네트워크 내부에서 기저장된 마스터 가상머신 템플릿 이미지를 복제하여 가상머신 인스턴스를 생성하는 단계;
    상기 프라이빗 네트워크의 라우터 가상머신을 통해 상기 프라이빗 네트워크 외부에 가상머신 인스턴스의 MAC 주소를 기초로 상기 생성된 가상머신 인스턴스에 운영체제를 설치하는 데에 필요한 제1초기 설정 정보를 요청하고, 요청에 대한 응답으로 상기 제1초기 설정 정보를 획득하는 단계;
    상기 제1초기 설정 정보를 기초로 상기 생성된 가상머신 인스턴스에 운영체제를 설치하는 운영체제설치단계;
    상기 라우터 가상머신을 통해 상기 프라이빗 네트워크 외부에 상기 설치된 운영체제 상에서 가상 컴퓨팅 환경을 제공할 응용프로그램인 가상 컴퓨팅 에이전트의 초기 설정에 필요한 제2초기 설정 정보를 요청하고, 요청에 대한 응답으로, 상기 제2초기 설정 정보를 획득하는 단계; 및
    상기 제2초기 설정 정보를 기초로 상기 가상 컴퓨팅 에이전트를 설정하는 에이전트설정단계를 포함하는 것을 특징으로 하는 가상머신 초기설정 자동화 방법.
  2. 제1항에 있어서,
    상기 제1초기 설정 정보는 사용자 계정의 식별자, 컴퓨터 이름, 운영체제 정품 인증 정보 및 액티브 디렉토리 정보를 포함하는 것을 특징으로 하는 가상머신 초기설정 자동화 방법.
  3. 제2항에 있어서,
    상기 운영체제설치단계는
    상기 운영체제에 상기 사용자 계정의 식별자, 컴퓨터 이름 및 운영체제 정품 인증 정보를 입력하는 단계; 및
    상기 액티브 디렉트리 정보를 기초로 상기 사용자 계정이 속할 도메인에 가입하는 단계를 포함하는 것을 특징으로 하는 가상머신 초기설정 자동화 방법.
  4. 제1항에 있어서,
    상기 제2초기 설정 정보는 상기 가상 컴퓨팅 에이전트와 연결되어 상기 가상 컴퓨팅 환경을 제어할 컨트롤러의 정보를 포함하는 것을 특징으로 하는 가상머신 초기설정 자동화 방법.
  5. 제1항에 있어서,
    상기 에이전트설정단계는
    상기 가상 컴퓨팅 에이전트와 상기 컨트롤러를 동기화하는 단계;
    상기 운영체제에 응용 프로그램을 설치하거나 상기 운영체제의 내부 설정을 변경할 수 있는 관리자 권한을 상기 운영체제의 사용자 계정에 부여하는 단계; 및
    상기 운영체제의 사용자 계정이 속하는 도메인의 도메인 시간에 동기화하는 단계를 포함하는 것을 특징으로 하는 가상머신 초기설정 자동화 방법.
  6. 제1항에 있어서,
    상기 제2초기 설정 정보를 요청하는 메시지는 상기 제1초기 설정 정보를 요청하는 메시지와 동일한 것을 특징으로 하는 가상머신 초기설정 자동화 방법.
  7. 프라이빗 네트워크 내부에서 생성된 가상머신 인스턴스로부터 상기 프라이빗 네트워크의 라우터 가상머신을 통해 상기 가상머신 인스턴스에 운영체제를 설치하는 데에 필요한 제1 초기 설정 정보의 요청을 수신하는 제1요청수신단계;
    상기 가상머신 인스턴스에 할당된 MAC 주소를 기초로 상기 제1초기 설정 정보를 조회하여 상기 라우터 가상머신을 거쳐 상기 가상머신 인스턴스에 제공하는 단계;
    상기 제1초기 설정 정보에 따라 운영체제를 설치한 상기 가상머신 인스턴스로부터 상기 설치된 운영체제 상에서 가상 컴퓨팅 환경을 제공할 응용프로그램인 가상 컴퓨팅 에이전트의 초기 설정에 필요한 제2초기 설정 정보의 요청을 수신하는 제2요청수신단계;
    상기 가상 컴퓨팅 에이전트와 연결되어 상기 가상 컴퓨팅 환경을 제어할 컨트롤러의 정보를 포함하는 상기 제2초기 설정 정보를 상기 라우터 가상머신을 거쳐 상기 가상머신 인스턴스에 제공하는 단계를 포함하는 것을 특징으로 하는 가상머신 초기설정 자동화 서비스 제공 방법.
  8. 제7항에 있어서,
    상기 제1초기 설정 정보는 사용자 계정의 식별자, 컴퓨터 이름, 운영체제 정품 인증 정보 및 액티브 디렉토리 정보를 포함하는 것을 특징으로 하는 가상머신 초기설정 자동화 서비스 제공 방법.
  9. 제7항에 있어서,
    상기 제2요청수신단계에서 수신되는 요청 메시지는 상기 제1요청수신단계에서 수신되는 요청 메시지와 동일한 것을 특징으로 하는 가상머신 초기설정 자동화 서비스 제공 방법.
PCT/KR2012/010284 2012-05-31 2012-11-30 가상머신 초기 설정 자동화 방법 및 가상머신 초기 설정 자동화 서비스 제공 방법 WO2013180359A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2012-0058815 2012-05-31
KR20120058815A KR101493828B1 (ko) 2012-05-31 2012-05-31 가상머신 초기 설정 자동화 방법 및 가상머신 초기 설정 자동화 서비스 제공 방법

Publications (1)

Publication Number Publication Date
WO2013180359A1 true WO2013180359A1 (ko) 2013-12-05

Family

ID=49673522

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/010284 WO2013180359A1 (ko) 2012-05-31 2012-11-30 가상머신 초기 설정 자동화 방법 및 가상머신 초기 설정 자동화 서비스 제공 방법

Country Status (2)

Country Link
KR (1) KR101493828B1 (ko)
WO (1) WO2013180359A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201657A (zh) * 2016-07-07 2016-12-07 天脉聚源(北京)传媒科技有限公司 一种基于虚拟机的网卡信息处理方法及装置
CN108737499A (zh) * 2018-04-19 2018-11-02 华为技术有限公司 服务器配置方法和装置
CN114363334A (zh) * 2021-12-30 2022-04-15 阿里巴巴(中国)有限公司 云系统及云桌面虚拟机的网络配置方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003088002A2 (en) * 2002-04-11 2003-10-23 Linuxcare, Inc. Managing multiple virtual machines
KR20100080527A (ko) * 2007-10-16 2010-07-08 인터내셔널 비지네스 머신즈 코포레이션 제3자 코드를 포함하는 가상 머신 생성
KR20110049429A (ko) * 2009-11-05 2011-05-12 한국전자통신연구원 가상화 솔루션의 관리 시스템, 관리 서버, 및 그 방법
KR20110099206A (ko) * 2007-03-20 2011-09-07 이상규 가상머신 템플릿 이미지의 구동방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003088002A2 (en) * 2002-04-11 2003-10-23 Linuxcare, Inc. Managing multiple virtual machines
KR20110099206A (ko) * 2007-03-20 2011-09-07 이상규 가상머신 템플릿 이미지의 구동방법
KR20100080527A (ko) * 2007-10-16 2010-07-08 인터내셔널 비지네스 머신즈 코포레이션 제3자 코드를 포함하는 가상 머신 생성
KR20110049429A (ko) * 2009-11-05 2011-05-12 한국전자통신연구원 가상화 솔루션의 관리 시스템, 관리 서버, 및 그 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201657A (zh) * 2016-07-07 2016-12-07 天脉聚源(北京)传媒科技有限公司 一种基于虚拟机的网卡信息处理方法及装置
CN108737499A (zh) * 2018-04-19 2018-11-02 华为技术有限公司 服务器配置方法和装置
CN114363334A (zh) * 2021-12-30 2022-04-15 阿里巴巴(中国)有限公司 云系统及云桌面虚拟机的网络配置方法、装置及设备
CN114363334B (zh) * 2021-12-30 2024-04-02 阿里巴巴(中国)有限公司 云系统及云桌面虚拟机的网络配置方法、装置及设备

Also Published As

Publication number Publication date
KR101493828B1 (ko) 2015-02-16
KR20130134920A (ko) 2013-12-10

Similar Documents

Publication Publication Date Title
US8849941B2 (en) Virtual desktop configuration and operation techniques
EP2780818B1 (en) Virtual network interface objects
US8973098B2 (en) System and method for virtualized resource configuration
RU2429530C2 (ru) Управление состоянием распределенных аппаратных средств в виртуальных машинах
US8135818B2 (en) Automatic virtual machine migration in mixed SBC/CBC environment
WO2021107179A1 (ko) Autosar 기반 응용 소프트웨어의 설정 코드 자동 생성 방법 및 장치
EP3026855A2 (en) Distributed virtual switch for virtualized computer systems
US8341213B2 (en) Method for improving boot time of a client having a virtualized operating environment
US20100325278A1 (en) Methods for automatically launching a virtual machine associated with a client during startup
US10771534B2 (en) Post data synchronization for domain migration
JP2010514028A (ja) 単一データ処理を共有するために複数の実行環境を有効化するシステム
US9342347B1 (en) Hardware dedication for virtual machines and virtual environments
JP2010282447A (ja) 仮想計算機システム、そのアクセス制御方法及び通信装置
US11064017B2 (en) Peripheral device enabling virtualized computing service extensions
WO2014199611A1 (en) Provisioning a secure customer domain in a virtualized multi-tenant environment
WO2013027923A1 (ko) 클라우드 컴퓨팅 서버 시스템의 가상머신 정책 설정 시스템, 가상머신 정책 설정 방법 및 가상머신 정책 제공 방법
WO2013180359A1 (ko) 가상머신 초기 설정 자동화 방법 및 가상머신 초기 설정 자동화 서비스 제공 방법
US11799743B2 (en) Node addition in cloud networks
WO2013027922A1 (ko) 클라우드 컴퓨팅 시스템의 압축 이미지 파일 관리 장치 및 방법
JP6013980B2 (ja) アドレス割当装置およびアドレス割当プログラム
WO2021118117A1 (en) Cloud server and operating method of the same
EP3550781A1 (en) Private information distribution method and device
WO2018088588A1 (ko) 호스트를 기반으로 한 클라우드 컴퓨팅 환경에서의 취약점 분석 시스템 및 방법
JP7212158B2 (ja) プロバイダネットワークサービス拡張
WO2022164201A1 (ko) 인터넷 망의 사용자 단말이 원격 서비스를 실행하기 위하여 사설망에 접속할 수 있도록 하는 사설망 접속 제어장치 및 그것의 제어 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12877970

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205N DATED 06/02/2015)

122 Ep: pct application non-entry in european phase

Ref document number: 12877970

Country of ref document: EP

Kind code of ref document: A1