EP2819007A1 - Method for managing an application running on an operating system from another operating system - Google Patents
Method for managing an application running on an operating system from another operating system Download PDFInfo
- Publication number
- EP2819007A1 EP2819007A1 EP13305925.3A EP13305925A EP2819007A1 EP 2819007 A1 EP2819007 A1 EP 2819007A1 EP 13305925 A EP13305925 A EP 13305925A EP 2819007 A1 EP2819007 A1 EP 2819007A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- application
- hypervisor
- executed
- electronic device
- message
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Definitions
- the invention relates generally to the field of virtual machines and more specifically to the execution of an application designed for an Operating System (OS) accessed through the user interface of another OS.
- OS Operating System
- Hardware virtualization or platform virtualization refers to the creation of a virtual machine that acts like a real computer with an operating system (OS).
- OS operating system
- Software executed on these virtual machines is separated from the underlying hardware resources.
- the host machine is the actual machine on which the virtualization takes place, and the guest machine is the virtual machine.
- the words host and guest are used to distinguish the software that runs on the physical machine from the software that runs on the virtual machine.
- the software or firmware that creates and manages a virtual machine on the host hardware is called a hypervisor or Virtual Machine Manager (Wikipedia).
- a virtual machine (VM) is a software implemented abstraction of the underlying hardware, which is presented to the application layer of the system. Virtual machines may be based on specifications of a hypothetical computer or emulate the computer architecture and functions of a real world computer. Virtual machines are separated or isolated one from the others.
- a virtual machine provides a system platform which supports the execution of an operating system (OS) by emulating hardware architecture.
- OS operating system
- Using Multiple OS environments can co-exist on the same computer, in strong isolation from each other.
- a hypervisor or virtual machine monitor is a piece of computer software, firmware or hardware that creates and runs virtual machines, managing the different OS.
- An electronic device on which a hypervisor is running one or more virtual machines is defined as a host machine.
- Each virtual machine is called a guest machine.
- the hypervisor presents the guest operating systems with a virtual operating platform and manages the execution of the guest operating systems.
- multiple instances of a variety of operating systems, each hosted on a virtual machine may share the virtualized hardware resources ( Wikipedia ).
- Hypervisor or VMM Virtual Machine Monitor
- hypervisor Type 1 runs directly on the host's hardware to control the hardware and to manage guest operating systems (more precisely, the virtual machines hosting - executing - said guest OS).
- Hypervisor Type 1 can be seen as an interface layer between the different virtual machines and the hardware layer.
- Hypervisor Type 2 runs within a conventional operating system environment. In other words, a hypervisor Type 2 is executed in an OS and has no direct access to the hardware layer.
- Both hypervisor Type 1 and hypervisor Type 2 trap the instructions sent by the applications or OS layer and allocate resources of underlying hardware accordingly, either directly or through another OS.
- a typical use case of hypervisor in mobile phones is to allow corporate BYOD (Bring your own device) policy.
- Such mobile phones, or more generally electronic device would be called hereafter dual persona phone, as such phones conciliate business and private environments.
- dual persona phone, or more generally in dual persona electronic device two OS can be run in the same electronic device.
- BYOD policy an employee does not have to manage two different electronic devices. That is to say, an employee does not need to manage one phone provided by the company and another private phone. Rather a secure OS is installed jointly with another OS on the electronic device or phone.
- This secure OS is controlled by the corporate IT department and, through the use of the hypervisor to run the two OS, becomes a corporate phone.
- the data storage and the installation of an application on the secure OS can be controlled by the IT department of the enterprise implementing the secure use of BYOD electronic device according to the company policy.
- the user is free to use the other OS according to needs, knowing that any malware or virus that may affect this OS will not affect the secure OS, thus will not endanger company security.
- the electronic device or phone, through the secure OS running on it corresponds to security policy set by the company.
- the user has to switch from one environment to another according to his need. This means that the user has to switch from the non secure OS to the secure OS - and vice versa - to be able to use the enterprise or the personal OS - that is to say the different applications installed in the two OS - on the phone. This could be seen as a regression for a user used to access all its application from a same OS.
- the complexity of switching between two OS may drive back users from such solution, especially if the user interfaces of the two OS are different as the user needs to learn and use two user interface logics, knowing that sometimes the user interface logics of two OS may be quite different or even contradictory. This could be quite an issue for a user to switch continuously between two different user interface logic, especially if one of the two OS is not used very often so the user may not be able to get the good habits.
- Present system relates to a hypervisor intermediate layer executed by an electronic device and interfaced with at least two operating systems (OS) with means to receive a message from a first OS, said message comprising an indication on an application to be executed in a second OS, send a message to the second OS, the message comprising a request to execute the application according to preset execution parameters, receive a message from the second OS comprising an indication that the application is being executed in a Graphical User Interface of the second OS according to the preset execution parameters and send to a hardware layer of the electronic device a command to display the second OS Graphical User Interface.
- OS operating systems
- This system advantageously improves the user experience by masking the complexity of managing a second OS installed on an electronic device, allowing an application of the second OS to be launched from the first OS and hiding to the user the mechanism of switching between a first and a second OS.
- a user with an electronic device with two OS, a first OS dedicated for personal application, and a second OS for business applications may launch business applications (that is to say applications installed on the second OS) seamlessly from the first OS (or personal OS).
- the present system also relates to an electronic device comprising a display screen and executing a hypervisor intermediate layer interfaced to at least two operating systems (OS), the electronic device displaying a Graphical User Interface of a first OS on the display screen, the hypervisor intermediate layer with means to receive a message from the first OS, said message comprising indication on an application to be executed in a second OS environment, send a command to the application manager of the second OS to execute the application, the command comprising execution parameters, receive from the application manager of the second OS an indication that the application is being executed according to requested parameters and send to the hardware layer a command to display the second OS output display on the electronic device display screen.
- OS operating systems
- one object of the invention concerns a computer program, in particular computer programs on or in an information medium or memory, suitable for implementing the method for managing an application executed in an OS from a first OS object of the invention.
- These programs can use any programming language, and be in the form of source code, binary code, or of code intermediate between source code and object code such as in a partially compiled form, or in any other desirable form for implementing the methods according to the invention.
- the information medium may be any entity or device capable of storing the program.
- the medium can comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or else a magnetic recording means, for example a diskette (floppy disk) or a hard disk.
- a method can be implemented via applications or computer programs executed by an electronic device such as the electronic device 400 described in FIG. 4 .
- the electronic device does something
- an application executed on the electronic device does something, the application being executed in an OS running on the electronic device.
- a hypervisor layer can create and manage various virtual machines.
- a virtual machine is a software implementation of a machine (hence "virtual") executing an operating system (OS).
- OS operating system
- notion of OS and virtual machine may be indifferently used, considering that there is a one-to-one relation between an OS and the virtual machine executing or hosting the same OS.
- an electronic device i. e. by the processor 430 of the electronic device 400 may run a hypervisor layer and host several virtual machines, each virtual machine hosting a different OS, each one being called guest OS.
- FIG. 4 is an illustration of an exemplary electronic device 400 used in the present system.
- the electronic device 400 comprises at least a display element or screen 410, a processor or Central processing unit (CPU) 430, a video controller element 420, possibly a memory element 440 and different hardware element 45N.
- Hardware element or module 45N maybe any type of hardware element or module such as a hard drive, a network element, an input element (such as a keyboard, touch panel, microphone and so on) or any hardware commonly found in an electronic device such as, for example, but not limited to, a mobile device, a tablet, a phone or a laptop.
- the electronic device may comprise several hardware modules such as hardware module 45N, either similar (for example various hard drive) or distinct hardware module (hard drive, network elements, input elements, and so on).
- the processor or CPU 430 can execute any applications or computer programs according to the embodiments of the present system.
- processor 430 may comprise various processors or rely on distributed processor elements, possibly linked via a network element (hardware module 45N).
- the CPU 430 executes a hypervisor layer, such a hypervisor layer managing different virtual machines executing or hosting different OS. It is to be noted that a same OS may be executed by different virtual machine, but in this case, they would be different instances and totally separated versions of the OS and thus will be considered as different OS hereafter.
- the RAM (Random Access Memory) element 440 may be shared by any applications executed by the processor 430, which include applications such as the hypervisor layer and the different virtual machines, even if the virtual machine may access the RAM 440 through the hypervisor layer.
- the video controller 420 can also be called a video card, a video adapter, a display card, a graphics card, a graphics board, a display adapter or a graphics adapter according to the context, this list of name being non limitative.
- Such video controller generates a feed of output images to the display 410 according to inputs instructions or data provided by the processor 430.
- An OS executed on the processor 430 may display via the video controller 420 a Graphical user Interface (GUI) on the display 410.
- GUI Graphical user Interface
- the OS may be executed directly by the processor, or may be hosted on a virtual machine available among various one, said virtual machine being executed by the processor and managed by the hypervisor layer.
- the video controller may display any video or feed of output image from any OS, according to instructions received from the hypervisor layer, meaning from the processor 430.
- the hypervisor layer controls which OS Graphical User Interface is displayed on the display or screen 410.
- Video controller 420, RAM element 440, the CPU 430 and the different hardware module 45N are called the hardware layer of the electronic device 400.
- Such layer supports the execution of software such as the OS, the hypervisor layer or any application run by the processor 430, either directly, or virtually through a virtual machine.
- FIG. 1 is an illustration of a known hypervisor layer software.
- Device hardware 150 represents the different hardware elements or modules of an electronic device such as electronic device 400.
- Hypervisor 100 represents the hypervisor layer software executed by the processor 430.
- OS1 and OS2 may be for example OS such as Windows XPTM, Windows 8TM, AndroidTM, iOSTM, GNU/Linux or any other OS.
- OS1 and OS2 are guest OS.
- the hypervisor layer main role is to manage the two different virtual machines hosting OS1 and OS2.
- Element 110 represents the Graphical User Interface (GUI) of OS1.
- GUI Graphical User Interface
- the GUI of OS1 displays three icons or short cuts 111, 112 and 113 giving respectively access to three applications of OS1: "Personal calls” (111), "personal messaging” (112) and "Personal application” (113).
- 111 Personal calls
- 111 Personal messaging
- 113 Personal application
- the icons can be seen as shortcuts to the execution of an application. Indeed, by selecting one of the three icons, a user may launch the associated application. In other words, selecting icon 112 launches "personal messaging" application. It should be reminded that here the applications associated to icons 111, 112 and 113 are executed by the OS1.
- Element 120 represents the Graphical user Interface of OS2. Similarly to description of element 110, icons 121, 122 and 123 are respectively associated to three applications of OS2: "Enterprise calls” (121), “secure meeting” (122) and “company payment” (123).
- the video controller of the electronic device 400 illustrated in FIG. 1 may render on the display element 410 either the GUI of OS1 or the GUI of OS2, depending on instructions provided by the hypervisor layer.
- OS1 and OS2 are two totally separate instances, each one being hosted within its own virtual machine. Virtualization technologies give the illusion for OS1 or OS2 that it is executed on a real hardware platform, whereas in fact a virtual hardware layer (comprising among others virtual elements a virtual display) is managed by the hypervisor layer. Consequently, the two OS have the illusion that they are executed on two separate electronic devices when they are in fact sharing same hardware elements of electronic device 400. The sharing of the only display 410 of the electronic device between the two OS is managed by the hypervisor layer.
- Each OS renders a different GUI to its virtual display and the hypervisor layer may decide which one of the two virtual displays should be displayed on the display 410.
- the hypervisor layer may decide which one of the two virtual displays should be displayed on the display 410.
- the hypervisor layer may decide which one of the two virtual displays should be displayed on the display 410.
- the hypervisor layer may decide which one of the two virtual displays should be displayed on the display 410.
- the hypervisor layer may decide which one of the two virtual displays should be displayed on the display 410.
- the hypervisor layer may decide which one of the two virtual displays should be displayed on the display 410.
- FIG. 2 shows an exemplary illustration of an electronic device in accordance with an embodiment of the present system.
- FIG. 2 represents the same schematic electronic device of FIG. 1 implementing one embodiment of the present system. Elements 2xx of FIG. 2 are similar to elements 1xx of FIG. 1 .
- Hypervisor layer 200 similar to hypervisor layer 100 of FIG. 1 is modified in order to integrate a hypervisor intermediate layer 201.
- hypervisor intermediate layer 201 allows controlled communication between OS1 and OS2.
- icons 221, 222 and 223 corresponding to icons 111, 112 and 113 of FIG.1 ) associated to applications of OS2 and displayed on OS2 GUI are also displayed on OS1 GUI as icons 231, 232 and 233.
- OS2 applications associated to these icons are directly accessible from OS1 by selecting a given icon. Indeed, as the icons associated to OS2 applications are displayed on OS1 GUI, a user may directly select these icons without having to first switch to OS2 like in the situation of FIG. 1 .
- an application of OS2 selected from OS1 using the previously described icons 231, 232 or 233 may be executed in a full screen mode.
- the user may not be conscious that the selected application of OS2 is currently executed in another OS than OS1. This will hide the complexity of managing two OS to the user.
- a security policy may be implemented within the intermediate hypervisor layer in order to control or filter communications between OS1 and OS2.
- such security policy may be managed remotely by the network operator.
- FIG. 3 shows an exemplary flowchart for managing an application running on an operating system from another operating system according to an embodiment of the present system.
- a hypervisor layer and at least two virtual machines should be installed on the electronic device.
- This step could be performed during the configuration of the electronic device by the device maker, or later, possibly remotely, by the network operator in case of a mobile device.
- an enterprise IT department may also install the necessary software on the company fleet of devices.
- IT department may install the necessary softwares on each personal devices of the employees.
- the IT department may control one of the two OS, which will be called the secure OS, while imposing no security restriction on the other OS, called personal OS. Secure OS would correspond to OS2 of FIG. 2 while personal OS would correspond to OS1 of FIG. 2 .
- the IT department may install on the secure OS (OS2) any company applications such as "Enterprise calls” (221), “secure meeting” (222) or “company payment” (223) applications as illustrated in FIG. 2 element 220.
- OS2 secure OS
- IT department may install, either manually or automatically, icons or shortcuts of previously installed applications on the Graphical User Interface of the personal OS (OS1).
- icons or shortcuts could be considered as "dummy” icons as they are displayed on the GUI of the personal OS (OS1) but are associated to applications of the secure OS (OS2).
- the hypervisor intermediate layer may be seen from the personal and secure OS as specific software like a device driver. That is to say that a specific device driver should be installed on the OS by the IT department.
- hypervisor intermediate layer could be seen from the point of view of an OS as a virtual device accessed through the installed device driver.
- the hypervisor layer sends an instruction to the video controller 420 to display the Graphical User Interface of OS1.
- the display or screen 410 displays the GUI of OS1 as illustrated in FIG. 2 element 210.
- the user of the electronic device may select one of the six icons 211, 212, 213, 231, 232 or 233 displayed on the GUI of the personal OS (OS). If the user selects one of the icons 211, 212 or 213, the personal OS (OS1) will execute an application associated to the selected icon (in short, a personal application) according to known behavior of a Graphical User Interface. But in order to access a business application (i. e.
- the user selects one of the three "dummy" icons 231, 232 or 233. This triggers the method object of present system. Indeed, when such icon 231, 232 or 233 is selected, the OS1 sends a message to the virtual device corresponding to the hypervisor intermediate layer, that is to say, to the hypervisor layer.
- the message comprises indication on the application selected by the user, i. e. the application to be launched or executed.
- the message may comprise preset execution parameters associated to the selected application. Execution parameters are input parameters used when an application is launched or executed. Execution parameters may include a login, a password or any parameter that will determine how the application is executed.
- the hypervisor layer receives a message from the first OS (OS1), said message comprising indication on the application to be executed in the second OS (OS2).
- the hypervisor layer checks the request to execute the application against a security policy to allow or prevent the further act.
- security policy may be used to authorize or prohibit the execution of predetermined applications in the secure OS.
- Security policy may be managed by a company IT department, possibly remotely and frequently updated. This allows a control by a company IT department of the applications authorized to be run on the second OS (or secure OS) from the first OS (or personal OS).
- Security policy may also permit a checking of the preset execution parameters of the request, authorizing or prohibiting some execution parameters.
- the system may stop the process and display an error message, modify the execution parameter, replacing the execution parameter by an authorized execution parameters, send back a request to update the execution parameter or any other actions according to the different embodiment.
- the execution parameters comprise a parameter to execute the application in a full screen mode in the second OS.
- Full screen mode means here that the applications, if applicable, should be displayed on the electronic device display element using all the available space. In other words, in full screen mode, an application GUI is hiding the OS GUI, using all the available place on the display or screen. Thus the user feels like he is still interacting with the OS1.
- the hypervisor may add, remove or replace some execution parameters according to the security policy.
- the security policy may systematically add an execution parameter such as "full screen execution" to the applications.
- the method stops here. Possibly, an error message is displayed on the GUI of OS1 indicating which security policy rule was infringed.
- the hypervisor layer may also send an instruction to the OS1 requesting to remove the icon associated to the non authorized application to prevent further attempt of accessing a non authorized application.
- the hypervisor layer sends a message to the secure OS (OS2), the message comprising a request to execute the application according to the execution parameters.
- the hypervisor layer sends a message or command to the secure OS (OS2) with an indication of the application selected by the user in step 310 and possibly some execution parameters.
- the hypervisor upon detection that the secure OS is not being executed may need to send a command to start the secure OS.
- the hypervisor layer may boot it.
- the secure OS Upon reception of the message sent in step 340, the secure OS executes or launches the selected application, possibly according to the execution parameters. Once completed, the secure OS sends back to the hypervisor layer a message indicating that the requested action has been performed.
- the hypervisor layer receives a message from the secure OS comprising an indication that the application is being executed according to the requested execution parameters.
- the hypervisor layer sends to the hardware layer 150 or 250 of the electronic device 400 a command to display the secure OS GUI.
- the hypervisor layer sends an instruction to the video controller to display the GUI of the secure OS.
- the hypervisor layer sends to the video controller a command to switch the display from the personal OS to the secure OS. If execution parameter associated to the selected application and received by the secure OS comprised a "full screen mode" request, the interface will be displayed full screen on the display 400.
- the secure OS may send to the hypervisor layer a message indicating the closing of the application.
- a step 370 the hypervisor layer receives the message indicating that the application has been closed.
- the hypervisor layer then sends a request to the video controller to display the GUI of the personal GUI.
- the hypervisor interface layer immediately switches the view to the personal OS.
- the user perceives that he stays in his personal OS.
- the personal OS may be switched off, possibly inducing the switching off the secure OS at the same time.
- the electronic device 400 is then switched off.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
A hypervisor intermediate layer executed by an electronic device and interfaced with at least two operating systems (OS) with means to receive a message from a first OS, said message comprising an indication on an application to be executed in a second OS, send a message to the second OS, the message comprising a request to execute the application according to preset execution parameters, receive a message from the second OS comprising an indication that the application is being executed in a Graphical User Interface of the second OS according to the preset execution parameters, send to a hardware layer of the electronic device a command to display the second OS Graphical User Interface.
Description
- The invention relates generally to the field of virtual machines and more specifically to the execution of an application designed for an Operating System (OS) accessed through the user interface of another OS.
- Hardware virtualization or platform virtualization refers to the creation of a virtual machine that acts like a real computer with an operating system (OS). Software executed on these virtual machines is separated from the underlying hardware resources. In hardware virtualization, the host machine is the actual machine on which the virtualization takes place, and the guest machine is the virtual machine. The words host and guest are used to distinguish the software that runs on the physical machine from the software that runs on the virtual machine. The software or firmware that creates and manages a virtual machine on the host hardware is called a hypervisor or Virtual Machine Manager (Wikipedia). A virtual machine (VM) is a software implemented abstraction of the underlying hardware, which is presented to the application layer of the system. Virtual machines may be based on specifications of a hypothetical computer or emulate the computer architecture and functions of a real world computer. Virtual machines are separated or isolated one from the others.
- A virtual machine provides a system platform which supports the execution of an operating system (OS) by emulating hardware architecture. Using Multiple OS environments can co-exist on the same computer, in strong isolation from each other.
- A hypervisor or virtual machine monitor (VMM) is a piece of computer software, firmware or hardware that creates and runs virtual machines, managing the different OS. An electronic device on which a hypervisor is running one or more virtual machines is defined as a host machine. Each virtual machine is called a guest machine. The hypervisor presents the guest operating systems with a virtual operating platform and manages the execution of the guest operating systems. Thus, multiple instances of a variety of operating systems, each hosted on a virtual machine, may share the virtualized hardware resources (Wikipedia).
- Use of such virtualization technologies in embedded electronic devices such as set top box, smart phones or laptops is increasing. Hypervisor or VMM (Virtual Machine Monitor) is used to create multiple isolated (virtual) areas inside the electronic device. There are mainly two types of hypervisors: Type 1 and Type 2 hypervisors. Hypervisor Type 1 runs directly on the host's hardware to control the hardware and to manage guest operating systems (more precisely, the virtual machines hosting - executing - said guest OS). Hypervisor Type 1 can be seen as an interface layer between the different virtual machines and the hardware layer. Hypervisor Type 2 runs within a conventional operating system environment. In other words, a hypervisor Type 2 is executed in an OS and has no direct access to the hardware layer.
- Both hypervisor Type 1 and hypervisor Type 2 trap the instructions sent by the applications or OS layer and allocate resources of underlying hardware accordingly, either directly or through another OS. A typical use case of hypervisor in mobile phones is to allow corporate BYOD (Bring your own device) policy. Such mobile phones, or more generally electronic device, would be called hereafter dual persona phone, as such phones conciliate business and private environments. In dual persona phone, or more generally in dual persona electronic device, two OS can be run in the same electronic device. Thus, with BYOD policy, an employee does not have to manage two different electronic devices. That is to say, an employee does not need to manage one phone provided by the company and another private phone. Rather a secure OS is installed jointly with another OS on the electronic device or phone. This secure OS is controlled by the corporate IT department and, through the use of the hypervisor to run the two OS, becomes a corporate phone. In particular, the data storage and the installation of an application on the secure OS can be controlled by the IT department of the enterprise implementing the secure use of BYOD electronic device according to the company policy. Meanwhile, the user is free to use the other OS according to needs, knowing that any malware or virus that may affect this OS will not affect the secure OS, thus will not endanger company security. The electronic device or phone, through the secure OS running on it, corresponds to security policy set by the company.
- This advantageously suppress the need for an employee to possess, carry, charge, parameter, two phones, or, more generally two electronic devices for business and personal needs (indeed, same solution may be applied to a tablet, laptop, ...).
- However, the user has to switch from one environment to another according to his need. This means that the user has to switch from the non secure OS to the secure OS - and vice versa - to be able to use the enterprise or the personal OS - that is to say the different applications installed in the two OS - on the phone. This could be seen as a regression for a user used to access all its application from a same OS. Worst, the complexity of switching between two OS may drive back users from such solution, especially if the user interfaces of the two OS are different as the user needs to learn and use two user interface logics, knowing that sometimes the user interface logics of two OS may be quite different or even contradictory. This could be quite an issue for a user to switch continuously between two different user interface logic, especially if one of the two OS is not used very often so the user may not be able to get the good habits.
- Indeed, there is a need to improve the management of several OS running on a same electronic device, especially to facilitate the execution of an application in such context.
- It is an object of the present system to overcome disadvantages and/or make improvements in the prior art
- Present system relates to a hypervisor intermediate layer executed by an electronic device and interfaced with at least two operating systems (OS) with means to receive a message from a first OS, said message comprising an indication on an application to be executed in a second OS, send a message to the second OS, the message comprising a request to execute the application according to preset execution parameters, receive a message from the second OS comprising an indication that the application is being executed in a Graphical User Interface of the second OS according to the preset execution parameters and send to a hardware layer of the electronic device a command to display the second OS Graphical User Interface.
- This system advantageously improves the user experience by masking the complexity of managing a second OS installed on an electronic device, allowing an application of the second OS to be launched from the first OS and hiding to the user the mechanism of switching between a first and a second OS. Indeed, a user with an electronic device with two OS, a first OS dedicated for personal application, and a second OS for business applications (said second OS possibly being managed by a company IT department) may launch business applications (that is to say applications installed on the second OS) seamlessly from the first OS (or personal OS).
- The present system also relates to an electronic device comprising a display screen and executing a hypervisor intermediate layer interfaced to at least two operating systems (OS), the electronic device displaying a Graphical User Interface of a first OS on the display screen, the hypervisor intermediate layer with means to receive a message from the first OS, said message comprising indication on an application to be executed in a second OS environment, send a command to the application manager of the second OS to execute the application, the command comprising execution parameters, receive from the application manager of the second OS an indication that the application is being executed according to requested parameters and send to the hardware layer a command to display the second OS output display on the electronic device display screen..
- Finally, one object of the invention concerns a computer program, in particular computer programs on or in an information medium or memory, suitable for implementing the method for managing an application executed in an OS from a first OS object of the invention. These programs can use any programming language, and be in the form of source code, binary code, or of code intermediate between source code and object code such as in a partially compiled form, or in any other desirable form for implementing the methods according to the invention.
- The information medium may be any entity or device capable of storing the program. For example, the medium can comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or else a magnetic recording means, for example a diskette (floppy disk) or a hard disk.
- The invention is explained in further detail, and by way of example, with reference to the accompanying drawings wherein:
-
FIG. 1 shows an exemplary illustration of an electronic device running two OS in accordance with known technologies; -
FIG. 2 shows an exemplary illustration of an electronic device in accordance with an embodiment of present system; -
FIG. 3 shows an exemplary flowchart for managing an application running on an operating system from another operating system according to an embodiment of the present system; -
FIG. 4 shows an exemplary illustration of an electronic device in accordance with an embodiment of present system. - The following are descriptions of illustrative embodiments that when taken in conjunction with the following drawings will demonstrate the above noted features and advantages, as well as further ones. In the following description, for purposes of explanation rather than limitation, illustrative details are set forth such as architecture, interfaces, techniques, element attributes, etc. However, it will be apparent to those of ordinary skill in the art that other embodiments that depart from these details would still be understood to be within the scope of the appended claims. Moreover, for the purpose of clarity, detailed descriptions of well known devices, circuits, tools, techniques and methods are omitted so as not to obscure the description of the present system. It should be expressly understood that the drawings are included for illustrative purposes and do not represent the scope of the present system. In the accompanying drawings, like reference numbers in different drawings may designate similar elements.
- According to one embodiment of present system, a method can be implemented via applications or computer programs executed by an electronic device such as the
electronic device 400 described inFIG. 4 . For clarity sake, it should be understood hereafter that writing "the electronic device does something" means "an application executed on the electronic device does something, the application being executed in an OS running on the electronic device". Moreover, in our context of virtualization, it should be understood that a hypervisor layer can create and manage various virtual machines. Here, a virtual machine is a software implementation of a machine (hence "virtual") executing an operating system (OS). Thus a given OS is executed in a given virtual machine, all the virtual machines being managed by the hypervisor layer. Hereafter, notion of OS and virtual machine may be indifferently used, considering that there is a one-to-one relation between an OS and the virtual machine executing or hosting the same OS. - More globally, an electronic device (i. e. by the
processor 430 of the electronic device 400) may run a hypervisor layer and host several virtual machines, each virtual machine hosting a different OS, each one being called guest OS. -
FIG. 4 is an illustration of an exemplaryelectronic device 400 used in the present system. Theelectronic device 400 comprises at least a display element orscreen 410, a processor or Central processing unit (CPU) 430, avideo controller element 420, possibly amemory element 440 anddifferent hardware element 45N. Hardware element ormodule 45N maybe any type of hardware element or module such as a hard drive, a network element, an input element (such as a keyboard, touch panel, microphone and so on) or any hardware commonly found in an electronic device such as, for example, but not limited to, a mobile device, a tablet, a phone or a laptop. The electronic device may comprise several hardware modules such ashardware module 45N, either similar (for example various hard drive) or distinct hardware module (hard drive, network elements, input elements, and so on). - The processor or
CPU 430 can execute any applications or computer programs according to the embodiments of the present system. The man skilled in the art knows thatprocessor 430 may comprise various processors or rely on distributed processor elements, possibly linked via a network element (hardware module 45N). In order to implement virtualization system on the electronic device, theCPU 430 executes a hypervisor layer, such a hypervisor layer managing different virtual machines executing or hosting different OS. It is to be noted that a same OS may be executed by different virtual machine, but in this case, they would be different instances and totally separated versions of the OS and thus will be considered as different OS hereafter. - The RAM (Random Access Memory)
element 440 may be shared by any applications executed by theprocessor 430, which include applications such as the hypervisor layer and the different virtual machines, even if the virtual machine may access theRAM 440 through the hypervisor layer. - The
video controller 420 can also be called a video card, a video adapter, a display card, a graphics card, a graphics board, a display adapter or a graphics adapter according to the context, this list of name being non limitative. Such video controller generates a feed of output images to thedisplay 410 according to inputs instructions or data provided by theprocessor 430. An OS executed on theprocessor 430 may display via the video controller 420 a Graphical user Interface (GUI) on thedisplay 410. The OS may be executed directly by the processor, or may be hosted on a virtual machine available among various one, said virtual machine being executed by the processor and managed by the hypervisor layer. When various OS hosted on their own virtual machine are executed at the same time by the processor 430 - in short: when various OS are executed - the video controller may display any video or feed of output image from any OS, according to instructions received from the hypervisor layer, meaning from theprocessor 430. In other words, when several OS are executed, the hypervisor layer controls which OS Graphical User Interface is displayed on the display orscreen 410. -
Video controller 420,RAM element 440, theCPU 430 and thedifferent hardware module 45N are called the hardware layer of theelectronic device 400. Such layer supports the execution of software such as the OS, the hypervisor layer or any application run by theprocessor 430, either directly, or virtually through a virtual machine. -
FIG. 1 is an illustration of a known hypervisor layer software.Device hardware 150 represents the different hardware elements or modules of an electronic device such aselectronic device 400.Hypervisor 100 represents the hypervisor layer software executed by theprocessor 430. Here, for illustration, it should be considered that thehypervisor 100 manages two virtual machines. A first virtual machine hosts an OS called OS1, when a second virtual machine hosts another OS called OS2. OS1 and OS2 may be for example OS such as Windows XP™, Windows 8™, Android™, iOS™, GNU/Linux or any other OS. OS1 and OS2 are guest OS. The hypervisor layer main role is to manage the two different virtual machines hosting OS1 and OS2. -
Element 110 represents the Graphical User Interface (GUI) of OS1. In the present illustration, the GUI of OS1 displays three icons or 111, 112 and 113 giving respectively access to three applications of OS1: "Personal calls" (111), "personal messaging" (112) and "Personal application" (113). By giving access, it should be understood that a user interaction with said icon may trigger the launch of the application associated with the icon. The icons can be seen as shortcuts to the execution of an application. Indeed, by selecting one of the three icons, a user may launch the associated application. In other words, selectingshort cuts icon 112 launches "personal messaging" application. It should be reminded that here the applications associated to 111, 112 and 113 are executed by the OS1.icons -
Element 120 represents the Graphical user Interface of OS2. Similarly to description ofelement 110, 121, 122 and 123 are respectively associated to three applications of OS2: "Enterprise calls" (121), "secure meeting" (122) and "company payment" (123).icons - The video controller of the
electronic device 400 illustrated inFIG. 1 may render on thedisplay element 410 either the GUI of OS1 or the GUI of OS2, depending on instructions provided by the hypervisor layer. OS1 and OS2 are two totally separate instances, each one being hosted within its own virtual machine. Virtualization technologies give the illusion for OS1 or OS2 that it is executed on a real hardware platform, whereas in fact a virtual hardware layer (comprising among others virtual elements a virtual display) is managed by the hypervisor layer. Consequently, the two OS have the illusion that they are executed on two separate electronic devices when they are in fact sharing same hardware elements ofelectronic device 400. The sharing of theonly display 410 of the electronic device between the two OS is managed by the hypervisor layer. Each OS renders a different GUI to its virtual display and the hypervisor layer may decide which one of the two virtual displays should be displayed on thedisplay 410. As the guest OS are isolated and hosted within virtual machine, no application executed from OS1 or OS2 can interact with other OS applications or software without the permission of the hypervisor layer. Thus, to switch display between the two OS1 and OS2, an application in OS1 interacts with the hypervisor layer, and then the hypervisor layer sends instructions to switch the display between OS1 or OS2. In other words, the hypervisor layer instructs selecting either the Graphical User Interface of OS1 or OS2 to be rendered by the video controller to the display. Due to natural isolation between the two OS brought by virtualization technique, no malware, viruses or error can be transmitted from the personal OS to the business OS (and vice versa). - In the other hand, going from one OS to the other is cumbersome. Moreover, if the Graphical User Interfaces of the two OS are different, the user may have difficulties to adapt.
-
FIG. 2 shows an exemplary illustration of an electronic device in accordance with an embodiment of the present system.FIG. 2 represents the same schematic electronic device ofFIG. 1 implementing one embodiment of the present system. Elements 2xx ofFIG. 2 are similar to elements 1xx ofFIG. 1 .Hypervisor layer 200, similar tohypervisor layer 100 ofFIG. 1 is modified in order to integrate a hypervisorintermediate layer 201. Such hypervisorintermediate layer 201 allows controlled communication between OS1 and OS2. In an embodiment of present system as illustrated inFIG. 2 , 221, 222 and 223 (corresponding toicons 111, 112 and 113 oficons FIG.1 ) associated to applications of OS2 and displayed on OS2 GUI are also displayed on OS1 GUI as 231, 232 and 233. Thus, OS2 applications associated to these icons are directly accessible from OS1 by selecting a given icon. Indeed, as the icons associated to OS2 applications are displayed on OS1 GUI, a user may directly select these icons without having to first switch to OS2 like in the situation oficons FIG. 1 . - In one complementary implementation of the present system, an application of OS2 selected from OS1 using the previously described
231, 232 or 233 may be executed in a full screen mode. As a direct consequence, the user may not be conscious that the selected application of OS2 is currently executed in another OS than OS1. This will hide the complexity of managing two OS to the user.icons - In order to keep some control on the security of the applications, as it will be explained later, a security policy may be implemented within the intermediate hypervisor layer in order to control or filter communications between OS1 and OS2. In a case of a mobile device, such security policy may be managed remotely by the network operator.
-
FIG. 3 shows an exemplary flowchart for managing an application running on an operating system from another operating system according to an embodiment of the present system. - In a
first step 300, the system should be initiated. Considering anelectronic device 400, it means that a hypervisor layer and at least two virtual machines should be installed on the electronic device. This step could be performed during the configuration of the electronic device by the device maker, or later, possibly remotely, by the network operator in case of a mobile device. Possibly, an enterprise IT department may also install the necessary software on the company fleet of devices. Complementarily, within a BYOD (Bring Your Own Device) policy, IT department may install the necessary softwares on each personal devices of the employees. Indeed, the IT department may control one of the two OS, which will be called the secure OS, while imposing no security restriction on the other OS, called personal OS. Secure OS would correspond to OS2 ofFIG. 2 while personal OS would correspond to OS1 ofFIG. 2 . - The IT department may install on the secure OS (OS2) any company applications such as "Enterprise calls" (221), "secure meeting" (222) or "company payment" (223) applications as illustrated in
FIG. 2 element 220. The man skilled in the art knows various methods to proceed to remote installation of applications. Relying on the hypervisor intermediate layer, IT department may install, either manually or automatically, icons or shortcuts of previously installed applications on the Graphical User Interface of the personal OS (OS1). Such icons or shortcuts could be considered as "dummy" icons as they are displayed on the GUI of the personal OS (OS1) but are associated to applications of the secure OS (OS2). Depending on the embodiment of present system, the hypervisor intermediate layer may be seen from the personal and secure OS as specific software like a device driver. That is to say that a specific device driver should be installed on the OS by the IT department. Indeed, hypervisor intermediate layer could be seen from the point of view of an OS as a virtual device accessed through the installed device driver. - In a
step 310, the hypervisor layer sends an instruction to thevideo controller 420 to display the Graphical User Interface of OS1. Thus, the display orscreen 410 displays the GUI of OS1 as illustrated inFIG. 2 element 210. The user of the electronic device may select one of the six 211, 212, 213, 231, 232 or 233 displayed on the GUI of the personal OS (OS). If the user selects one of theicons 211, 212 or 213, the personal OS (OS1) will execute an application associated to the selected icon (in short, a personal application) according to known behavior of a Graphical User Interface. But in order to access a business application (i. e. an application from the secure OS or OS2, managed by the company IT department), the user selects one of the three "dummy"icons 231, 232 or 233. This triggers the method object of present system. Indeed, whenicons 231, 232 or 233 is selected, the OS1 sends a message to the virtual device corresponding to the hypervisor intermediate layer, that is to say, to the hypervisor layer. The message comprises indication on the application selected by the user, i. e. the application to be launched or executed. The message may comprise preset execution parameters associated to the selected application. Execution parameters are input parameters used when an application is launched or executed. Execution parameters may include a login, a password or any parameter that will determine how the application is executed.such icon - In a
step 320, the hypervisor layer receives a message from the first OS (OS1), said message comprising indication on the application to be executed in the second OS (OS2). - In an
optional step 330, the hypervisor layer checks the request to execute the application against a security policy to allow or prevent the further act. Indeed, security policy may be used to authorize or prohibit the execution of predetermined applications in the secure OS. Security policy may be managed by a company IT department, possibly remotely and frequently updated. This allows a control by a company IT department of the applications authorized to be run on the second OS (or secure OS) from the first OS (or personal OS). Security policy may also permit a checking of the preset execution parameters of the request, authorizing or prohibiting some execution parameters. When an execution parameter is against the security, the system may stop the process and display an error message, modify the execution parameter, replacing the execution parameter by an authorized execution parameters, send back a request to update the execution parameter or any other actions according to the different embodiment. - In a complementary embodiment, the execution parameters comprise a parameter to execute the application in a full screen mode in the second OS. Full screen mode means here that the applications, if applicable, should be displayed on the electronic device display element using all the available space. In other words, in full screen mode, an application GUI is hiding the OS GUI, using all the available place on the display or screen. Thus the user feels like he is still interacting with the OS1.
- In another complementary embodiment of present system, the hypervisor may add, remove or replace some execution parameters according to the security policy. For example, the security policy may systematically add an execution parameter such as "full screen execution" to the applications.
- If the security policy does not allow the execution of the application on the secure OS or if some execution parameters are prohibited, the method stops here. Possibly, an error message is displayed on the GUI of OS1 indicating which security policy rule was infringed. Optionally, the hypervisor layer may also send an instruction to the OS1 requesting to remove the icon associated to the non authorized application to prevent further attempt of accessing a non authorized application.
- Otherwise, in a
further step 340, the hypervisor layer sends a message to the secure OS (OS2), the message comprising a request to execute the application according to the execution parameters. Indeed, the hypervisor layer sends a message or command to the secure OS (OS2) with an indication of the application selected by the user instep 310 and possibly some execution parameters. - Optionally, in a
step 345, the hypervisor, upon detection that the secure OS is not being executed may need to send a command to start the secure OS. In other words, if the secure OS is not running, the hypervisor layer may boot it. - Upon reception of the message sent in
step 340, the secure OS executes or launches the selected application, possibly according to the execution parameters. Once completed, the secure OS sends back to the hypervisor layer a message indicating that the requested action has been performed. - Thus, in a
step 350, the hypervisor layer receives a message from the secure OS comprising an indication that the application is being executed according to the requested execution parameters. - In
further step 360, the hypervisor layer sends to the 150 or 250 of the electronic device 400 a command to display the secure OS GUI. In this step, the hypervisor layer sends an instruction to the video controller to display the GUI of the secure OS. In other words, the hypervisor layer sends to the video controller a command to switch the display from the personal OS to the secure OS. If execution parameter associated to the selected application and received by the secure OS comprised a "full screen mode" request, the interface will be displayed full screen on thehardware layer display 400. When the application is later closed by the user, the secure OS may send to the hypervisor layer a message indicating the closing of the application. - In a
step 370 the hypervisor layer receives the message indicating that the application has been closed. - In a
further step 380, the hypervisor layer then sends a request to the video controller to display the GUI of the personal GUI. - In other words, in the case of closing an application in the secure OS, the hypervisor interface layer immediately switches the view to the personal OS. Thus the user perceives that he stays in his personal OS.
- In a
step 390, the personal OS may be switched off, possibly inducing the switching off the secure OS at the same time. Theelectronic device 400 is then switched off. - Finally, the above discussion is intended to be merely illustrative of the present system and should not be construed as limiting the appended claims to any particular embodiment or group of embodiments. Thus, while the present system has been described with reference to exemplary embodiments, such as embodiment described in the different figures, it should also be appreciated that numerous modifications and alternative embodiments may be devised by those having ordinary skill in the art without departing from the broader and intended spirit and scope of the present system as set forth in the claims that follow. Further, while exemplary illustrations were provided to facilitate an understanding of the present system, other system to run an application designed for an Operating System (OS) through the user interface of another OS may be provided in accordance with further embodiments of the present system.
- The section headings included herein are intended to facilitate a review but are not intended to limit the scope of the present system. Accordingly, the specification and drawings are to be regarded in an illustrative manner and are not intended to limit the scope of the appended claims.
- In interpreting the appended claims, it should be understood that:
- a) the word "comprising" does not exclude the presence of other elements or acts than those listed in a given claim;
- b) the word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements;
- c) any reference signs in the claims do not limit their scope;
- d) several "means" may be represented by the same item or hardware or software implemented structure or function;
- e) any of the disclosed elements may be comprised of hardware portions (e.g., including discrete and integrated electronic circuitry), software portions (e.g., computer programming), and any combination thereof;
- f) hardware portions may be comprised of one or both of analog and digital portions;
- g) any of the disclosed devices or portions thereof may be combined together or separated into further portions unless specifically stated otherwise;
- h) no specific sequence of acts or steps is intended to be required unless specifically indicated; and
- i) the term "plurality of" an element includes two or more of the claimed element, and does not imply any particular range of number of elements; that is, a plurality of elements may be as few as two elements, and may include an immeasurable number of elements.
Claims (7)
- A hypervisor intermediate layer executed by an electronic device and interfaced with at least two operating systems (OS) with means to:- receive a message from a first OS, said message comprising an indication on an application to be executed in a second OS;- send a message to the second OS, the message comprising a request to execute the application according to preset execution parameters;- receive a message from the second OS comprising an indication that the application is being executed in a Graphical User Interface of the second OS according to the preset execution parameters;- send to a hardware layer of the electronic device a command to display the second OS Graphical User Interface.
- A hypervisor intermediate layer according to claim 1, comprising further means to check the request to execute the application against a security policy to allow or prevent the sending of a command to the second OS.
- A hypervisor intermediate layer according to claim 1 or 2, comprising further means to start the second OS.
- A hypervisor intermediate layer according to any preceding claims, the execution parameters comprising a parameter to execute the application in a full screen mode.
- An electronic device comprising a display screen and executing a hypervisor intermediate layer interfaced with at least two operating systems (OS), the electronic device displaying a Graphical User Interface of a first OS on the display screen, the hypervisor intermediate layer comprising means to:- receive a message from the first OS, said message comprising indication on an application to be executed in a second OS environment;- send a command to the application manager of the second OS to execute the application, the command comprising execution parameters;- receive from the application manager of the second OS an indication that the application is being executed according to requested parameters;- send to the hardware layer a command to display the second OS output display on the electronic device display screen.
- A method to manage an application executed in a second OS from a first OS, the method being executed by a hypervisor intermediate layer on an electronic device comprising a display screen, the hypervisor intermediate layer being interfaced with the at least two OS, the method comprising the acts of:- receiving a message from a first OS, said message comprising indication on an application to be executed in a second OS environment;- sending a command to the application manager of the second OS to execute the application, the command comprising execution parameters;- receiving from the application manager of the second OS an indication that the application is being executed according to requested parameters;- sending to the hardware layer a command to display the second OS output display on the electronic device display screen.
- An application embodied on a non-transitory computer readable medium and arranged to execute the method of claim 6.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP13305925.3A EP2819007A1 (en) | 2013-06-28 | 2013-06-28 | Method for managing an application running on an operating system from another operating system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP13305925.3A EP2819007A1 (en) | 2013-06-28 | 2013-06-28 | Method for managing an application running on an operating system from another operating system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP2819007A1 true EP2819007A1 (en) | 2014-12-31 |
Family
ID=48793139
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP13305925.3A Withdrawn EP2819007A1 (en) | 2013-06-28 | 2013-06-28 | Method for managing an application running on an operating system from another operating system |
Country Status (1)
| Country | Link |
|---|---|
| EP (1) | EP2819007A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114124165A (en) * | 2020-08-31 | 2022-03-01 | 华为技术有限公司 | Method and electronic device for Bluetooth communication |
-
2013
- 2013-06-28 EP EP13305925.3A patent/EP2819007A1/en not_active Withdrawn
Non-Patent Citations (2)
| Title |
|---|
| BOKDEUK JEONG ET AL: "Seamless windowing for a future CE device running multiple operating systems", CONSUMER ELECTRONICS (ICCE), 2012 IEEE INTERNATIONAL CONFERENCE ON, IEEE, 13 January 2012 (2012-01-13), pages 187 - 190, XP032124846, ISBN: 978-1-4577-0230-3, DOI: 10.1109/ICCE.2012.6161822 * |
| FRANÇOIS ARMAND ET AL: "Shared device driver model for virtualized mobile handsets", PROCEEDINGS OF THE FIRST WORKSHOP ON VIRTUALIZATION IN MOBILE COMPUTING, MOBIVIRT '08, 1 January 2008 (2008-01-01), New York, New York, USA, pages 12, XP055054563, ISBN: 978-1-60-558328-0, DOI: 10.1145/1622103.1622104 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114124165A (en) * | 2020-08-31 | 2022-03-01 | 华为技术有限公司 | Method and electronic device for Bluetooth communication |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20200142570A1 (en) | Bound Based Contextual Zoom | |
| US8996864B2 (en) | System for enabling multiple execution environments to share a device | |
| US9092627B2 (en) | Apparatus and method for providing security information in virtual environment | |
| JP5865496B2 (en) | Lock screen for accessing work environment on personal portable device | |
| US9117081B2 (en) | Strongly isolated malware scanning using secure virtual containers | |
| US9380456B1 (en) | System, method and computer program product for dynamically switching operating systems in a virtual mobile device platform | |
| US9300720B1 (en) | Systems and methods for providing user inputs to remote mobile operating systems | |
| TWI734379B (en) | Computer implement method, computer system and computer program product starting a secure guest using an initial program load mechanism | |
| EP3002683A1 (en) | Methods and systems for communicating between trusted and non-trusted virtual machines | |
| KR20100018387A (en) | Apparatus and method for supporting multiple operating systems | |
| US9444912B1 (en) | Virtual mobile infrastructure for mobile devices | |
| WO2019100897A1 (en) | Application program starting method and starting apparatus, and computer readable storage medium | |
| WO2016086269A1 (en) | Computing systems and methods | |
| TWI772747B (en) | Computer implement method, computer system and computer program product for injecting interrupts and exceptions into secure virtual machine | |
| KR101498965B1 (en) | A system and method for isolating the internet and the intranet by using the virtual machines | |
| US10310696B1 (en) | Supporting a consistent user interface within a virtualized environment | |
| US10268466B2 (en) | Software installer with built-in hypervisor | |
| EP2819007A1 (en) | Method for managing an application running on an operating system from another operating system | |
| US11487559B2 (en) | Dynamically switching between pointer modes | |
| CA3132760C (en) | Inject interrupts and exceptions into secure virtual machine | |
| KR102484606B1 (en) | Electronic apparatus and the control method thereof | |
| HK40057235A (en) | Inject interrupts and exceptions into secure virtual machine | |
| KR20240168707A (en) | Method and apparatus for management training in engineering control system based on virtualization technology | |
| HK40057635A (en) | Starting a secure guest using an initial program load mechanism | |
| HK40057235B (en) | Inject interrupts and exceptions into secure virtual machine |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 20130628 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| AX | Request for extension of the european patent |
Extension state: BA ME |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
| 18D | Application deemed to be withdrawn |
Effective date: 20150701 |