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 PDF

Info

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
Application number
KR1020140016051A
Other languages
Korean (ko)
Inventor
윤승현
이범철
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020140016051A priority Critical patent/KR20150095029A/en
Priority to US14/607,750 priority patent/US20150227383A1/en
Publication of KR20150095029A publication Critical patent/KR20150095029A/en

Links

Images

Classifications

    • 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
    • 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/45562Creating, 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

TECHNICAL FIELD [0001] The present invention relates to an application program virtualization system and a method for virtualizing an application program of a user terminal.

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 server 150 that are interconnected by a network 130. The user terminal 110 may execute the application program 111 and the application program 113. [ In addition, the user terminal 110 may wish to execute application program 115 in addition. When the hardware resources of the user terminal 110 are insufficient, the third application program 115 can be executed through the cloud service. The server 150 providing the cloud service receives the request for execution of the application program 115 from the user terminal 110 via the network 130 and transmits the application program 115 to the virtual machine Lt; / RTI >

If application 3 115 actually operates in a virtual machine on server 150, then the user of user terminal 110 via the virtualization service can access application 3 115 as if it were running on user terminal 110 Can be used. The input information input to the user terminal 110 for the application program 115 is transmitted to the server 150 through the network 130 while the application program 115 is running in the virtual machine on the server 150. [ ). ≪ / RTI > The application program 115 running on the virtual machine on the server 150 can receive and process the input information transferred to the server 150 through the network 130. [ The output information to be output through the display device or other output device while the application program 115 is being operated in the virtual machine on the server 150 may be transmitted to the user terminal 110 via the network 130. [ The user terminal 110 may output the output information transmitted from the server 150 through a display device connected to the user terminal 110 or another output device. Accordingly, although the application program 115 is actually executed in the virtual machine on the server 150 through the above-described process, the user can execute the application program 115 in the same manner as the application program 115 is executed in the user terminal 110 Effect can be obtained.

Unlike the existing VDI service, the present invention can utilize an operating system and an application program installed in the user terminal 110 by renting only a virtual machine, that is, hardware resources, from the server 150 of the cloud center. Only the application program specified by the user is executed in the virtual machine of the server 150 and the output information of the application program is outputted through the display device or the output device connected to the user terminal 110, You can use the application with the same interface that is used.

According to the present invention, a virtual machine operating on the server 150 can use an operating system or software stored in the user terminal 110, thereby operating an application program in the same environment as that executed by the user terminal 110 .

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 program virtualization system 200 according to an exemplary embodiment of the present invention includes a user terminal 230, a server 250, and a display device 210. The display device 210 is connected to the user terminal 230. Similar to that shown in FIG. 1, the user terminal 230 and the server 250 are connected by a network, but the illustration of the network in FIG. 2 is omitted. In the following description, processes and procedures that are generally performed in a virtual desktop infrastructure or a cloud center are omitted.

Typically, when executing application programs in the user terminal 230, the operating system 237 stored in the storage device 239 inside the user terminal 230 is driven, and then stored again in the storage device 239 And loads the application software. However, if the performance of the user terminal 230 is insufficient, it may not be executed smoothly when a plurality of application programs are executed. As described above with reference to FIG. 1, in this case, a specific application program may be executed by the virtual machine 251 on the server 250 according to the selection within the user terminal 230 or the user's selection. In the example shown in Fig. 2, application program 252 has been selected to run in virtual machine 251. Hereinafter, an application program virtualization system 200 according to the present invention will be described with reference to each component.

The user terminal 230 may include a virtual terminal agent 231. The user terminal 230 may also run the operating system 237 to execute the application programs 233 and 235. In one embodiment, the virtual terminal agent 231 may be configured as a separate device within the user terminal 230. [ In this case, the virtual terminal agent 231 may be implemented as a semiconductor device such as a microprocessor, a central processing unit, or the like, and may be implemented as an operating system 237, an application program 233, Can be configured as separate devices. In another embodiment, the virtual terminal agent 231 may be implemented by a device that drives the operating system 237, application 1 233, and application 2 235. For example, one central processing unit may operate the operating system and may drive the application program 233, the application program 235, and the virtual terminal agent 231 under the operating system. The virtual terminal agent 231 can communicate with the virtual machine 251 of the server 250 and execute the application program 252 in the virtual machine 251 in the user terminal 231. [

The user terminal 230 may have an operating system 237 and a plurality of application programs 233, 235, and 252. To this end, the storage device 239 of the user terminal 230 is responsible for installing and executing the operating system 237 to be executed in the user terminal 230, and installing and executing the application programs 233, 235, For example. The storage device 239 may be implemented by various devices such as a hard disk drive (HDD), a solid state drive (HDD), and the like.

The virtual terminal agent 231 is configured to forward data associated with the operating system 237 and data associated with the application to the server when the user terminal 230 requires execution of the application program via the virtual machine 251 . For example, as shown in Figure 2, the user terminal 230 directly executes application 1 233 and application 2 235, and causes application 3 252 to run on virtual machine 252 The virtual terminal agent 231 can deliver the executable files of the operating system 237 and the executable files of the application program 252 stored in the storage device 239 to the server 250 . Therefore, according to the embodiment of the present invention, the virtual machine 251 operating in the server 250 can use the operating system and the application program software in the user terminal 230 as it is, The application 3 252 can be executed in the same environment as the application program 252.

In the embodiment shown in FIG. 2, data associated with operating system 237 and application program 3 252 are stored in a single storage device 239. According to an embodiment, the user terminal 230 may include a plurality of storage devices, and when data related to the operating system 237 and the application program 252 are divided and stored in the plurality of storage devices, The terminal agent 231 can access all of the plurality of storage devices and relay the data to the server 250. [

The display device 210 is connected to the user terminal 230. Although FIG. 2 illustrates that the display device 210 is configured separately from the user terminal 230 for convenience of illustration, the user terminal may include a display device or may be integrally implemented according to an embodiment . Also, although not shown in FIG. 2, an input device for a user's input, such as a keyboard or a mouse, may be connected to the user terminal 230. Depending on the user's operation, the display device 210 may display all or a part of the application programs 233 and 235 executed in the user terminal 230. [ For example, the display apparatus 210 processes the output information output from the application program 233, displays it in the application program 1 display area 211, processes the output information output from the application program 235 And can be displayed in the application program 2 display area 213. In the application program virtualization system 200 according to the embodiment of the present invention, the display device 210 displays the output (s) received from the application program 252 executed by the virtual machine 251 driven by the server 250 Information can be displayed in the application program 3 display area 215. [ The display device 210 may display all the screens related to the operating system 254 and the application program 252 that are running in the virtual machine 251 and may also display a screen showing only the application program 252 May be displayed.

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 user terminal 230, The performance of the user terminal 230 can be improved because it is leased from the server 250.

The server 250 may be at least a part of a cloud center or virtual desktop infrastructure system. The server 250 may include a hypervisor 253 and the hypervisor 253 may be coupled to the virtual machine 251 based on data associated with the operating system 254 delivered from the virtual machine 231 of the user terminal 230. [ ). ≪ / RTI > The hypervisor 253 also allows the virtual machine 231 to execute the application program 252 based on the data associated with the application program 252 delivered from the virtual machine 231 of the user terminal 230 .

The virtual machine 251 may boot based on the relayed data from the hypervisor 253 and execute application program 252. [ The data for driving the application program 252 among the data input by the input device connected to the user terminal 230 is transmitted to the virtual machine 251 of the server 250 through the network by the virtual terminal agent 231 Application 3 252 being executed, and application 3 252 being able to operate based on the input data. Data output according to the operation of the application program 3 252 is transmitted to the virtual terminal agent 231 of the user terminal 230 through the network and the virtual terminal agent transmits the output data to the display device 210, And displayed in the program 3 display area 215. [

The cloud data center (CDC) management unit 255 may control the virtual machine 251 of the server 250. [ Although not shown in FIG. 2, the server 250 may drive a plurality of virtual machines, and the virtual machine management unit 256 of the CDC management unit 255 may control the driving of the plurality of virtual machines. For example, in one embodiment, when a plurality of user terminals connected to the server 251 request creation of a virtual machine, the requests are accepted by the virtual machine management unit 256 of the CDC management unit 255, The virtual machines requested by the control of the machine management unit 256 can be created and operated. In addition, when the virtual machines are driven and the user terminals request the virtual machine termination, the virtual machine management unit 256 may delete or terminate the corresponding virtual machine in response to the request.

3 is a block diagram illustrating a virtual terminal agent according to an embodiment of the present invention.

3, the virtual terminal agent 300 according to an exemplary embodiment of the present invention includes a virtual machine management request unit 310, an application control unit 330, a storage access control unit 350, an input information processing unit 370, And an output processing unit 390.

The virtual machine management requesting unit 310 may perform a function of requesting creation of a virtual machine or requesting deletion to the server side (CDC or VDI center) according to a user's request or a determination in the user terminal. Upon request of the virtual machine management request unit 310, the private network may directly access the designated hypervisor API to perform the request. In the example of FIG. 2, the virtual machine management request unit 310 may transmit the requests to the virtual machine management unit 256 of the CDC management unit 255.

The application control unit 330 may execute and control an application program designated to operate in the virtual machine.

The storage apparatus access control unit 350 plays a role of relaying the storage apparatus 239 so that the storage apparatus 239 can be accessed. The storage access control unit 350 may separately manage cache and operation information generated when the user terminal and the virtual machine operate at the same time, thereby preventing conflicts. In yet another embodiment of the present invention, the storage access control unit may further introduce a method of caching the storage information of the user in a situation where the image transmission of the operating system is not smooth or in a way to increase the efficiency. In this case, the user can reduce the transmission process of the operating system in the future connection.

The input information processing unit 370 can identify an input related to an application program executed on the virtual machine and transmit the same to a virtual machine to be applied to an executed application program. In the example of FIG. 2, a plurality of data are input through an input device connected to the user terminal 230. Among them, input data for driving the application program 252 is identified by the input information processing unit 370, 250). The input data transferred to the server 250 is input to the application program 252 and processed.

The output processing unit 390 receives the screen of the virtual machine and displays only the screen of the application program on the display device or the output device of the terminal. At this time, the output device may be an audio device, a printer, or the like as well as a screen. For example, in the example of FIG. 2, data output from the application program 3 252 is transmitted to the virtual terminal agent 231 of the user terminal 230 via the network, and in this case, The output data may be transmitted to the display device 210 and output to the application program 3 display area 215.

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 management request unit 310 of FIG. 3 may transmit the virtual machine creation request message to the CDC management unit 255 of FIG.

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 terminal agent 231 reads the executable files of the operating system stored in the storage device 239 and the executable files of the application program 252 (step S212) To the server side. In this case, the information related to the operating system may be executable files of the operating system, and the information related to the application program may be executable files of the application program.

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 CDC management unit 255 in FIG. 2, particularly the virtual machine management unit 256, can perform the above-described step S113. The virtual machine may be booted based on the information related to the operating system transmitted in step S112. In the embodiment of FIG. 4, although it is shown for convenience that information related to an application program is transmitted before creation of a virtual machine, information related to the application program may be transmitted after creation of the virtual machine.

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 terminal agent 231 stores executable files of the operating system stored in the storage device 239 and executable files of the application program 252 (step S210) To the server side. In this case, the first data may be executable files of the operating system, and the information related to the application program may be executable files of the application program. Further, in other embodiments, the first data may be memory information of the operating system loaded in the memory device of the user terminal, or may be the identification information of the operating system

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 program virtualization system 400 according to another embodiment of the present invention includes a user terminal 430, a server 450, and a display device 410. The display device 410 is connected to the user terminal 430. Display device 410 includes display areas 411, 413, and 415 of application programs. In the embodiment of FIG. 10, similarly to the embodiment of FIG. 2, application 1 433 and application 2 435 are executed in user terminal 430 and application 3 452 is executed in server 450 . Application 1 433 and Application 2 435 may be run under operating system 437. [ In addition, the user terminal 430 includes a storage device 438 and a memory 439. On the other hand, the virtual machine 451 of the CDC management unit 455 of the server 450 can be created and terminated by the virtual machine management unit 456. [ The virtual machine 451 can also be booted in the hypervisor 453. [

The difference between the embodiment of FIG. 10 and the embodiment of FIG. 2 is that in the embodiment of FIG. 10, the virtual terminal agent 431 transfers memory information of the operating system loaded in the memory 439 to the server 450. In the embodiment of FIG. 10, the virtual machine is not booted by reading the operating system executable files stored in the storage device 438 of the user terminal 430, but the information loaded in the memory 439 of the user terminal 430 The virtual machine moves to the server 450 as it is and the virtual machine is booted. The hypervisor 453 can boot the virtual machine 451 based on the memory 439 information transmitted on the server.

11 is a block diagram illustrating a virtual terminal agent according to another embodiment of the present invention. The virtual terminal agent 431 of FIG. 10 may be implemented by the virtual terminal agent 500 of FIG. The virtual terminal agent 500 of FIG. 11 includes a virtual machine management request unit 510, an application control unit 530, a memory monitoring and processing unit 550, an input information processing unit 570, and an output processing unit 590. The configuration of the virtual terminal agent 500 of FIG. 11 is similar to that of the virtual terminal agent 300 of FIG. 3, but includes a memory monitoring and processing unit 550 instead of the storage access control unit 350 of FIG.

The memory monitoring and processing unit 550 may monitor the memory 439 of the user terminal 430. [ In the embodiment of FIG. 10, the virtual machine is not booted by reading the operating system executable files stored in the storage device 438 of the user terminal 430, but the information loaded in the memory 439 of the user terminal 430 And the virtual machine 451 is booted. Thus, in the embodiment of FIG. 10, it may be necessary that changes to the memory 439 are reflected in real time to the virtual machine 451 of the server 450. The memory monitoring and processing unit 550 of Figure 11 monitors the memory 439 of the user terminal 430 and sends the related data to the server 450 to reflect the changes to the virtual machine 451 of the server 450 .

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 program virtualization system 600 according to another embodiment of the present invention includes a user terminal 630, a server 650, and a display device 610. The display device 610 is connected to the user terminal 630. Display device 410 includes display areas 611, 613, and 615 of application programs. 12, application 1 633 and application 2 635 are executed at user terminal 630 and application 3 652 is executed at server 650 . Application 1 633 and application 2 635 may be run under operating system 637. [ The user terminal 630 also includes a storage device 638 and a memory 639. On the other hand, the virtual machine 651 of the CDC management unit 655 of the server 650 can be created and terminated by the virtual machine management unit 656. [ Also, the virtual machine 651 can be booted in the hypervisor 653. [

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 terminal agent 631 transmits the identification information of the operating system 637 and the identification information of the application program 654 to the server 450). In the embodiment of Figure 12, the executable files of the operating system stored in the storage device 638 of the user terminal 630 are read so that the information that is loaded into the memory 639 of the user terminal 630, The virtual machine is booted by the operating system stored in the OS database 658 based on the identification information of the operating system transmitted from the user terminal 630. [ The hypervisor 453 can boot the virtual machine 451 based on the memory 439 information transmitted on the server.

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 operating system 654 required by the virtual machine 651 of the server 650 in the case where the server 650 equally holds the operating system possessed by the user terminal 630 requires additional cost, Transferring the operating system executables from the user terminal 630 to the server to reduce rental costs causes traffic and makes it difficult to use the virtual machine quickly. Accordingly, if the server 650 has the same operating system 637 held by the user terminal 640, the license problem is solved through the transmission of the identification information, and the operating system of the server 650 is immediately The virtual machine 651 can be booted. The identification information of the operating system 637 is transmitted to the server 650 by the virtual terminal agent 631 and the hypervisor 653 searches the OS database 658 based on the identification information transferred. If the operating system is stored in the OS database 658, the virtual machine 651 can boot based on the operating system. The OS 650 transmits the OS request message to the user terminal 630 and the user terminal 630 transmits the OS request message to the storage device 638 To the server 650. For example, the server 650 may include a plurality of operating system executables.

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 virtual machine 651 of the server 650 when the server 650 holds the same application program 652 held by the user terminal 630 And the transfer of the executable files of the application program 3 from the user terminal 630 to the server 650 in order to reduce rental costs causes traffic and makes it difficult to use the rapid virtual machine. Accordingly, if the server 650 holds the same application 3 652 owned by the user terminal 640, the license problem is solved through the transmission of the identification information and the application of the server 650 immediately Program 3 652 can be executed. The identification information of the application program 3 652 is transferred to the server 650 by the virtual terminal agent 631 and the hypervisor 653 searches the application program database 659 based on the identification information transferred. If the application program 3 652 is stored in the application program database 659, the application program 652 can be executed immediately on the virtual machine 651. 9, the server 650 transmits an application program request message to the user terminal 630 and transmits the application program request message to the user terminal 630. [ 630 may forward the executable files of application 3 652 stored in storage device 638 to server 650. [

13 is a block diagram illustrating a virtual terminal agent according to another embodiment of the present invention.

 The virtual terminal agent 631 of FIG. 12 may be implemented by the virtual terminal agent 700 of FIG. 13 includes a virtual machine management request unit 710, an application control unit 730, an OS and application program information processing unit 750, an input information processing unit 770, and an output processing unit 590 . The configuration of the virtual terminal agent 700 of FIG. 13 is similar to that of the virtual terminal agent 300 of FIG. 3, but includes an OS and application program information processing unit 750 instead of the storage access control unit 350 of FIG. 3 . The OS and application program information processing unit 750 may process the identification information of the operating system 637 of the user terminal 630 or the identification information of the application program 3 654 and transmit it to the server 650 side.

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 terminal agent 700 may further include the storage access control unit 350 of FIG. 3 or the memory monitoring and processing unit 550 of FIG. 11 in addition to the OS and application program information processing unit 750.

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 computer system 810 includes one or more processors 811, a memory 813, a user interface input device 816, a user interface output device 817, a network interface 819, Device 818. < / RTI > The processor 811 may be a central processing unit (CPU) or a semiconductor device that executes processing instructions stored in the memory 813 or the storage device 818. [ The memory 813 and the storage device 818 may include various forms of volatile or non-volatile storage media. For example, the memory 813 may include a ROM (Read Only Memory) 814 and a RAM (Random Access Memory) 815. The computer system 810 may be connected to an external network 830 via a network interface 819. [

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)

A user terminal having an operating system and a plurality of application programs; And
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 method according to claim 1,
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.
3. The method of claim 2,
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.
3. The method of claim 2,
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.
5. The method of claim 4,
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.
3. The method of claim 2,
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.
3. The method of claim 2,
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.
The method according to claim 1,
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 storage device for storing an operating system and a plurality of application programs;
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.
10. The method of claim 9,
Further comprising at least one processor configured to execute application programs other than application programs running in the virtual machine.
Transmitting first data related to an operating system stored in a user terminal and second data related to at least one application program selected from a plurality of application programs to a server;
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.
12. The method of claim 11,
Further comprising displaying the output information transmitted to the user terminal in at least a portion of the display device of the user terminal.
12. The method of claim 11,
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.
12. The method of claim 11,
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.
12. The method of claim 11,
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.
16. The method of claim 15,
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.
17. The server of claim 16,
(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.
The method as claimed in claim 17, wherein the user terminal transmits the OS executable files stored in the user terminal to the server in response to the OS request message.
KR1020140016051A 2014-02-12 2014-02-12 Application program virtualization system and method for virtualizing application program of user terminals KR20150095029A (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190132001A (en) * 2018-05-18 2019-11-27 이슬기 Virtualization system

Families Citing this family (3)

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

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

Cited By (1)

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