Electronic equipment and method for running application in multi-operating system environment by using electronic equipment
By combining the host system and virtual machine system in electronic devices, processing the operation requests of client applications and generating virtual monitors, the complexity of running client applications in TVs and other devices is solved, and a simplified application operation process and unified output effect is achieved.
Patent Information
- Application Number
- CN202380057056.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-11-10
- Filing Date
- 2023-07-24
- Publication Date
- 2025-04-11
AI Technical Summary
In electronic devices with limited input devices such as televisions, it is difficult for users to simplify the process of running client applications, especially when used by multiple age groups.
By introducing the host system and virtual machine system into the electronic device, the operation request processing of the client application and the generation of the virtual display are realized, and the operation results of the client application are output in the host system.
It simplifies the running process of client applications, so that users do not need to be aware of the switching between the host and the client operating system, and provides the same output of client application running results as the host OS environment.
Smart Images

Figure CN119816812A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to an electronic device for running an application and a method thereof, and more particularly, to an electronic device including a host operating system (OS) and a client OS, and a method for running an application on the electronic device. Background Art
[0002] A virtual machine is a virtual device created from a physical device, rather than a physically existing machine / device (e.g., a computer). Software that simulates a device (or another machine / device) can be understood as a virtual machine. A virtual machine provides a complete system platform and supports the operation of a complete operating system (OS).
[0003] An electronic device on which a virtual machine is installed may include a host system and one or more virtual machine systems.
[0004] The host system may operate according to a host OS and include one or more host applications executable in the host OS. The virtual machine system may operate according to a guest OS and include one or more guest applications executable in the guest OS.
[0005] Because the client application can be executed in the client OS environment, a user who wants to execute the client application needs to switch the host OS to the client OS.
[0006] In a computer including various input devices such as a keyboard or a mouse, it is relatively easy to switch from a host OS to a client OS to run a client application, but in an electronic device such as a television (TV), the types of input devices are limited and various age groups use the electronic device, so there is a need to simplify the operation of the client application. Summary of the invention
[0007] According to an embodiment of the present disclosure, a method for executing an application performed by an electronic device including a host system and a virtual machine system includes: obtaining, through the host system, an execution request for a first client application installed in the virtual machine system.
[0008] According to an embodiment of the present disclosure, the method may include sending, from the host system to the virtual machine system, a request to run a first client application and a request to generate a first virtual display corresponding to the first client application.
[0009] According to an embodiment of the present disclosure, the method may include outputting a running result of the first client application on a first virtual display generated according to the generation request.
[0010] According to an embodiment of the present disclosure, the method may include sending a first captured image of a screen of a first virtual display from the virtual machine system to the host system.
[0011] According to an embodiment of the present disclosure, the method may include outputting the first captured image on a display of the electronic device through the host system.
[0012] According to an embodiment of the present disclosure, a method for running an application performed by an electronic device including a host system and a virtual machine system includes obtaining, through the host system, an input for selecting a first client application installed in the virtual machine system from a main screen output on a display of the electronic device.
[0013] According to an embodiment of the present disclosure, the method may include outputting, by the host system, a first captured image including an execution result of the first client application on a display.
[0014] According to an embodiment of the present disclosure, the first capture image may be a capture image of a screen of a first virtual display on which an execution result of the first client application is output.
[0015] An electronic device according to an embodiment of the present disclosure includes a host system, a virtual machine system, a display, and at least one memory storing at least one instruction, wherein, when the at least one instruction is executed by the electronic device, the electronic device is configured to obtain, through the host system, an execution request for a first client application installed in the virtual machine system.
[0016] According to an embodiment of the present disclosure, when at least one instruction is executed by an electronic device, the electronic device may be configured to send a request to execute a first client application and a request to generate a first virtual display corresponding to the first client application from a host system to a virtual machine system.
[0017] According to an embodiment of the present disclosure, when at least one instruction is executed by the electronic device, the electronic device may be configured to output the execution result of the first client application on the first virtual display generated according to the generation request.
[0018] According to an embodiment of the present disclosure, when at least one instruction is executed by the electronic device, the electronic device may be configured to send a first captured image of a screen of a first virtual display from the virtual machine system to the host system.
[0019] According to an embodiment of the present disclosure, when at least one instruction is executed by the electronic device, the electronic device may be configured to output the first captured image on a display through the host system.
[0020] An electronic device according to an embodiment of the present disclosure includes a host system, a virtual machine system, a display, and at least one memory storing at least one instruction, wherein, when the at least one instruction is executed by the electronic device, the electronic device is configured to obtain input of selecting a first client application installed in the virtual machine system from a main screen output on the display by the host system.
[0021] According to an embodiment of the present disclosure, when at least one instruction is executed by the electronic device, the electronic device may be configured to output a first captured image including an execution result of the first client application on a display through the host system.
[0022] According to an embodiment of the present disclosure, the first capture image may be a capture image of a screen of a first virtual display on which an execution result of the first client application is output. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] The above and other aspects, features and advantages of certain embodiments of the present disclosure will become more apparent through the following description in conjunction with the accompanying drawings, in which:
[0024] Figure 1 is a diagram of a configuration of an electronic device according to an embodiment of the present disclosure;
[0025] Figure 2 is a diagram showing a home screen provided by a host system according to an embodiment of the present disclosure;
[0026] Figure 3 is a flowchart of a method by which an electronic device runs an application according to an embodiment of the present disclosure;
[0027] Figure 4 is a diagram showing a screen output on a display and a virtual display as a result of executing a first client application according to an embodiment of the present disclosure;
[0028] Figure 5 is a diagram showing a screen output on a display and a virtual display as a result of executing a second client application according to an embodiment of the present disclosure;
[0029] Figure 6 is a diagram showing a screen output on a display and a virtual display as a result of executing a second client application according to an embodiment of the present disclosure;
[0030] Figure 7a is a diagram showing a screen output on a virtual display according to an embodiment of the present disclosure;
[0031] Figure 7b is shown according to an embodiment by capturing Figure 7a A diagram of an image obtained by viewing a screen of a virtual display;
[0032] Figure 7c is a diagram showing how to combine an image of a main screen with Figure 7b A graph showing the result of combining the images;
[0033] Figure 8a is shown according to an embodiment by capturing Figure 7a A diagram of an image obtained by viewing a screen of a virtual display;
[0034] Figure 8b is a diagram showing how to combine an image of a main screen with Figure 8a A graph showing the result of combining the images;
[0035] Fig. 9 is a diagram illustrating operations of a host system and a virtual machine system according to an embodiment of the present disclosure; and
[0036] Fig.10 is a diagram of a configuration of an electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0037] According to an embodiment of the present disclosure, a method for executing an application performed by an electronic device 100 including a host system 130 and a virtual machine system 150 may include obtaining, through the host system 130 , an execution request for a first client application installed in the virtual machine system 150 .
[0038] According to an embodiment of the present disclosure, the method may include sending, from the host system 130 to the virtual machine system 150 , a request to execute the first client application and a request to generate the first virtual display 156 - 1 corresponding to the first client application.
[0039] According to an embodiment of the present disclosure, the method may include outputting the running result of the first client application on the first virtual display 156 - 1 generated according to the generation request.
[0040] According to an embodiment of the present disclosure, the method may include sending a first captured image of a screen of the first virtual display 156 - 1 from the virtual machine system 150 to the host system 130 .
[0041] According to an embodiment of the present disclosure, the method may include outputting the first captured image on the display 115 or 1030 of the electronic device 100 through the host system 130 .
[0042] Invention Mode
[0043] Since the present disclosure allows various changes and many examples, specific exemplary embodiments of the present disclosure will be shown in the drawings and described in detail in the written description. However, this is not intended to limit the embodiments of the present disclosure to a specific practice mode, and it should be understood that all changes, equivalents and substitutes that do not depart from the spirit and technical scope of the present disclosure are included in the embodiments of the present disclosure.
[0044] In the present disclosure, when it is considered that some detailed explanations of the related art may unnecessarily obscure the essence of the present disclosure, some detailed explanations of the related art may be omitted. In addition, the numbers (e.g., first, second, etc.) used in the description of the specification are relative to the identifier code used to distinguish one element from another element.
[0045] In the present disclosure, the expression “at least one of a, b, or c” indicates only a, only b, only c, both a and b, both a and c, both b and c, all of a, b, and c, or variations thereof.
[0046] In the present disclosure, it should be understood that, unless otherwise specified, when elements are “connected” or “coupled” to each other, the elements may be directly connected or coupled to each other, but may instead be connected or coupled to each other with intervening elements therebetween.
[0047] In the present disclosure, with respect to an element represented as a "-device", "unit" or "module", two or more elements may be combined into one element, or one element may be divided into two or more elements according to subdivided functions. In addition to its own main function, each element described below may also run some or all of the functions run by another element, and some of the main functions of each element may be completely run by another component.
[0048] In the present disclosure, "user" may refer to a person who controls functions of an electronic device by using a control device (eg, a keyboard, a mouse, or a remote controller). The user may include a viewer, a manager, or an installation engineer.
[0049] An electronic device (eg, a computer) may include a general-purpose processor designed to execute a set of instructions. A processor may execute instructions that are unique to the processor.
[0050] The uniqueness of the processor usually leads to incompatibility between the electronic device and the hardware architecture. Therefore, in order to increase the number of operating systems and the number of applications that can be run in the electronic device, a virtual machine technology that enables different types of instructions to be run can be adopted.
[0051] Figure 1 is a diagram of a configuration of an electronic device 100 according to an embodiment of the present disclosure.
[0052] refer to Figure 1 , the electronic device 100 may include hardware 110 , a host system 130 and a virtual machine system 150 .
[0053] The electronic device 100 may be a general-purpose computer or a display device.
[0054] The display device may include various types of devices capable of receiving and outputting content, such as a network television (TV), a smart TV, an Internet TV, a web TV, or an Internet Protocol TV (IPTV).
[0055] The hardware 110 includes physical devices for driving the host system 130 and the virtual machine system 150 .
[0056] like Figure 1 As shown, hardware 110 may include a display 115. Display 115 is a physical display and may be distinguished from a virtual display described below.
[0057] In an embodiment, the display 115 may include a liquid crystal display (LCD), a plasma display panel (PDP), a light emitting diode (LED), an organic LED (OLED), or a field emission display (FED), but is not limited thereto. The display 115 may include any type of device capable of visually outputting data.
[0058] exist Figure 1 In the embodiment, the hardware 110 includes only the display 115, but the hardware 110 may further include at least one processor and at least one memory.
[0059] The at least one memory may include random access memory that stores applications and data used by the applications.
[0060] At least one memory may include instructions for running the host application and / or the client application described below.
[0061] The at least one processor may execute a process for executing an application described below by operating according to instructions stored in the at least one memory.
[0062] The following will refer to Fig.10 Describes the physical devices that may be included in hardware 110 .
[0063] The host system 130 may include a host operating system (OS) 132, at least one host application 134 (eg, first host application 134-1 through nth host application 134-n), and a client controller 136. Figure 1 It is shown that a plurality of host applications 134 - 1 to 134 - n are included in the host system 130 , but one host application may be included in the host system 130 .
[0064] The host system 130 may be understood as an instruction set for driving a host OS 132 , at least one host application 134 , and a client controller 136 .
[0065] The host system 130 provides an OS environment for executing a series of processes in the electronic device 100 .
[0066] The host OS 132 may control the hardware 110 in the electronic device 100 and manage system resources of all applications.
[0067] At least one host application 134 is a program operable in the host OS 132 , and may include, for example, an Internet browser, a word processor, and an over-the-top (OTT) program.
[0068] exist Figure 1 , the first to nth host applications 134 - 1 to 134 - n are installed in the host system 130 .
[0069] A host application selected by a user from among at least one host application 134 may be executed, and the execution result may be output on the display 115 .
[0070] The client controller 136 may be an instruction set for running client applications.
[0071] The client controller 136 may send / receive data to / from the virtual machine system 150 (eg, the client OS 152 ) according to an execution request for the client application, and output the execution result of the client application on the display 115 .
[0072] exist Figure 1 , client controller 136 is included in host system 130, but in embodiments, multiple client controllers 136 (eg, multiple client controllers 136) may be included in host system 130.
[0073] The following will refer to Figure 3 The operation of the host system 130 based on the client controller 136 is described.
[0074] Host system 130 may employ virtual machine technology to run instructions executable in a type of OS different from the type of host OS 132 .
[0075] The virtual machine system 150 is implemented by implementing physical hardware as software, and may include a client OS 152, at least one client application 154 (e.g., first client application 154-1 to m-th client application 154-m), and at least one virtual display 156 (e.g., first virtual display 156-1 to k-th virtual display 156-k). Figure 1It is shown that a plurality of client applications 154-1 to 154-m are included in the virtual machine system 150, but one client application may be included in the virtual machine system 150. In addition, although Figure 1 It is illustrated that a plurality of virtual displays 156 - 1 to 156 - k are included in the virtual machine system 150 , but one virtual display may be included in the virtual machine system 150 .
[0076] The virtual machine system 150 may be understood as an instruction set for driving a client OS 152 and at least one client application 154 .
[0077] The client OS 152 may support the execution of at least one client application 154 , and generate virtual hardware, for example, at least one virtual display 156 , according to a request of the client controller 136 .
[0078] exist Figure 1 In the embodiment, the virtual machine system 150 includes the first virtual display 156-1 to the k-th virtual display 156-k, but the first virtual display 156-1 to the k-th virtual display 156-k are generated according to the request of the client controller 136 for the operation of the client application. Therefore, it is not necessary to pre-generate the first virtual display 156-1 to the k-th virtual display 156-k. However, according to an embodiment of the present disclosure, at least one virtual display 156 may be pre-generated.
[0079] At least one client application 154 is a program executable in the client OS 152 , and may include, for example, an Internet browser, a word processor, and an OTT program.
[0080] exist Figure 1 , the first client application 154-1 to the mth client application 154-m are installed in the virtual machine system 150. A client application selected by a user from among at least one client application 154 may be executed, and the execution result may be output on a virtual display.
[0081] The at least one virtual display 156 is implemented by simulating a physical display, and the running result of the at least one client application 154 may be output on the at least one virtual display 156 .
[0082] The screen output through the at least one virtual display 156 is not shown to the user because the at least one virtual display 156 is not a physical display, and the screen of the at least one virtual display 156 is output on the display 115 through the capture process described below, and thus the user can recognize the running result of the client application.
[0083] When an execution request for a client application is obtained while operating according to the host OS 152 , the electronic device 100 according to an embodiment of the present disclosure may not output a switching process to the client OS 152 on the display 115 .
[0084] The electronic device 100 can output the execution result of the client application on the display 115 as if the host application is executed. Therefore, the user cannot realize that the electronic device 100 is being operated according to several OSs and recognizes all applications installed in the electronic device 100 as host applications.
[0085] The electronic device 100 may output, for example, on the display 115, an application list including at least one host application 134 included in the host system 130 and at least one client application 154 included in the virtual machine system 150, so as to receive a running request for an application from a user, as will be described with reference to FIG. Figure 2 Described.
[0086] Figure 2 is a diagram illustrating a home screen 210 provided by the host system 130 according to an embodiment of the present disclosure.
[0087] The display 115 of the electronic device 100 may output a main screen 210 provided by the host system 130 .
[0088] The home screen 210 may include an application list 220 of applications installed in the host system 130 and the virtual machine system 150 .
[0089] like Figure 2 As shown, the home screen 210 may include an application list 220 including the first, second, and third client applications 154-1, 154-2, and 154-3, as well as the first, second, and third host applications 134-1, 134-2, and 134-3.
[0090] The user 10 may execute an application by selecting an application from among the applications included in the application list 220 .
[0091] According to an embodiment of the present disclosure, the user 10 may search for various types of applications available in the electronic device 100 by scrolling left / right based on an input device.
[0092] When the user 10 selects a host application from the application list 220 , the host application selected by the user 10 may be executed in the host OS 132 , and the execution result thereof may be output on the display 115 .
[0093] The user 10 can select a client application from the application list 220, for example, Figure 2The first client application 154-1 and will refer to Figure 3 The operation of the electronic device 100 when the first client application 154 - 1 is selected is described.
[0094] Figure 3 is a flowchart of a method by which the electronic device 100 executes an application according to an embodiment of the present disclosure.
[0095] In operation S310 , the electronic device 100 obtains an execution request for the first client application 154 - 1 through the host system 130 .
[0096] According to an embodiment of the present disclosure, the electronic device 100 may obtain an execution request for the first client application 154 - 1 according to a user input regarding the main screen 210 output on the display 115 through the host system 130 .
[0097] According to an embodiment of the present disclosure, the execution request for the first client application 154-1 may be caused by the host application. The case where the execution request for the first client application 154-1 is caused by the host application may represent a case where, for example, the host application requests to execute the first client application 154-1 according to a self-function or a user's input. For example, the electronic device 100 may obtain the execution request for the first client application 154-1 from the host application according to the user's input on the host application.
[0098] According to an embodiment of the present disclosure, the execution request for the first client application 154-1 may not be caused by another client application. For example, when another client application executes the first client application 154-1 according to a user input request about another client application, the execution request may not be executed. Figure 3 The following will refer to the process shown in Figure 6 An embodiment of the present disclosure is described for this case.
[0099] In operation S320 , the electronic device 100 transmits an execution request for the first client application 154 - 1 and a generation request for the first virtual display 156 - 1 corresponding to the first client application 154 - 1 to the virtual machine system 150 from the host system 130 .
[0100] According to an embodiment of the present disclosure, a request for executing the first client application 154 - 1 and a request for generating the first virtual display 156 - 1 may be sent from the client controller 136 to the client OS 152 .
[0101] In detail, upon obtaining an execution request for first client application 154 - 1 , host OS 132 may execute client controller 136 , and client controller 136 may send an execution request for first client application 154 - 1 and a generation request for first virtual display 156 - 1 to client OS 152 .
[0102] In operation S330 , the electronic device 100 may output the execution result of the first client application 154 - 1 on the first virtual display 156 - 1 generated in the virtual machine system 150 .
[0103] The client OS 152 of the virtual machine system 150 may generate a first virtual display 156-1 simulating a physical display according to a generation request for the first virtual display 156-1. Then, the client OS 152 may output a first client window including the execution result of the first client application 154-1 on the first virtual display 156-1.
[0104] The window refers to a region of a certain size in which the execution result of the application is arranged. For example, the window may refer to a rectangular region output on the screen of the display 115 by executing an Internet browser.
[0105] According to an embodiment of the present disclosure, the client window may mean an area in which the execution result of the client application is arranged, and the host window may be an area in which the execution result of the host application is arranged.
[0106] As described above, the virtual display that is not a physical display does not include a light emitting device (e.g., a backlight or LED), and therefore the client window including the execution result of the client application output on the virtual display can be understood as the pixel values of an area of a specific size determined by the execution of the client application.
[0107] In operation S340 , the electronic device 100 may transmit a first captured image of the screen of the first virtual display 156 - 1 on which the execution result of the first client application 154 - 1 is output from the virtual machine system 150 to the host system 130 .
[0108] The virtual machine system 150 may generate a first captured image of the screen of the first virtual display 156 - 1 on which the execution result of the first client application 154 - 1 is output.
[0109] The first captured image may be generated by capturing the screen of the first virtual display 156-1. Here, capturing may mean generating an image identical to the entire area or a partial area of the screen of the virtual display, or generating an image by combining at least some objects included in the screen of the virtual display.
[0110] The execution result of the first client application 154 - 1 may be included in the first client window, and thus the first capture image may include the first client window as an object.
[0111] According to an embodiment of the present disclosure, the virtual machine system 150 may crop at least one client window located in the screen of the first virtual display 156 - 1 , and generate a first capture image including the cropped at least one client window.
[0112] According to an embodiment of the present disclosure, the virtual machine system 150 may generate the first capture image by cropping a rectangular area including at least one client window located in the screen of the first virtual display 156 - 1 .
[0113] According to an embodiment of the present disclosure, information about the first client window itself, for example, information about the position of the first client window and pixel values included in the first client window, is not transmitted to the host system 130, but the first client window is transmitted in the form of an image to the host system 130. The first client window is transmitted in the form of an image so that the running result of the first client application 154-1 in the virtual machine system 150 is identically output in the host system 130.
[0114] For example, in a case where two or more client windows are output as a result of the execution of first client application 154-1, when only information about the client window itself is transmitted to host system 130, it is difficult for host system 130 to determine the relationship between the two client windows, and thus a different result from when first client application 154-1 is executed in virtual machine system 150 may be output by host system 130. For example, when one client window covers another client window, host system 130 may output the two client windows so that the two client windows do not cover each other.
[0115] In other words, according to an embodiment of the present disclosure, the execution result of the client application is output through the host system 130 in the same manner as the virtual machine system 150 , and thus it is difficult for the user to find an unnatural point from the execution result of the client application.
[0116] In operation S350 , the electronic device 100 outputs the first capture image on the display 115 through the host system 130 .
[0117] According to an embodiment of the present disclosure, the electronic device 100 may output a first host window including a first capture image on the display 115 .
[0118] According to an embodiment of the present disclosure, the user may recognize the execution result of the client application through the display 115 operated according to the host OS 132 of the host system 130 and may not recognize that the client OS 152 is being operated to execute the client application or that the client OS 152 needs to be operated.
[0119] According to an embodiment of the present disclosure, when an execution request for a host application is obtained, the electronic device 100 may execute the host application in the environment of the host OS 132 and output its execution result on the display 115. When executing the host application, the virtual machine system 150 is not required, and therefore the reference process may not be executed. Figure 3 Describe the process.
[0120] The execution result of first client application 154-1 may be changed after the first capture image corresponding to the execution result of first client application 154-1 is output on display 115. In this case, the first capture image also needs to be changed.
[0121] According to an embodiment of the present disclosure, when the user selects a menu included in the first capture image, a change in the execution result of the first client application 154 - 1 may occur.
[0122] According to an embodiment of the present disclosure, when a user input regarding a first captured image is input, the host system 130 may send location information regarding where the user input has occurred to the virtual machine system 150, and the first client application 154-1 of the virtual machine system 150 may change the running result according to the user input.
[0123] In addition, according to an embodiment of the present disclosure, the operation result of the first client application 154-1 can be changed according to the self-function of the first client application 154-1. For example, when a certain image arranged in the client window as the operation result of the first client application 154-1 is periodically changed, the first captured image also needs to be changed accordingly.
[0124] According to an embodiment of the present disclosure, the virtual machine system 150 may generate an updated first capture image of the screen of the first virtual display 156 - 1 including the updated execution result of the first client application 154 - 1 , and transmit the updated first capture image to the host system 130 .
[0125] According to an embodiment of the present disclosure, the virtual machine system 150 may generate a first capture image according to a preset interval or whenever the execution result of the first client application 154 - 1 changes, and send the first capture image to the host system 130 .
[0126] In the following, reference will be made to Figures 4 to 6The screen output on the virtual display and the display 115 according to the execution of the client application is described.
[0127] Figure 4 1 is a diagram illustrating a screen output on the display 115 and the virtual display as a result of execution of the first client application 154 - 1 according to an embodiment of the present disclosure.
[0128] As described above, when obtaining the execution request for the first client application 154 - 1 , the host system 130 may send the execution request for the first client application 154 - 1 and the generation request for the first virtual display 156 - 1 to the virtual machine system 150 through the client controller 136 .
[0129] The virtual machine system 150 may generate the first virtual display 156 - 1 according to the generation request for the first virtual display 156 - 1 , and output the first client window 414 including the execution result 412 of the first client application 154 - 1 on the first virtual display 156 - 1 .
[0130] The virtual machine system 150 may generate a first captured image of the first virtual display 156 - 1 and transmit the first captured image to the host system 130 .
[0131] The host system 130 may output a first host window 424 including the first capture image 422 received from the virtual machine system 150 on the display 115 .
[0132] exist Figure 4 , unlike the display 115 and the first host window 424, the first virtual display 156-1 and the first client window 414 are indicated by dashed lines in order to emphasize that the first virtual display 156-1 and the first client window 414 are actually not visible to the user.
[0133] According to an embodiment of the present disclosure, the first virtual display 156-1 may include two or more client windows as a result of the operation of the first client application 154-1. In this case, a first capture image including two or more client windows is generated and sent from the virtual machine system 150 to the host system 130.
[0134] The host system 130 may include the first capture image including the two or more client windows as an object to the first host window 424 and output the first host window 424 on the display 115 .
[0135] Figure 5 1 is a diagram illustrating a screen output on the display 115 and the virtual display as a result of execution of the second client application 154 - 2 according to an embodiment of the present disclosure.
[0136] When an execution request for second client application 154-2 is obtained after outputting first capture image 422 including execution result 412 of first client application 154-1 on display 115, host system 130 may determine whether a new virtual display needs to be generated for second client application 154-2.
[0137] According to an embodiment of the present disclosure, when an execution request for the second client application 154 - 2 is caused from the first client application 154 - 1 , the host system 130 may determine not to generate a new virtual display.
[0138] The case where the execution request for second client application 154-2 is caused from first client application 154-1 may include a case where first client application 154-1 has executed second client application 154-2 according to a user input regarding first client application 154-1 or according to a function request of first client application 154-1.
[0139] According to an embodiment of the present disclosure, when the execution request for second client application 154-2 is not caused by first client application 154-1, host system 130 may determine to generate a new virtual display. For example, when the user has selected second client application 154-2 from the main screen, it may be determined that the execution request for second client application 154-2 is not caused by first client application 154-1.
[0140] When a request for executing the second client application 154-2 is generated from the first client application 154-1, the host system 130 may send the request for executing the second client application 154-2 to the virtual machine system 150, such as Figure 5 In other words, a request for generating a new virtual display may not be sent to the virtual machine system 150 .
[0141] The virtual machine system 150 may execute the second client application 154 - 2 , and output a second client window 514 in which an execution result 512 of the second client application 154 - 2 is arranged on the first virtual display 156 - 1 .
[0142] like Figure 5 As shown, the second client window 514 may cover at least a portion of the first client window 414 including the execution result 412 of the first client application 154 - 1 .
[0143] According to an embodiment of the present disclosure, the second client window 514 and the first client window 414 may not overlap each other.
[0144] Because the screen of the first virtual display 156 - 1 has changed according to the execution of the second client application 154 - 2 , the virtual machine system 150 may generate an updated first capture image 522 of the first virtual display 156 - 1 and transmit the updated first capture image 522 to the host system 130 .
[0145] The host system 130 may change the first capture image 422 included in the first host window 424 to an updated first capture image 522 .
[0146] exist Figure 5 In the embodiment of the present disclosure shown, the first client window 414 and the second client window 514 are output on the first virtual display 156-1. In an embodiment, the first host window 424 is output on the display 115, and the first host window 424 includes the running result 412 of the first client application 154-1 included in the first client window 414 and the running result 512 of the second client application 154-2 included in the second client window 514.
[0147] As described above, when the information of the first client window 414 and the information of the second client window 514 are sent separately to the host system 130, as shown in FIG. Figure 5 As shown, second client window 514 covering at least a portion of first client window 414 may not be output on display 115 .
[0148] According to an embodiment of the present disclosure, the updated first captured image 522 of the first virtual display 156-1 that outputs the first client window 414 and the second client window 514 is included in the first host window 424, and thus the relationship between the running result 412 of the first client application 154-1 and the running result 512 of the second client application 154-2 in the virtual machine system 150 can be reflected on the display 115.
[0149] According to an embodiment of the present disclosure, when the user terminates the execution of one of the first client application 154-1 and the second client application 154-2 after outputting the updated first capture image 522 on the display 115, the virtual machine system 150 may delete the client window corresponding to the client application whose execution is terminated. Then, the virtual machine system 150 may send the first capture image including only the client window corresponding to the client application being executed to the host system 130, so that the first capture image is output on the display 115.
[0150] Figure 6 1 is a diagram illustrating a screen output on the display 115 and the virtual display as a result of execution of the second client application 154 - 2 according to an embodiment of the present disclosure.
[0151] When an execution request for second client application 154-2 is obtained after outputting first capture image 422 including execution result 412 of first client application 154-1 on display 115, host system 130 may determine whether a new virtual display needs to be generated for second client application 154-2.
[0152] As described above, according to an embodiment of the present disclosure, when an execution request for the second client application 154 - 2 is caused from the first client application 154 - 1 , the host system 130 may determine not to generate a new virtual display.
[0153] When the execution request for second client application 154 - 2 is not caused by first client application 154 - 1 , host system 130 may determine to generate a new virtual display.
[0154] like Figure 6 As shown, when the execution request for the second client application 154 - 2 is not caused by the first client application 154 - 1 , the host system 130 may send the execution request for the second client application 154 - 2 and the generation request for the second virtual display 156 - 2 to the virtual machine system 150 .
[0155] The virtual machine system 150 may generate the second virtual display 156-2 according to the generation request for the second virtual display 156-2. The virtual machine system 150 may execute the second client application 154-2 and output the second client window 614 in which the execution result 612 of the second client application 154-2 is arranged on the second virtual display 156-2.
[0156] The virtual machine system 150 may generate a second captured image 622 of the second virtual display 156 - 2 and transmit the second captured image 622 to the host system 130 .
[0157] The host system 130 may output a second host window 624 including the second capture image 622 on the display 115 .
[0158] exist Figure 6 In an embodiment of the present disclosure, a first client window 414 and a second client window 614 are output on a first virtual display 156-1 and a second virtual display 156-2, respectively, and a first host window 424 corresponding to the first client window 414 and a second host window 624 corresponding to the second client window 614 can be output on the display 115.
[0159] according to Figure 5 and Figure 6The embodiment of the present disclosure shown determines that the virtual display and the host window correspond to each other in a one-to-one manner. Even when several client windows are output on one virtual display, several client windows can be included in one host window in the form of images.
[0160] As described above, the host system 130 may include a plurality of client controllers 136 , and each client controller 136 may send an execution request for a client application to the virtual machine system 150 and, when receiving the execution request for the client application, a generation request for a virtual display.
[0161] According to an embodiment of the present disclosure, a plurality of client controllers 136 may correspond to virtual displays respectively. In other words, one client controller 136 may send a request for generating one virtual display to the virtual machine system 150 .
[0162] For example, when a virtual display needs to be generated regardless of another client application due to obtaining an execution request for first client application 154-1, a first client controller among multiple client controllers 136 may send an execution request for first client application 154-1 and a generation request for a virtual display to virtual machine system 150. Externally, since a new virtual display does not need to be generated when an execution request for second client application 154-2 is caused from first client application 154-1, the first client controller may again send an execution request for second client application 154-2 to virtual machine system 150. However, when the execution request for second client application 154-2 is not caused by first client application 154-1, a second client controller different from the first client controller may send an execution request for second client application 154-2 and a generation request for a virtual display to virtual machine system 150.
[0163] In an embodiment, two or more client windows may be output on one virtual display, wherein the two or more client windows may be generated by one client application or by two or more client applications.
[0164] When one client window does not cover the entire area of another client window or the entire area of one client window is not included as part of another client window, the captured image of the virtual display may include the background screen provided by the virtual machine system 150. Such a captured image may result in unnaturalness when output on the display 115. This will be referred to as Figures 7a to 7c Give a description.
[0165] Figure 7a is a diagram showing a screen output on a virtual display according to an embodiment of the present disclosure, and Figure 7bis shown according to an embodiment by capturing Figure 7a a diagram of an image obtained by viewing a screen of a virtual display, and Figure 7c is a diagram showing how to combine an image of a main screen with Figure 7b Figure 3 is a graph of the result of the image combination.
[0166] like Figure 7a As shown, a first client window 714 including an operation result (hereinafter, a first operation result) 712 of the first client application 154-1 and a second client window 734 including an operation result (hereinafter, a second operation result) 732 of the first client application 154-1 or the second client application 154-2 can be output on the first virtual display 156-1. The second client window 734 can cover a partial area of the first client window 714.
[0167] When a rectangular area including first client window 714 and second client window 734 is captured for generating a first captured image to be sent to host system 130, rectangular image 750 includes a partial area of first operation result 712, an entire area of second operation result 732, and an area 755 in which first operation result 712 and second operation result 732 are not located, as shown in FIG. Figure 7b shown.
[0168] When the image of the background screen provided by the virtual machine system 150 is included in the area 755 where the first and second execution results 712 and 732 are not located, the image of the background screen is output by the display 115, and thus the user may recognize the execution result of the client application as having an error or may feel unnatural.
[0169] Therefore, if Figure 7c As shown, the virtual machine system 150 may generate a first captured image 770 by combining a partial image 775 of the main screen provided by the host system 130 with an area of the rectangular image 750 where the first and second operating results 712 and 732 are not located.
[0170] Here, the partial image 775 of the main screen combined with the rectangular image 750 is only an example, and the virtual machine system 150 may combine a portion of the background image in which the first host window including the first capture image is to be arranged with the rectangular image 750 .
[0171] The virtual machine system 150 may transmit the first capture image 770 to the host system 130 , and the host system 130 may output a first host window including the first capture image 770 on the display 115 , and thus the user may recognize the execution result of the client application as if the host application had been executed.
[0172] exist Figure 7a , even when one client window does not cover a portion of the other client window among first client window 714 and second client window 734, that is, even when first client window 714 and second client window 734 do not overlap each other, the rectangular image including first client window 714 and second client window 734 may include the image of the background screen provided by virtual machine system 150. For example, when second client window 734 is located at the lower right of first client window 714, first client window 714 and second client window 734 do not overlap each other, but the rectangular image including first client window 714 and second client window 734 may include the image of the background screen provided by virtual machine system 150.
[0173] In this case, the virtual machine system 150 can generate a first captured image by combining a partial image of the main screen provided by the host system 130 with an area of the rectangular image in which the first client window 714 (or the first execution result 712) and the second client window 734 (or the second execution result 732) are not located.
[0174] Figure 8a is shown according to an embodiment by capturing Figure 7a The image 850 is obtained by viewing the screen of the first virtual display 156-1, and Figure 8b is a diagram showing the partial image 875 of the main screen and Figure 8a FIG. 850 is a diagram of the result of the combination.
[0175] like Figure 8a As shown, the virtual machine system 150 can be cut in Figure 7a The first client window 714 and the second client window 734 are output on the first virtual display 156 - 1 as shown. The image 850 generated by cropping may include a partial area of the first operation result 712 and the entire area of the second operation result 732 .
[0176] The image 850 obtained by cropping is not rectangular, and thus the virtual machine system 150 can generate a rectangular first captured image 870 by combining a partial image 875 of the main screen provided by the host system 130 with the peripheral area of the image 850 generated by cropping, as shown in FIG. Figure 8b shown.
[0177] The virtual machine system 150 may send the first captured image 870 to the host system 130 for output on the display 115 .
[0178] Fig. 9is a diagram illustrating operations of the host system 130 and the virtual machine system 150 according to an embodiment of the present disclosure.
[0179] Fig. 9 The operations of the host system 130 and the virtual machine system 150 shown may be performed according to the control of the electronic device 100 .
[0180] refer to Fig. 9 , the host system 130 obtains an execution request for a client application (operation S910).
[0181] The host system 130 may obtain an execution request for the client application according to a user input on the main screen. According to an embodiment of the present disclosure, an execution request for the client application may be obtained from another host application or another client application.
[0182] The host system 130 determines whether the execution request for the client application is caused by another client application (operation S920).
[0183] The execution request for the client application caused by another client application may mean, for example, that another client application requests the execution of the client application according to a user input on the other client application or according to a function of the other client application.
[0184] When the execution request for the client application is not caused by another client application, the host system 130 sends a request for generating a virtual display to the virtual machine system 150 (operation S930), and the virtual machine system 150 generates a virtual display corresponding to the client application according to the request of the host system 130 (operation S940).
[0185] The host system 130 transmits an execution request for the client application to the virtual machine system 150 (operation S950 ).
[0186] When a request to execute the client application is caused from another client application, the steps of sending a request to generate a virtual display to the virtual machine system 150 (operation S930) and generating a virtual display by the virtual machine system 150 (operation S940) may not be performed. In this case, a virtual display corresponding to the other client application may have already been generated in the virtual machine system 150.
[0187] The virtual machine system 150 runs the client application requested to run by the host system 130 (operation S960), and outputs the running result of the client application on the virtual display (operation S970). When the running request for the client application is not caused by another client application, the running result of the client application can be output on the virtual display generated in operation S940. When the running request for the client application is caused by another client application, the running result of the client application can be output on the previously generated virtual display.
[0188] The virtual machine system 150 generates a capture image of the screen of the virtual display (operation S980 ), and transmits the capture image to the host system 130 (operation S990 ).
[0189] The host system 130 outputs the captured image on the display 115 (operation S995). The host system 130 may output a host window including the captured image on the display 115.
[0190] Hereinafter, the configuration of the electronic device 100 will be described.
[0191] Fig.10 is a diagram of a configuration of an electronic device 100 according to an embodiment of the present disclosure.
[0192] refer to Fig.10 , the electronic device 100 may include a communicator 1010 , a receiver 1020 , a display 1030 , a memory 1040 , a controller 1050 , a reproducer 1060 , an audio processor 1070 , an audio output unit 1080 , and a detector 1090 .
[0193] The communicator 1010 may include one or more modules that implement wireless communication between the electronic device 100 and a wireless communication system or between the electronic device 100 and another electronic device. For example, the communicator 1010 may include a mobile communication module 1011, a wireless Internet module 1012, and a short-range communication module 1013.
[0194] The mobile communication module 1011 can transmit or receive wireless signals to or from at least one of a base station, an external terminal or a server on a mobile communication network. The wireless signals may include various types of data according to the exchange of voice call signals, image call signals or text / multimedia messages.
[0195] The wireless Internet module 1012 represents a module for wireless Internet access, and can be provided inside or outside the electronic device 100. Wireless Internet technologies may include wireless local area network (WLAN), wireless broadband (Wibro), world interoperability for microwave access (Wimax), and high-speed downlink packet access (HSDPA). The wireless Internet module 1012 can connect the electronic device 100 to another device via a Wi-Fi peer-to-peer (P2P) connection.
[0196] The short-range communication module 1013 refers to a module for short-range communication. Short-range communication technologies may include Bluetooth, Bluetooth Low Energy (BLE), Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), and ZigBee.
[0197] The receiver 1020 may receive video (e.g., moving images), audio (e.g., voice or music), and additional information (e.g., electronic program guide (EPG)) from the outside of the electronic device 100 under the control of the controller 1050. The receiver 1020 may include one or a combination of a high-definition multimedia interface (HDMI) port 1021, a component jack 1022, a PC port 1023, and a universal serial bus (USB) port 1024. In addition to the HDMI port 1021, the receiver 1020 may further include a display port (DP), thunderbolt, and a mobile high-definition link (MHL).
[0198] The reproducer 1060 may process an image signal received from the receiver 1020 or the communicator 1010 according to the control of the controller 1050 and output it on the display 1030 .
[0199] The display 1030 may display the image signal received from the reproducer 1060 on a screen.
[0200] The audio processor 1070 may convert an audio signal received from the receiver 1020 or the communicator 1010 into an analog audio signal according to the control of the controller 1050 , and output it to the audio output unit 1080 .
[0201] The audio output unit 1080 may output the received analog audio signal through a speaker.
[0202] The detector 1090 detects a user's voice, a user's image, or a user's interaction, and may include a microphone, a camera, and a light receiver.
[0203] The microphone receives a voice uttered by the user. The microphone may convert the received voice into an electrical signal and output the electrical signal to the controller 1050. The camera may receive an image (e.g., continuous frames) corresponding to the user's motion including a gesture within the camera recognition range. The optical receiver receives an optical signal (including a control signal) received from the remote control device. The optical receiver may receive an optical signal corresponding to a user input (e.g., touch, press, touch gesture, voice, or motion) from the remote control device.
[0204] The memory 1040 may store programs related to the operation of the electronic device 100 and various types of data generated during the operation of the electronic device 100 .
[0205] According to an embodiment of the present disclosure, the memory 1040 may store programs for implementing the host system 130 and implementing the virtual machine system 150 .
[0206] In an embodiment, according to the specification of the electronic device 100 actually implemented, the Fig.10 Components of the block diagram may be added or omitted. In other words, when necessary, two or more components may be integrated into one component or one component may be divided into two or more components. In addition, the functions executed by each block are only used to describe the embodiments of the present disclosure, and specific operations or devices do not limit the scope of rights of the present disclosure.
[0207] In an embodiment, the electronic device 100 and a method of executing an application in a multi-OS environment by the electronic device 100 enable a user to easily execute a client application.
[0208] In an embodiment, the electronic device 100 and the method of executing an application in a multi-OS environment by the electronic device 100 prevent a user from knowing the operating state of a client OS.
[0209] In an embodiment, the electronic device 100 and the method of executing an application in a multi-OS environment by the electronic device 100 provide the user with the execution result of the client application in the client OS environment as in the host OS environment.
[0210] Technical problems to be achieved in the present disclosure are not limited to the above-mentioned technical problems, and other technical problems not mentioned will be clearly understood from the following description by ordinary technicians in the technical field to which the present disclosure belongs.
[0211] According to an embodiment of the present disclosure, a method for executing an application performed by an electronic device 100 including a host system 130 and a virtual machine system 150 may include obtaining, through the host system 130 , an execution request for a first client application installed in the virtual machine system 150 .
[0212] According to an embodiment of the present disclosure, the method may include sending, from the host system 130 to the virtual machine system 150 , a request to execute the first client application and a request to generate the first virtual display 156 - 1 corresponding to the first client application.
[0213] According to an embodiment of the present disclosure, the method may include outputting the running result of the first client application on the first virtual display 156 - 1 generated according to the generation request.
[0214] According to an embodiment of the present disclosure, the method may include sending a first captured image of a screen of the first virtual display 156 - 1 from the virtual machine system 150 to the host system 130 .
[0215] According to an embodiment of the present disclosure, the method may include outputting the first captured image on the display 115 or 1030 of the electronic device 100 through the host system 130 .
[0216] According to an embodiment of the present disclosure, the method may further include outputting a second captured image of the screen of the second virtual display 156-2 on the display 115 or 1030 through the host system 130, and the running result of the second client application is output on the second virtual display 156-2, wherein the first captured image may be included in the first host window, and the second captured image is included in the second host window.
[0217] According to an embodiment of the present disclosure, the second client application may be executed by a user's input with respect to a main screen output on the display 115 or 1030 .
[0218] According to an embodiment of the present disclosure, the method may further include: receiving a user input regarding the first capture image output on the display 115 or 1030 .
[0219] According to an embodiment of the present disclosure, the method may further include sending a running request for the second client application from the host system 130 to the virtual machine system 150 when the second client application needs to be run according to the user's input.
[0220] According to an embodiment of the present disclosure, the method may further include outputting, through the virtual machine system 150 , the running result of the second client application on the first virtual display 156 - 1 .
[0221] According to an embodiment of the present disclosure, the method may further include sending an updated first captured image of the screen of the first virtual display 156-1 from the virtual machine system 150 to the host system 130, and the running results of the first client application and the running results of the second client application are output on the first virtual display 156-1.
[0222] According to an embodiment of the present disclosure, the method may further include outputting the updated first captured image on the display 115 or 1030 through the host system 130 .
[0223] According to an embodiment of the present disclosure, a first client window including the running result of the first client application and a second client window including the running result of the second client application can be output on the first virtual display 156-1, and a first host window including the updated first captured image can be output on the display 115 or 1030.
[0224] According to an embodiment of the present disclosure, an updated first capture image may be generated by combining a partial image of a main screen provided by the host system 130 with an area where the first and second client windows are not arranged among a rectangular image including the first and second client windows.
[0225] According to an embodiment of the present disclosure, obtaining a request to execute a first client application may include outputting an application list of at least one host application installed in the host system 130 and at least one client application installed in the virtual machine system 150 on a display 115 or 1030 through the host system 130, and obtaining a request to execute the first client application when a user selects the first client application from the application list.
[0226] According to an embodiment of the present disclosure, a method for running an application performed by an electronic device 100 including a host system 130 and a virtual machine system 150 includes: obtaining input of selecting a first client application installed in the virtual machine system 150 from a screen output on a display 115 or 1030 of the electronic device 100 through the host system 130.
[0227] According to an embodiment of the present disclosure, the method includes outputting, on the display 115 or 1030 , a first captured image including a running result of the first client application through the host system 130 .
[0228] According to an embodiment of the present disclosure, the first capture image may be a capture image of the screen of the first virtual display 156 - 1 on which the execution result of the first client application is output.
[0229] According to an embodiment of the present disclosure, the electronic device 100 includes a host system 130, a virtual machine system 150, a display 115 or 1030, and at least one memory storing at least one instruction, wherein, when the at least one instruction is executed by the electronic device 100, the electronic device 100 is configured to obtain, through the host system 130, an execution request for a first client application installed in the virtual machine system 150.
[0230] According to an embodiment of the present disclosure, when at least one instruction is executed by the electronic device 100, the electronic device 100 is configured to send a running request for a first client application and a generation request for a first virtual display 156-1 corresponding to the first client application from the host system 130 to the virtual machine system 150.
[0231] According to an embodiment of the present disclosure, when at least one instruction is executed by the electronic device 100, the electronic device 100 is configured to output the execution result of the first client application on the first virtual display 156-1 generated according to the generation request.
[0232] According to an embodiment of the present disclosure, when at least one instruction is executed by the electronic device 100 , the electronic device 100 is configured to send a first captured image of the screen of the first virtual display 156 - 1 from the virtual machine system 150 to the host system 130 .
[0233] According to an embodiment of the present disclosure, when at least one instruction is executed by the electronic device 100 , the electronic device 100 is configured to output the first capture image on the display 115 or 1030 through the host system 130 .
[0234] According to an embodiment of the present disclosure, when at least one instruction is executed by the electronic device 100, the electronic device 100 may also be configured to output a second captured image of the screen of the second virtual display 156-2 on the display 115 or 1030 through the host system 130, and the running result of the second client application is output on the second virtual display 156-2, wherein the first captured image may be included in the first host window and the second captured image is included in the second host window.
[0235] According to an embodiment of the present disclosure, when at least one instruction is executed by the electronic device 100 , the electronic device 100 may be further configured to receive a user input regarding the first capture image output on the display 115 or 1030 .
[0236] According to an embodiment of the present disclosure, when at least one instruction is executed by the electronic device 100, the electronic device 100 may also be configured to send an execution request for the second client application from the host system 130 to the virtual machine system 150 when the second client application needs to be executed according to user input.
[0237] According to an embodiment of the present disclosure, when at least one instruction is executed by the electronic device 100 , the electronic device 100 may also be configured to output the execution result of the second client application on the first virtual display 156 - 1 through the virtual machine system 150 .
[0238] According to an embodiment of the present disclosure, when at least one instruction is executed by the electronic device 100, the electronic device 100 can also be configured to send an updated first captured image of the screen of the first virtual display 156-1 from the virtual machine system 150 to the host system 130, and the running results of the first client application and the running results of the second client application are output on the first virtual display 156-1.
[0239] According to an embodiment of the present disclosure, when at least one instruction is executed by the electronic device 100 , the electronic device 100 may also be configured to output an updated first captured image on the display 115 or 1030 through the host system 130 .
[0240] According to an embodiment of the present disclosure, a first client window including the running results of a first client application and a second client window including the running results of a second client application may be output on a first virtual display 156-1, and a first host window including an updated first captured image may be output on display 115 or 1030.
[0241] According to an embodiment of the present disclosure, an updated first capture image may be generated by combining a partial image of a main screen provided by the host system 130 with an area where the first and second client windows are not arranged among a rectangular image including the first and second client windows.
[0242] According to an embodiment of the present disclosure, when at least one instruction is executed by the electronic device 100, the electronic device 100 can also be configured to output an application list of at least one host application installed in the host system 130 and at least one client application installed in the virtual machine system 150 on the display 115 or 1030 through the host system 130, and when a user selects a first client application from the application list, obtain a running request for the first client application.
[0243] According to an embodiment, the electronic device 100 includes a host system 130, a virtual machine system 150, a display 115 or 1030, and at least one memory storing at least one instruction, wherein, when the at least one instruction is executed by the electronic device 100, the electronic device 100 is configured to obtain input of selecting a first client application installed in the virtual machine system 150 from a main screen output on the display 115 or 1030 through the host system 130.
[0244] According to an embodiment of the present disclosure, when at least one instruction is executed by the electronic device 100 , the electronic device 100 is configured to output a first captured image including an execution result of the first client application on the display 115 or 1030 through the host system 130 .
[0245] According to an embodiment of the present disclosure, the first capture image may be a capture image of the screen of the first virtual display 156 - 1 on which the execution result of the first client application is output.
[0246] According to an embodiment of the present disclosure, the electronic device 100 and a method of executing an application in a multi-OS environment by the electronic device 100 enable a user to easily execute a client application.
[0247] In an embodiment, the electronic device 100 and the method of executing an application in a multi-OS environment by the electronic device 100 prevent a user from knowing the operating state of a client OS.
[0248] In an embodiment, the electronic device 100 and the method of executing an application in a multi-OS environment by the electronic device 100 provide the user with the execution result of the client application in the client OS environment as in the host OS environment.
[0249] Effects obtainable from the present disclosure are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood from the description by those having ordinary skill in the art to which the present disclosure pertains.
[0250] The above-described embodiments of the present disclosure and their variations may be written as computer-executable programs that may be stored in a machine-readable storage medium.
[0251] The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, "non-transitory storage medium" refers only to a tangible device and does not include signals (e.g., electromagnetic waves). The term does not distinguish between a case where data is semi-permanently stored in a storage medium and a case where data is temporarily stored in a storage medium. For example, a "non-transitory storage medium" may include a buffer that temporarily stores data.
[0252] The method according to various embodiments disclosed in this specification may be provided by being included in a computer program product. A computer program product is a product that can be traded between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disk read-only memory (CD-ROM)), or distributed (e.g., downloaded or uploaded) between two user devices (e.g., smart phones) through an application store or directly or online. In the case of online distribution, at least a portion of the computer program product (e.g., a downloadable application) may be at least temporarily generated or temporarily stored in a machine-readable storage medium, such as a memory of a manufacturer's server, an application store's server, or a relay server.
[0253] Although certain embodiments of the present disclosure have been described with reference to the drawings, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope defined by the appended claims and their equivalents.
Claims
1. A method for running an application executed by an electronic device (100) including a host system (130) and a virtual machine system (150), the method comprising: Obtaining, through the host system (130), a first execution request for a first client application installed in the virtual machine system (150); Sending the first execution request and a generation request for a first virtual display (156-1) corresponding to a first client application from a host system (130) to a virtual machine system (150); Outputting a first running result of a first client application on a first virtual display (156-1) generated based on the generation request; Sending a first captured image of a first virtual display (156-1) from the virtual machine system (150) to the host system (130); as well as The first captured image is output on a display (115; 1030) of the electronic device (100) via a host system (130).
2. The method according to claim 1, further comprising: on a display (115; 1030), a second captured image of the second virtual display (156-2) is outputted on the second virtual display (156-2), and a second running result of the second client application is outputted on the second virtual display (156-2), Wherein, the first captured image is included in the first host window, and the second captured image is included in the second host window.
3. The method according to any one of claims 1 and 2, wherein: The second client application is executed based on a user input corresponding to the second client application on the main screen output on the display (115; 1030).
4. The method according to any one of claims 1 to 3, further comprising: Receive and display (115; 1030) outputting a user input corresponding to the first captured image; Based on user input corresponding to the second client application, sending a second execution request corresponding to the second client application from the host system (130) to the virtual machine system (150); Outputting a second operation result on a first virtual display (156-1) through a virtual machine system (150); Sending an updated first captured image of a first virtual display (156-1) from the virtual machine system (150) to the host system (130), and outputting a first operation result and a second operation result on the first virtual display (156-1); as well as on a display (115; 1030) outputs the updated first captured image.
5. The method according to any one of claims 1 to 4, wherein: A first client window including a first execution result and a second client window including a second execution result are output on a first virtual display (156-1), and Therein, a first host window including the updated first captured image is output on the display (115; 1030).
6. The method according to any one of claims 1 to 5, wherein: An updated first captured image is generated by combining a partial image of a main screen provided by a host system (130) and an area where the first client window and the second client window are not arranged among a rectangular image including the first client window and the second client window.
7. The method according to any one of claims 1 to 6, wherein: Obtaining a first execution request for a first client application includes: Outputting, via the host system (130), on a display (115; 1030) an application list of at least one host application installed in the host system (130) and at least one client application installed in the virtual machine system (150); and The first execution request is obtained based on the first client application being selected from the application list by a user input corresponding to the first client application.
8. A method for running an application executed by an electronic device (100) comprising a host system (130) and a virtual machine system (150), the method comprising: From the display (115) of the electronic device (100) via the host system (130); 1030) screen obtains input for selecting a first client application to be installed in the virtual machine system (150); as well as on a display (115; 1030) outputs a first captured image including the running result of the first client application, The first captured image is a captured image of the first virtual display (156-1), and the running result of the first client application is output on the first virtual display (156-1).
9. An electronic device (100), comprising: Host system (130); A first virtual machine system (150); Display(115; 1030); at least one memory storing at least one instruction; as well as At least one processor configured to execute at least one instruction to: Obtaining, through the host system (130), a first execution request for a first client application installed in a first virtual machine system (150); Sending a first execution request and a generation request for a first virtual display (156-1) corresponding to a first client application from a host system (130) to a first virtual machine system (150); Outputting a first running result of a first client application on a first virtual display (156-1) generated based on the generation request; Sending a first captured image of a first virtual display (156-1) from a first virtual machine system (150) to a host system (130); as well as The first captured image is output on a display (115; 1030) via a host system (130).
10. The electronic device (100) according to claim 9, wherein: The at least one processor is further configured to execute at least one instruction to: outputting a second captured image of a second virtual display (156-2) on a display (115; 1030) through a host system (130), and outputting a second running result of a second client application on the second virtual display (156-2), Wherein, the first captured image is included in the first host window, and the second captured image is included in the second host window.
11. The electronic device (100) according to any one of claims 9 and 10, wherein: The at least one processor is further configured to execute at least one instruction to: Receive user's request on the display (115; 1030) input of a first captured image outputted on the display; When the second client application needs to be run according to the user's input, a run request for the second client application is sent from the host system (130) to the first virtual machine system (150); Outputting a second running result of a second client application on a first virtual display (156-1) through the first virtual machine system (150); Sending an updated first captured image of a first virtual display (156-1) from a first virtual machine system (150) to a host system (130), a first running result of a first client application and a second running result of a second client application being output on the first virtual display (156-1); as well as on a display (115; 1030) outputs the updated first captured image.
12. The electronic device (100) according to any one of claims 9 to 11, wherein: The at least one processor is further configured to execute at least one instruction to: outputting a first client window including a first execution result and a second client window including a second execution result on a first virtual display (156-1), and A first host window including the updated first captured image is output on a display (115; 1030).
13. The electronic device (100) according to any one of claims 9 to 12, wherein: The at least one processor is further configured to execute at least one instruction to: An updated first captured image is generated by combining a partial image of a main screen provided by a host system (130) and an area where the first client window and the second client window are not arranged among a rectangular image including the first client window and the second client window.
14. The electronic device (100) according to any one of claims 9 to 13, wherein: The at least one processor is further configured to execute at least one instruction to: Outputting, via the host system (130), on a display (115; 1030) an application list of at least one host application installed in the host system (130) and at least one client application installed in the first virtual machine system (150); as well as A first execution request is obtained based on selecting a first client application from the application list through a user input corresponding to the first client application.
15. The method according to any one of claims 1 to 7, wherein: Sending a first operation request and a generation request from the host system (130) to the virtual machine system (150) includes: A first run request and a generate request are sent from a host system (130) to a virtual machine system (150) through a client controller corresponding to a virtual machine system (150) from among a plurality of client controllers each corresponding to a different virtual machine system on an electronic device.