1. Field of Invention
The present invention relates to virtualization technology, and, more particularly to sharing a webcam between Guest and Host OSs.
2. Background Art
With Virtual Machine (VM) technology, a user can create and run multiple operating environments on a Host server at the same time. Each Virtual Machine requires its own guest operating system (GOS) and can run applications independently. The VMM software provides a layer between the computing, storage, and networking hardware and the software that runs on it.
Each VM acts as a separate execution environment, which reduces risk and allows developers to quickly re-create different operating system (OS) configurations or compare versions of applications designed for different OS's for as long as the integrity of data used by each of the VMs is provided. Generally, a Virtual Machine is an environment that is launched on a particular processor (a client machine) that is running a Host operating system (HOS) and the VM runs the Guest OS.
Modern computers have USB video cameras that are either built-in or external. However, providing the video camera to VM (GOS) and playing a video stream in a real time presents certain challenges, because once the camera is designated as associated with the VM GOS it cannot be used by the Host system.
An example of a conventional system that uses a USB camera on the Guest OS is depicted in FIG. 5. A Host 100 has a USB bus 103 with a video camera 104 connected to it. The Host 100 has a VM 107 running on it. The VM 107 has a Guest OS 108 running on it. The Guest OS 108 needs to use the USB video camera 104. The USB camera 104 is dedicated to the VM, and the Host has no access to it.
Thus, in a conventional system, the USB interface is not available in the Host, since it is used in VM.
Meanwhile, if the SKYPE application running on the Host 101 needs to use the video camera 104, it cannot have access to it. The conventional exemplary system monopolizes the use of video camera to a designated VM 107. Furthermore, any other GOSs cannot use the camera unless it is re-designated (i.e., switched over to another GOS). In other words, conventional virtualized systems only provide for exclusive use of the video camera. Once a VM uses the Host USB camera, other VMs cannot see this camera, and obviously cannot connect to it.
Furthermore, use of camera by different VMs (GOSs) required installation of special “boot up” drivers for each GOS on the Host. This is inconvenient for users and requires additional resources and associated costs for camera use. This problem becomes even more critical now, when many users require camera for communications over SKYPE or similar.
Accordingly, there is a need in the art for a system and method that allows for using a video camera by numerous Guest systems and the Host system without switching and installation of special drivers.