This application claims the benefit of Korean Patent Application No. 10-2013-0011032, filed on Jan. 31, 2013, which is hereby incorporated by reference in its entirety into this application.
1. Technical Field
The present invention relates generally to a method of providing a virtual machine for real-time virtual desktop service and, more particularly, to technology that provides a virtual desktop environment to a remote user in a server virtualization environment and allocates a real-time virtual desktop to a user.
2. Description of the Related Art
Conventional methods of providing a virtual desktop include a method of providing a terminal service called Remote Desktop Connection (RDC) using a Remote Desktop Protocol (RDP), which is provided by Microsoft Corp., a method of providing a terminal service called Virtual Network Computing (VNC) using a Remote FrameBuffer (RFB) protocol in Linux, and a method of providing a terminal service solution as a protocol called PC-over-IP (PCoIP), which is provided by Teradici Corp.
In order to perform a virtual desktop service using the conventional methods, a virtual desktop function should be provided to each user. In order to provide the virtual desktop function, corresponding devices (e.g., a CPU, memory, an HDD, and a USB) should be allocated to the user, and a user OS image should be allocated.
Virt-tool, Virt-manager, etc., that is, open tools, are used to provide this function, and a virtual machine for a user may be generated and created using a program, such as the Xendesktop of Citrix Systems Inc., VMware Fusion, or Workstation. However, these conventional methods are not suitable for providing real-time virtual service because they are manually provided tools.
U.S. Patent Application Publication No. 2012-0179820 discloses a technology that accesses resources for virtual desktop service present on public networks and allocates them to virtual machines. The technology disclosed in this patent application publication is limited in the provision of a virtual desktop service in real time.
Accordingly, the present invention has been made keeping in mind the above problems occurring in the prior art, and an object of the present invention is to rapidly provide a virtual machine in response to a request from a user in order to provide real-time virtual desktop service in response to a request from the user in a server virtualization environment.
In accordance with an aspect of the present invention, there is provided a method of providing a virtual machine for real-time virtual desktop service, the method including transferring, by a client unit, user information to a service gateway; searching, by the service gateway, for access information about an existing virtual machine corresponding to the user information; providing, by the service gateway, the access information to the client unit; accessing, by the client unit, a service provider server corresponding to the access information; and providing, by the service provider server, the virtual machine to the client unit.
Searching for the access information about the existing virtual machine may include determining, by the service gateway, whether a user is a registered user by analyzing the user information; and, if it is determined that the user is a registered user, determining, by the service gateway, whether the existing virtual machine is present.
If it is determined that the user is not a registered user, the service gateway may request the client unit to register a user ID, a password, and virtual machine configuration information, and may generate a new user.
The virtual machine configuration information may include one or more of information about the number of CPUs, information about the number of memory devices, information about a capacity of a hard disk, and information about the type of OS of a virtual machine to be provided.
The virtual machine configuration information may include preset information that is generated in such a way that the service gateway analyzes the authority level of the user information and determines the domain name and type of OS of a virtual machine based on the analyzed authority level.
If it is determined that the existing virtual machine is not present, the service gateway may request the client unit to register virtual machine configuration information.
The service gateway may select a service provider server based on the virtual machine configuration information; and the selected service provider server may generate a virtual machine based on the virtual machine configuration information, and store the generated virtual machine.
The access information may include login information about the service provider server that provides the virtual machine.
The login information may include information about the address and port number of the service provider server.
The login information may be encrypted using a password method previously agreed between the client unit and the service provider server, and the client unit may interpret the information about the address and port number of the service provider server by recognizing the login information.
In accordance with another aspect of the present invention, there is provided a service gateway for real-time virtual desktop service, the service gateway including a user information management unit configured to authenticate user information; a virtual machine information management unit configured to generate access information about a virtual machine corresponding to the user information, and to provide the generated access information to a client unit; and a virtual machine generation unit configured to select a service provider server in response to a request from the client unit, and to generate a virtual machine in the selected service provider server.
The user information management unit may determine whether a user is a registered user by analyzing the user information provided by the client unit; and, if it is determined that the user is a registered user, the virtual machine information management unit may determine whether an existing virtual machine is present.
If it is determined that the user is not a registered user, the virtual machine information management unit may request the client unit to register a user ID, a password, and virtual machine configuration information, and may generate a new user.
The virtual machine configuration information may include one or more of information about the number of CPUs, information about the number of memory devices, information about the capacity of a hard disk, and information about the type of OS of a virtual machine to be provided.
The virtual machine configuration information may include preset information that is generated in such a way that the virtual machine information management unit analyzes the authority level of the user information and determines the domain name and type of OS of a virtual machine based on the analyzed authority level.
If it is determined that the existing virtual machine is not present, the virtual machine information management unit may request the client unit to register virtual machine configuration information.
The access information may include the address and port number of a service provider server that provides the virtual machine.
The above and other objects, features and advantages of the present invention will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings, in which:
The present invention will be described in detail below with reference to the accompanying drawings. Repeated descriptions and descriptions of known functions and configurations which have been deemed to make the gist of the present invention unnecessarily vague will be omitted. The embodiments of the present invention are intended to fully describe the present invention to a person having ordinary knowledge in the art. Accordingly, the shapes, sizes, etc. of elements in the drawings may be exaggerated to make the description clear.
Embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
Referring to
The client unit 10 requests the service provider server 20 to allocate a virtual machine, and is provided with a virtual machine service through the allocated virtual machine.
The service provider server 20 allows a user to access virtual machines, generated over a hypervisor, through the client unit 10 using an access protocol, and allows the virtual machines stored in the service provider server 20 to be used.
In this case, in order to provide a virtual machine to a user, a user profile (i.e., a user information file), a user OS image, and a user disk image are required.
Referring to
The client unit 30 transfers a request command to allocate and use a virtual machine to the service provider server 40 through the service gateway 35.
The service gateway 35 authenticates the user of the client unit 30, and performs a permission procedure regarding whether to assign task rights.
The service gateway 35 will be described later in detail with reference to
The service provider server 40 includes a plurality of virtual machines 401, 402, and 403 and a hypervisor 404.
The hypervisor 404 includes an agent 405 for executing a request command received from the client unit 30 and transferring the results of the execution to the client unit 30 through the service gateway 35.
Referring to
The user information management unit 351 authenticates user information that is provided by a user through a client unit.
The user information management unit 351 can determine whether a user is a registered user by analyzing the user information that is provided by the client unit.
The virtual machine information management unit 352 generates virtual machine access information corresponding to the user information provided through the client unit, and provides the virtual machine access information to the client unit.
The access information may include the address and port number of a service provider server which provides a virtual machine.
If, as a result of the determination, it is determined that the user is a registered user based on the user information that is analyzed by the user information management unit 351, the virtual machine information management unit 352 may determine whether an existing virtual machine is present.
If, as a result of the determination, it is determined that the user is not a registered user based on the user information that is analyzed by the user information management unit 351, the virtual machine information management unit 352 may request the client unit to request a user ID, a password, and virtual machine configuration information, thereby generating a new user.
The virtual machine configuration information may include one or more of information about the number of CPUs, information about the number of memory devices, information about the capacity of a hard disk, and information about the type of OS of a virtual machine to be provided.
The virtual machine configuration information may further include preset information that is generated in such a way that the virtual machine information management unit 352 analyzes the authority level of the user information and determines the domain name of the virtual machine and the type of OS based on the analyzed authority level.
Meanwhile, if, as a result of the determination, it is determined that an existing virtual machine corresponding to the user information is not present, the virtual machine information management unit 352 may request the client unit to register virtual machine configuration information.
In response to the request from the client unit, the virtual machine generation unit 353 selects a service provider server, and generates the virtual machine in the selected service provider server.
Furthermore,
Referring to
The client unit may be a PC or a mobile device.
Steps S10 and S20 will be described in detail with reference to
The client unit attempts access to an on-line server corresponding to the CB address, and simultaneously transfers the user name and the password to the on-line server.
Thereafter, the service gateway determines whether the user is a registered user by analyzing the user information at step S30.
If, as a result of the determination, it is determined that the user is not a registered user based on the analyzed user information, the service gateway requests the client unit to register a user ID, a password, and virtual machine configuration information, thereby generating a new user at step S40.
Step S40 will be described in detail with reference to
A process of configuring the virtual machine configuration information will be described in detail later with reference to
Thereafter, the service gateway determines whether an existing virtual machine corresponding to the user information is present at step S50.
If, as a result of the determination, it is determined that an existing virtual machine corresponding to the user information is not present, the service gateway generates and registers a new virtual machine by requesting the client unit to register the virtual machine configuration information at step S60.
In this case, a method of configuring the virtual machine configuration information may be performed using a preset method or a manual method.
Referring to
Referring to
For example, the domain name and the type of OS to be provided may be determined by analyzing the rank of a user or the available service level of a user based on the office name that is entered at step S40.
The service gateway selects one of a plurality of service provider servers that provides virtual machines based on the virtual machine configuration information configured using the preset method or the manual method, and generates a virtual machine in the service provider server.
In this case, a predetermined virtual machine configuration information (template) is copied to a designated location, and a pre-produced image is renamed in a specific location.
Therefore, each service provider server needs to previously set a template file suitable for the service provider server and have the template file at a fixed location, and needs to have an image suitable for its capacity by default.
When the virtual machine is generated as described above, the service provider server allocates access information to the client unit.
In this case, the access information may include the address and port number of the service provider server that provides the virtual machine.
Thereafter, the client unit accesses the service provider server based on the allocated access information at step S70.
The service provider server renames a user OS image and a user disk image, corresponding to the virtual machine configuration information configured by the user, without requiring a process of copying a virtual machine image prepared in advance and provides the user OS image and the user disk image to the user at step S80.
After the allocation has been completed, the service provider server may send an allocation completion message to the user, and the user may perform booting.
As described above, according to the present invention, a user OS image and a user disk image to be allocated to the user for virtual desktop service can be provided rapidly.
Furthermore, the load imposed on a server in a server virtualization environment can be significantly reduced because a previously prepared disk image is allocated and thus operations, such as the generation of a virtual machine and the coping of an image, are eliminated.
Although the preferred embodiments of the present invention have been disclosed for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2013-0011032 | Jan 2013 | KR | national |