KR20150095029A - Application program virtualization system and method for virtualizing application program of user terminals - Google Patents
Application program virtualization system and method for virtualizing application program of user terminals Download PDFInfo
- Publication number
- KR20150095029A KR20150095029A KR1020140016051A KR20140016051A KR20150095029A KR 20150095029 A KR20150095029 A KR 20150095029A KR 1020140016051 A KR1020140016051 A KR 1020140016051A KR 20140016051 A KR20140016051 A KR 20140016051A KR 20150095029 A KR20150095029 A KR 20150095029A
- Authority
- KR
- South Korea
- Prior art keywords
- virtual machine
- server
- user terminal
- application program
- operating system
- Prior art date
Links
Images
Classifications
-
- 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
-
- 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/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
An application program virtualization system according to an embodiment of the present invention includes a user terminal and a server. The user terminal has an operating system and a plurality of application programs. The user terminal comprises a virtual terminal agent configured to communicate first data associated with the operating system and second data associated with the selected at least one application program to the server. The server creates a virtual machine in response to the request of the user terminal. The server creates and boots a virtual machine based on the first data, and executes the selected at least one application program based on the second data on the virtual machine created.
Description
The present invention relates to a virtualization system, and more particularly, to an application program virtualization system and a method for virtualizing an application of a user terminal.
Today, virtual desktop infrastructure services provide users with virtual machines, and hardware (virtual resources) such as storage devices, as well as operating system (OS) and software for using these virtual machines, Infrastructure (VDI). Therefore, the function of the user terminal can be generally operated by providing only a function of relaying the screen and the input / output device (for example, a thin client terminal, a zero client terminal).
In this case, the user must purchase or lease not only the hardware resources for running the virtual machine but also the OS and the application program software, so that the hardware resources and software resources of the user terminal can not be used as they are. Therefore, it has a problem that it can not utilize the resources and software of the existing terminal.
On the other hand, when the user terminal is the same as the PC, it is easy to improve the poor performance through the partial upgrade. However, when it is difficult to improve the performance of the user terminal through the partial upgrade such as the smart phone, pad or notebook, And there is a cost problem to replace the entire user terminal for the required application program.
Therefore, there is a need for a method of using a virtual machine, that is, a cloud resource, in order to improve the performance of a user terminal while making maximum use of hardware resources and software resources of the existing user terminal.
The embodiments of the present invention provide an application program virtualization system capable of improving the performance of a user terminal while maximally utilizing an operating system and an application program of a user terminal.
Another embodiment of the present invention provides a user terminal capable of efficiently utilizing resources by executing some application programs in a virtual machine of a server.
Another embodiment of the present invention provides an application program virtualization method of a user terminal capable of improving the performance of a user terminal while maximally utilizing an operating system and an application program of the user terminal.
An application program virtualization system according to an embodiment of the present invention includes a user terminal and a server. The user terminal has an operating system and a plurality of application programs. The user terminal comprises a virtual terminal agent configured to communicate first data associated with the operating system and second data associated with the selected at least one application program to the server. The server creates a virtual machine in response to the request of the user terminal. The server creates and boots a virtual machine based on the first data, and executes the selected at least one application program based on the second data on the virtual machine created.
In one embodiment, the virtual terminal agent may include a virtual machine management request unit, a storage access control unit, an application control unit, an input information processing unit, and an output processing unit. The virtual machine management request unit may request creation of the virtual machine to execute the selected at least one application program. The storage access control unit may transmit the first data and the second data to the server. The application control unit may control the application program executed in the virtual machine. The input information processing unit may identify an input to be transmitted to the application program executed in the virtual machine and transmit the input to the server. The output processing unit may receive and process the output generated by the application program from the virtual machine of the server.
In one embodiment, the first data is executable files of the operating system stored in a storage device of the user terminal, and the server can boot the virtual machine based on executable files of the operating system.
In one embodiment, the first data is memory information of an operating system loaded in the memory device of the user terminal, and the server can boot the virtual machine based on the transferred memory information.
In one embodiment, the virtual terminal agent may further include a memory monitoring unit and a memory processing unit. The memory monitoring unit may detect a change of the memory device of the user terminal. The memory processor may forward the detected change to the virtual machine of the server.
In one embodiment, the first data is identification information of an operating system running on the user terminal, and the server can boot the virtual machine based on the operating system stored in the server based on the transferred identification information have.
In one embodiment, the user terminal may further include a display device. The output processing unit may display a screen transmitted from the virtual machine of the server on at least a part of the display device.
In one embodiment, the virtual terminal agent delivers the first data to a hypervisor of the server, and the hypervisor can boot the virtual machine based on the transferred first data.
A user terminal according to an embodiment of the present invention includes a storage device, a virtual terminal agent, and a display device. The storage device stores an operating system and a plurality of application programs. The virtual terminal agent relays so that at least one of the plurality of application programs is executed in a virtual machine on the server. The display device displays an output from an application program executed in the virtual machine. The virtual terminal agent is configured to communicate first data associated with the operating system and second data associated with an application program to be executed in the virtual machine to the server.
In one embodiment, the user terminal may further comprise at least one processor configured to execute application programs other than application programs running in the virtual machine.
According to the method for virtualizing the application program of the user terminal according to the embodiment of the present invention, the first data related to the operating system stored in the user terminal and the second data related to at least one application program selected from among the plurality of application programs, Executing the selected at least one application program on the virtual machine based on the second data, executing the selected application program on the virtual machine based on the first data, Transmits input information from the user terminal to the server and transmits output information output from the server to the user terminal in accordance with the execution of the executed application program.
In one embodiment, the method may further comprise displaying output information transmitted to the user terminal in at least a portion of a display device of the user terminal.
In one embodiment, the first data is executable files of the operating system stored in a storage device of the user terminal, and the server can boot the virtual machine based on executable files of the operating system.
In one embodiment, the first data is memory information of an operating system loaded in the memory device of the user terminal, and the server can boot the virtual machine based on the transferred memory information.
In one embodiment, the first data is identification information of an operating system running on the user terminal, and the server can boot the virtual machine based on the operating system stored in the server based on the transferred identification information have.
In one embodiment, the step of booting the virtual machine based on the first data on the server includes the steps of: searching the OS database in the server based on the identification information of the operating system; And booting the virtual machine.
In one embodiment, when the operating system corresponding to the identification information is stored as a result of searching the OS database, the server boots the virtual machine on the basis of an operating system stored in the OS database, And may transmit an OS request message to the user terminal if the operating system corresponding to the identification information is not stored. In response to the OS request message, the user terminal may transmit the executable files of the operating system stored in the user terminal to the server.
According to the present invention, since a user terminal leases a virtual machine to execute an operating system and application software of a user terminal in a virtual machine, the cloud computing service can be used to improve the performance of a user terminal.
According to this technology, it is possible to provide an application program virtualization system capable of improving the performance of a user terminal while maximally utilizing an operating system and an application program possessed by the user terminal. In addition, it is possible to provide a user terminal and an application program virtualization method which can efficiently utilize resources by executing some application programs in a virtual machine of a server.
1 is a conceptual diagram showing an application program virtualization system according to the present invention.
2 is a block diagram illustrating in more detail an application program virtualization system in accordance with an embodiment of the present invention.
3 is a block diagram illustrating a virtual terminal agent according to an embodiment of the present invention.
4 is a flowchart illustrating an example of an application program virtualization method according to the present invention.
5 is a flowchart illustrating another example of an application program virtualization method according to the present invention.
6 is a flowchart illustrating a process of booting a virtual machine based on an operating system of a user terminal according to an embodiment of an application program virtualization method according to the present invention.
FIG. 7 is a flowchart illustrating a process of booting a virtual machine based on an operating system of a user terminal according to another embodiment of an application program virtualization method according to the present invention.
8 is a flowchart illustrating a process of booting a virtual machine based on an operating system of a user terminal according to another embodiment of the application program virtualization method according to the present invention.
FIG. 9 is a flowchart illustrating a step of executing an application program on a virtual machine according to an embodiment of an application program virtualization method according to the present invention.
10 is a block diagram illustrating an application program virtualization system in accordance with another embodiment of the present invention.
11 is a block diagram illustrating a virtual terminal agent according to another embodiment of the present invention.
12 is a block diagram illustrating an application program virtualization system according to another embodiment of the present invention.
13 is a block diagram illustrating a virtual terminal agent according to another embodiment of the present invention.
14 is a block diagram illustrating a computer system for implementing an embodiment of an application program virtualization system in accordance with the present invention.
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Note that, in the drawings, the same components are denoted by the same reference symbols as possible. Further, the detailed description of well-known functions and constructions that may obscure the gist of the present invention will be omitted.
1 is a diagram illustrating an application program virtualization system in accordance with the present invention.
Referring to FIG. 1, an application virtualization system 100 includes a user terminal 100 and a
If application 3 115 actually operates in a virtual machine on
Unlike the existing VDI service, the present invention can utilize an operating system and an application program installed in the
According to the present invention, a virtual machine operating on the
2 is a block diagram illustrating in more detail an application program virtualization system in accordance with an embodiment of the present invention.
Referring to FIG. 2, an application
Typically, when executing application programs in the
The
The
The virtual
In the embodiment shown in FIG. 2, data associated with
The
In this manner, the input information for driving the application program 3 (252) is input in the same manner as the input information for driving the application programs 1 and 2 (233, 235) Is displayed or outputted in the same manner as the application programs 1 and 2 (233, 235), so that the user can use the application program 252 without any difference in the case of executing the application program 252 in the
The
The
The cloud data center (CDC)
3 is a block diagram illustrating a virtual terminal agent according to an embodiment of the present invention.
3, the virtual
The virtual machine
The application control unit 330 may execute and control an application program designated to operate in the virtual machine.
The storage apparatus
The input
The
4 is a flowchart illustrating an example of an application program virtualization method according to the present invention.
Referring to FIG. 4, an application program virtualization method according to the present invention includes determining (S110) use of a virtual machine, requesting creation of a virtual machine (S111), information related to an operating system, A step S114 of controlling the start of the application program, a step S115 of processing the input information, a step S116 of processing the output information, a step S116 of processing the output information, Terminating the program (S117), and terminating the virtual machine (S118).
The step of determining the use of the virtual machine (S110) may be performed on the user terminal side as described in Fig. This process may be performed by a virtual machine use decision input inputted by the user or may be performed by an internal decision of the user terminal. When performed by a virtual machine usage decision input entered by the user, whether to use the virtual machine may depend on an arbitrary decision of the user terminal user. For example, if the user recognizes that a specific application program needs to be executed through a virtual machine separately from the actual resource status of the user terminal, the use of the virtual machine can be determined through the input device connected to the user terminal. In another embodiment, for example, if the resource of the user terminal is determined to be scarce, the user terminal may decide to use the virtual machine by itself.
The step S111 of requesting the creation of the virtual machine may be performed by transmitting a virtual machine creation request message from the user terminal to the server as described above. In particular, the virtual machine
The step S112 of transmitting information related to the operating system and information related to the application program may be performed on the user terminal side. 2, the virtual
In another embodiment, the information associated with the operating system may be memory information of the operating system loaded into the memory device of the user terminal. An embodiment related to this will be described in more detail below with reference to FIG. 7 and FIG. In addition, the information related to the operating system may be identification information of the operating system. An embodiment related to this will be described in more detail below with reference to Figs. 8, 9 and 12. Fig. The information related to the application program may be identification information of the application program.
The step S113 of creating a virtual machine may be performed on the server. As described above, the
The step S114 of controlling the start of the application program can be performed by the virtual machine. The virtual machine may execute the application program based on the information associated with the application program received in step S112.
In the input information processing step S115, the input information processing unit included in the virtual terminal agent of the user terminal identifies information for the application program executed in the virtual machine among the information input through the input device connected to the user terminal It can be transmitted to the server side. The input information received at the server is transferred to the application program of the virtual machine and processed by the application program.
In step S116 of processing the output information, the virtual machine of the server transmits the output information output from the application program to the user terminal through the network. The output processor included in the virtual terminal agent of the user terminal may transmit the received output information to the display device so that an indication related to the application program running in the virtual machine is output.
The processing of the input information (S115) and the processing of the output information (S116) may be performed in parallel while the application program is running on the virtual machine.
The termination of the application program (S117) may be performed at the request of the user terminal. For example, when a virtual terminal agent of a user terminal receives an instruction to terminate an application program running on the virtual machine, the application terminal can transmit a request to terminate the application to the virtual machine of the server.
The step of terminating the virtual machine (S118) may be performed at the request of the user terminal. For example, a virtual machine shutdown request can be input to the user terminal through an input device by an arbitrary determination of a user using the user terminal, and the virtual terminal agent processes the virtual machine shutdown request and sends the shutdown request to the CDC management unit of the server Lt; / RTI > The CDC management unit may terminate or delete the virtual machine created in response to the virtual machine termination request. In another embodiment, the virtual machine termination request may be dispatched by an internal determination of the user terminal. For example, when the resource status of the user terminal is improved due to the termination of other application programs or the like, or when the application program running in the virtual machine has already ended and the virtual machine is no longer required, May determine internally that the user terminal is requesting termination of the virtual machine, regardless of the determination of < RTI ID = 0.0 > Alternatively, when the user terminal is terminated by the user, a message requesting termination of the virtual machine associated with the user terminal may be sent as one of the end procedures of the user terminal.
5 is a flowchart illustrating another example of an application program virtualization method according to the present invention. Referring to FIG. 5, an application program virtualization method according to the present invention includes the steps of (S210) transmitting first data related to an operating system and second data related to an application program to a server (S210) A step S230 of executing an application program based on the second data on the virtual machine, a step S240 of transferring input information for driving the application program from the user terminal to the server, (S250) of outputting the output information according to the driving of the user terminal (S250) and displaying the output information transmitted to the user terminal on the display device (S260).
The step S210 of transmitting the first data related to the operating system and the second data related to the application program to the server may be performed in the user terminal as described above. 2, the virtual
And booting the virtual machine based on the first data on the server (S220). In one embodiment, the step S220 may be performed by a hypervisor. In one embodiment, if the first data is executable files of the operating system, the virtual machine created by the hypervisor of the server may boot the virtual machine based on executable files of the operating system received by the server. If the first data is memory information of the operating system loaded into the memory device of the user terminal, the virtual machine created by the hypervisor of the server may boot the virtual machine based on the memory information received by the server. This will be described later with reference to Figs. 7 and 10. If the first data is the identification information of the operating system, the virtual machine can be booted using the operating system stored in the OS database in the server. This will be described later with reference to Figs. 8 and 12.
The step S230 of executing an application program based on the second data on the virtual machine may be performed after booting of the virtual machine. In one embodiment, the second data may be executable files of the application program. If the second data is executable files of the application program, the virtual machine can execute the application program based on the executable files of the application program received by the server. In another embodiment, the second data may be identification information of the application program. In this case, the application program can be executed using an application program stored in the application database of the server. This will be described later with reference to Figs. 9 and 12.
In step S240, the input information processing unit included in the virtual terminal agent of the user terminal transmits the input information for driving the application program from the user terminal to the server, And can transmit the information for the application program to the server side. The input information received at the server is transferred to the application program of the virtual machine and processed by the application program.
In a step S250 of outputting output information according to the driving of the application program from the server to the user terminal, the virtual machine of the server transmits the output information output from the application program to the user terminal through the network. The output processor included in the virtual terminal agent of the user terminal may transmit the received output information to the display device so that an indication related to the application program running in the virtual machine is output.
In operation S240, input information for driving the application program is transmitted from the user terminal to the server. In operation S250, the output information is output from the server to the user terminal in operation S250. And can be performed in parallel during execution.
In a step S260 of displaying the output information transmitted to the user terminal on the display device, the output processor of the virtual terminal agent may process the output information received from the server and transmit the processed output information to the display device. The display device can display the received output information in at least a part of the area of the marking device. Although the step S260 of displaying the output information in FIG. 5 is performed after the step S240 of transmitting the input information to the server and the step S250 of transmitting the output information to the user terminal, And step S260 may be performed in parallel with steps S240 and S250 during execution of the application program.
6 is a flowchart illustrating a process of booting a virtual machine based on an operating system of a user terminal according to an embodiment of an application program virtualization method according to the present invention.
The embodiment of FIG. 6 is a specific embodiment of steps S210 and S220 in the method of FIG. In the embodiment of FIG. 6, the first data are executable files of the operating system. The step S310 of transferring the executable files of the operating system from the storage device of the user terminal to the server is performed at the user terminal side. In step S310, the executable files of the operating system stored in the storage device in the user terminal are transferred to the server by the storage device access control unit of the virtual terminal agent. The booting (S320) of the virtual machine based on the executable files of the operating system delivered on the server can be performed by the hypervisor.
FIG. 7 is a flowchart illustrating a process of booting a virtual machine based on an operating system of a user terminal according to another embodiment of an application program virtualization method according to the present invention.
The embodiment of FIG. 7 is specific to steps S210 and S220 in the method of FIG. In the embodiment of FIG. 7, the first data is memory information of the operating system loaded into the memory device of the user terminal. In this case, the virtual machine is not booted by reading the executable files of the operating system stored in the storage device of the user terminal, but the memory information of the user terminal is directly transferred to the server and the virtual machine is booted. That is, the step S330 of transferring the memory information of the operating system loaded in the memory device of the user terminal to the server may be performed by the virtual terminal agent, and booting the virtual machine based on the memory information transmitted on the server S340) may be performed by the hypervisor.
8 is a flowchart illustrating a process of booting a virtual machine based on an operating system of a user terminal according to another embodiment of the application program virtualization method according to the present invention.
Referring to FIG. 8, a method for booting a virtual machine according to an embodiment of the present invention includes transferring identification information of an operating system from a user terminal to a server in operation S410, A step S430 of determining whether an operating system corresponding to the identification information exists in the OS database, a step S440 of transmitting an OS request message from the server to the user terminal if there is no operating system, (S450), and booting the virtual machine on the server (S460).
In the embodiment of FIG. 8, the first data is identification information of the operating system. The identification information of the operating system may include information such as the name of the operating system, the manufacturer, the version, and the serial number. Leasing the operating system required for the virtual machine of the server to the server requires additional cost. In order to reduce the rental cost, the execution files of the operating system are transferred from the user terminal to the server Transmitting causes traffic and makes it difficult to use a fast virtual machine. Accordingly, if the server holds the same operating system as the user terminal, the license problem can be solved through transmission of the identification number, and the virtual machine can be immediately booted based on the operating system of the server.
FIG. 9 is a flowchart illustrating a step of executing an application program on a virtual machine according to an embodiment of an application program virtualization method according to the present invention.
Referring to FIG. 9, a method of executing an application program according to an embodiment of the present invention includes: transmitting identification information of an application program from a user terminal to a server in operation S510; A step S520 of searching for a program database (S520), a step S530 of determining whether an application program corresponding to the identification information exists in the application program database (S530), and an application program requesting message is transmitted from the server to the user terminal In operation S540, the execution files of the application program are transferred from the storage device of the user terminal to the server in operation S550, and the application program is executed on the virtual machine in operation S560.
In the embodiment of FIG. 9, the second data is identification information of the application program. The identification information of the application program may include information such as the name of the application program, the manufacturer, the version, and the serial number. Leasing an application program to be executed by the virtual machine of the server in the case where the application program held by the user terminal equally holds the additional cost is required. In order to reduce the rental cost, To the server causes traffic and makes it difficult to use the application quickly. Accordingly, when the server holds the same application program held by the user terminal, the license problem can be solved through transmission of the identification number, and the application program of the server can be immediately executed.
10 is a block diagram illustrating an application program virtualization system in accordance with another embodiment of the present invention.
Referring to FIG. 10, an application
The difference between the embodiment of FIG. 10 and the embodiment of FIG. 2 is that in the embodiment of FIG. 10, the virtual
11 is a block diagram illustrating a virtual terminal agent according to another embodiment of the present invention. The virtual
The memory monitoring and
12 is a block diagram illustrating an application program virtualization system according to another embodiment of the present invention.
Referring to FIG. 12, an application
The difference between the embodiment of FIG. 12 and the embodiment of FIG. 2 and FIG. 10 is that in the embodiment of FIG. 12, the virtual
As described above with reference to FIG. 8, the identification information of the operating system may include information such as the name of the operating system, the manufacturer, the version, and the serial number. Leasing up to the
In addition, the identification information of the application program 3 652 may include information such as the name of the application program, the manufacturer, the version, and the serial number. To the application program 3 652 to be executed by the
13 is a block diagram illustrating a virtual terminal agent according to another embodiment of the present invention.
The virtual
12, when there is no corresponding software in the OS database and the application program database, it may be necessary for the user terminal to directly transmit the executable files of the operating system or the application program. Therefore, 13 virtual
14 is a block diagram illustrating a computer system for implementing an embodiment of an application program virtualization system in accordance with the present invention.
As shown in FIG. 14, a user terminal or a server according to an embodiment of the present invention can be implemented in a computer system. The
Accordingly, the method for virtualizing an application program of a user terminal according to an exemplary embodiment of the present invention can be implemented by a computer-executable method. For implementation of the computer-executable method, the computer-executable instructions may be stored in a computer-readable storage medium in an encoded form. In one embodiment, the computer-readable instructions are executed by processor 121 to perform a method according to at least one aspect of the present invention.
Depending on the implementation, the user terminal may be a personal computer, an Ultra Mobile PC (UMPC), a workstation, a netbook, a personal digital assistant (PDA), a portable computer, a web tablet, , A wireless phone, a mobile phone, a smart phone, an e-book, a portable multimedia player (PMP), a portable game machine, a navigation device, a black box black box, digital camera, 3-dimensional television, digital audio recorder, digital audio player, digital picture recorder, digital video recorder, Such as a digital picture player, a digital video recorder, a digital video player, and a device capable of transmitting and receiving information in a wireless environment.
While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention. In particular, it will be appreciated that the combinations of blocks and flowchart illustrations in the process flow diagrams may be performed by computer program instructions. These computer program instructions may be loaded into a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, so that those instructions, which are executed through a processor of a computer or other programmable data processing apparatus, Thereby creating means for performing functions. These computer program instructions may be stored in a computer readable memory or in a computer capable of directing a computer or other programmable data processing apparatus to implement a function in a particular manner, It is also possible for instructions stored in memory to produce manufacturing items that contain instruction means for performing the functions described in the flowchart block (s). Computer program instructions may also be stored on a computer or other programmable data processing equipment so that a series of operating steps may be performed on a computer or other programmable data processing equipment to create a computer- It is also possible for the instructions to perform the processing equipment to provide steps for executing the functions described in the flowchart block (s).
In addition, each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing the specified logical function (s). It should also be noted that in some alternative implementations, the functions mentioned in the blocks may occur out of order. For example, two blocks shown in succession may actually be executed substantially concurrently, or the blocks may sometimes be performed in reverse order according to the corresponding function.
Herein, the term " part " used in the present embodiment means a hardware component such as software or an FPGA or an ASIC, and 'part' performs certain roles. However, 'part' is not meant to be limited to software or hardware. &Quot; to " may be configured to reside on an addressable storage medium and may be configured to play one or more processors. Thus, by way of example, 'parts' may refer to components such as software components, object-oriented software components, class components and task components, and processes, functions, , Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functions provided in the components and components may be further combined with a smaller number of components and components or further components and components. In addition, the components and components may be implemented to play back one or more CPUs in a device or a secure multimedia card.
The embodiments of the present invention disclosed in the present specification and drawings are intended to be illustrative only and not intended to limit the scope of the present invention. It will be apparent to those skilled in the art that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein.
100: Application virtualization system 110: User terminal
130: Network 150: Server
210: display device 231: virtual terminal agent
Claims (18)
An application virtualization system including a server for generating a virtual machine in response to a request from the user terminal,
Wherein the user terminal comprises a virtual terminal agent configured to communicate first data associated with the operating system and second data associated with the selected at least one application program to the server,
The server creates and boots a virtual machine based on the first data and executes the selected at least one application program based on the second data on the virtual machine created.
The virtual terminal agent comprising:
A virtual machine management request unit for requesting creation of the virtual machine to execute the selected at least one application program;
A storage access control unit for transmitting the first data and the second data to the server;
An application control unit for controlling the application program executed in the virtual machine;
An input information processing unit for identifying an input to be transmitted to the application program executed in the virtual machine and transmitting the input to the server; And
And an output processor for receiving and processing the output generated by the application program from the virtual machine of the server.
Wherein the first data is execution files of the operating system stored in a storage device of the user terminal and the server boots the virtual machine based on executable files of the operating system.
Wherein the first data is memory information of an operating system loaded in the memory device of the user terminal and the server boots the virtual machine based on the memory information transferred.
The virtual terminal agent comprising:
A memory monitoring unit for detecting a change of the memory device of the user terminal; And
And for forwarding the detected change to the virtual machine of the server.
Wherein the first data is identification information of an operating system operated by the user terminal and the server boots the virtual machine based on an operating system stored in the server based on the identification information transferred thereto Program virtualization system.
Wherein the user terminal further comprises a display device,
Wherein the output processing unit displays at least a part of the display device, the screen being transferred from the virtual machine of the server.
Wherein the virtual terminal agent transfers the first data to a hypervisor of the server and the hypervisor boots the virtual machine based on the transferred first data. .
A virtual terminal agent that relays at least one application program among the plurality of application programs to be executed in a virtual machine on the server; And
A display device for displaying an output from an application program executed in the virtual machine,
Wherein the virtual terminal agent is configured to communicate first data associated with the operating system and second data associated with an application to be executed in the virtual machine to the server.
Further comprising at least one processor configured to execute application programs other than application programs running in the virtual machine.
Booting a virtual machine based on the first data on the server;
Executing the selected at least one application program on the virtual machine based on the second data; And
Transmitting input information for driving the executed application program from the user terminal to the server and transmitting output information output from the server to the user terminal in accordance with the execution of the executed application program, A method of virtualizing an application of a user terminal.
Further comprising displaying the output information transmitted to the user terminal in at least a portion of the display device of the user terminal.
Wherein the first data is executable files of the operating system stored in the storage device of the user terminal, and the server boots the virtual machine based on the executable files of the operating system transferred. Way.
Wherein the first data is memory information of an operating system loaded in the memory device of the user terminal, and the server boots the virtual machine based on the transferred memory information.
Wherein the first data is identification information of an operating system running on the user terminal and the server boots the virtual machine on the basis of an operating system stored in the server based on the transferred identification information, A method of virtualizing an application on a terminal.
Wherein booting the virtual machine based on the first data on the server comprises:
Retrieving an OS database in the server based on the identification information of the operating system; And
And booting the virtual machine based on a search result of the OS database.
(i) booting the virtual machine based on an operating system stored in the OS database when an operating system corresponding to the identification information is stored as a result of searching the OS database,
(ii) if the operating system corresponding to the identification information is not stored as a result of searching the OS database, transmitting an OS request message to the user terminal.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140016051A KR20150095029A (en) | 2014-02-12 | 2014-02-12 | Application program virtualization system and method for virtualizing application program of user terminals |
US14/607,750 US20150227383A1 (en) | 2014-02-12 | 2015-01-28 | Application program virtualization system and method of virtualizing application program of user terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140016051A KR20150095029A (en) | 2014-02-12 | 2014-02-12 | Application program virtualization system and method for virtualizing application program of user terminals |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20150095029A true KR20150095029A (en) | 2015-08-20 |
Family
ID=53774994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140016051A KR20150095029A (en) | 2014-02-12 | 2014-02-12 | Application program virtualization system and method for virtualizing application program of user terminals |
Country Status (2)
Country | Link |
---|---|
US (1) | US20150227383A1 (en) |
KR (1) | KR20150095029A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190132001A (en) * | 2018-05-18 | 2019-11-27 | 이슬기 | Virtualization system |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8977735B2 (en) * | 2011-12-12 | 2015-03-10 | Rackspace Us, Inc. | Providing a database as a service in a multi-tenant environment |
US9817688B2 (en) * | 2015-02-18 | 2017-11-14 | Red Hat Israel, Ltd. | Identifying and preventing removal of virtual hardware |
US9852107B2 (en) * | 2015-12-24 | 2017-12-26 | Intel Corporation | Techniques for scalable endpoint addressing for parallel applications |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7774191B2 (en) * | 2003-04-09 | 2010-08-10 | Gary Charles Berkowitz | Virtual supercomputer |
US7895594B2 (en) * | 2005-03-28 | 2011-02-22 | Freescale Semiconductor, Inc. | Virtual machine extended capabilities using application contexts in a resource-constrained device |
US20110040812A1 (en) * | 2007-12-20 | 2011-02-17 | Virtual Computer, Inc. | Layered Virtual File System |
US20110055299A1 (en) * | 2008-12-18 | 2011-03-03 | Virtual Computer, Inc. | Managing User Data in a Layered Virtual Workspace |
US20110126193A1 (en) * | 2009-11-20 | 2011-05-26 | Dell Products, Lp | System and Method for Imaging and Provisioning of Information Handling System |
US8424000B2 (en) * | 2010-07-30 | 2013-04-16 | Symantec Corporation | Providing application high availability in highly-available virtual machine environments |
US8595289B2 (en) * | 2010-09-21 | 2013-11-26 | Telefonaktiebolaget L M Ericsson (Publ) | Cloud phone with distributed processing |
KR101507919B1 (en) * | 2011-07-01 | 2015-04-07 | 한국전자통신연구원 | Method and apparatus for virtual desktop service |
US20130013727A1 (en) * | 2011-07-05 | 2013-01-10 | Robin Edward Walker | System and method for providing a mobile persona environment |
US9170798B2 (en) * | 2012-03-02 | 2015-10-27 | Vmware, Inc. | System and method for customizing a deployment plan for a multi-tier application in a cloud infrastructure |
KR101467430B1 (en) * | 2011-12-12 | 2014-12-01 | 주식회사 케이티 | Method and system for providing application based on cloud computing |
US8984132B2 (en) * | 2012-01-23 | 2015-03-17 | International Business Machines Corporation | System and method for supporting secure application deployment in a cloud |
US8775576B2 (en) * | 2012-04-17 | 2014-07-08 | Nimbix, Inc. | Reconfigurable cloud computing |
US9973566B2 (en) * | 2013-11-17 | 2018-05-15 | Nimbix, Inc. | Dynamic creation and execution of containerized applications in cloud computing |
US9081610B2 (en) * | 2012-06-18 | 2015-07-14 | Hitachi, Ltd. | Method and apparatus to maximize return on investment in hybrid cloud environment |
EP2878139B1 (en) * | 2012-07-27 | 2017-04-19 | Nokia Technologies Oy | Methods and apparatuses for facilitating utilization of cloud services |
US20140280964A1 (en) * | 2013-03-15 | 2014-09-18 | Gravitant, Inc. | Systems, methods and computer readable mediums for implementing cloud service brokerage platform functionalities |
WO2014172386A2 (en) * | 2013-04-15 | 2014-10-23 | Seven Networks, Inc. | Temporary or partial offloading of mobile applicaton functions to a cloud-based environment |
US9705965B2 (en) * | 2013-08-14 | 2017-07-11 | Vmware, Inc. | Systems and methods for PaaS level app motion |
-
2014
- 2014-02-12 KR KR1020140016051A patent/KR20150095029A/en not_active Application Discontinuation
-
2015
- 2015-01-28 US US14/607,750 patent/US20150227383A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190132001A (en) * | 2018-05-18 | 2019-11-27 | 이슬기 | Virtualization system |
Also Published As
Publication number | Publication date |
---|---|
US20150227383A1 (en) | 2015-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110199271B (en) | Method and apparatus for field programmable gate array virtualization | |
US20130055254A1 (en) | Methods and apparatuses for providing a virtual machine with dynamic assignment of a physical hardware resource | |
CN104679598A (en) | System and method for selecting a synchronous or asynchronous interprocess communication mechanism | |
US8694992B2 (en) | Traversing memory structures to parse guest operating system instrumentation information in a hypervisor | |
US9690612B2 (en) | Dynamically managing a serial port interface of virtualization software on host device wherein execution is performed not during boot sequence | |
US10715842B2 (en) | Method and system for distributing internet cartoon content, and recording medium | |
US9058205B2 (en) | Automatically performing operations on applications based on dependencies on other applications | |
KR20150095029A (en) | Application program virtualization system and method for virtualizing application program of user terminals | |
TW201426325A (en) | Method and system of displaying frame | |
US20130151672A1 (en) | Cloud computing method, computing apparatus and server using the same | |
US11321109B2 (en) | Container engine for selecting driver based on container metadata | |
US10277667B2 (en) | Method and apparatus for executing application based on open computing language | |
US20180189090A1 (en) | Exposing Hardware Work Queues as Virtual Devices in Virtual Machines | |
US20150381766A1 (en) | Application transfer system, application transfer method, terminal, and program | |
CN109039765B (en) | Network configuration method and device | |
US10459746B2 (en) | Resuming a paused virtual machine | |
US8752046B2 (en) | Virtual calculating machine system, virtual calculating machine control apparatus and virtual calculating machine control method | |
KR102018605B1 (en) | Multi-User Desktop Computer System | |
KR101226991B1 (en) | Advertising system using push notification, advertising method performed on advertising system and computing device for advertisement using push notification | |
US20130318102A1 (en) | Data Handling in a Cloud Computing Environment | |
CN113287092B (en) | System and method for adding digital content during application open operation | |
CN117724852B (en) | Cloud computer computing resource allocation method and device | |
KR101608327B1 (en) | Method for Providing Storage in Heterogeneous Hypervisor Environment | |
EP4070193B1 (en) | Providing device abstractions to applications inside a virtual machine | |
EP4180966A1 (en) | Method and device for backup management, medium and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |