Virtual Device Driver (vxd) Patents (Class 719/324)
  • Patent number: 9811319
    Abstract: Automatically generating code used with device drivers for interfacing with hardware. The method includes receiving a machine readable description of a hardware device, including at least one of hardware registers or shared memory structures of the hardware device. The method further includes determining an operating system with which the hardware device is to be used. The method further includes processing the machine readable description on a code generation tool to automatically generate code for a hardware driver for the hardware device specific to the determined operating system.
    Type: Grant
    Filed: January 4, 2013
    Date of Patent: November 7, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yaron Weinsberg, Jinsong Yu, Maxim Grabarnik, Davide Massarenti
  • Patent number: 9563456
    Abstract: A method and system for switching backend devices in a virtual machine system based on features of the backend devices. In one embodiment, a computer system includes at least a first device and a second device that function as a backend device. The first device is currently used by a guest of the computer system as the backend device. A hypervisor of the computer system receives an indication from the guest to use a feature of the backend device. The hypervisor determines whether the use of the feature of the backend device triggers a switching condition. In response to a determination that the switching condition is triggered, the guest is switched to use the second device as the backend device. The switching operation can be transparent to the guest.
    Type: Grant
    Filed: August 22, 2013
    Date of Patent: February 7, 2017
    Assignee: Red Hat Israel, Ltd.
    Inventor: Michael Tsirkin
  • Patent number: 9449302
    Abstract: A system and method for generating a membership profile for a personalized website is disclosed. An online services provider uses the interest engine to generate a questionnaire and polls. A new user provides responses that include answers to the questionnaire and polls. A profile engine generates a membership profile based on the answers. A newsletter engine generates personalized newsletter information including a number of users that provided each answer. In response to an online services provider selecting the recipients for the newsletter, the newsletter engine either generates the newsletter and transmits it to the recipients or the newsletter engine transmits the contact information to the online services provider.
    Type: Grant
    Filed: November 4, 2011
    Date of Patent: September 20, 2016
    Assignee: GOOGLE INC.
    Inventors: Joshua Marantz, Mussie Shore, Jonathan Terleski, Geoffrey Borggaard, Sami Shalabi, Christopher Richard Wren
  • Patent number: 9329911
    Abstract: A hardware control method for multitasking drivers under a user mode is provided. The control method includes steps of: receiving a request for access to a hardware device from a current process under the user mode; determining whether the current process has obtained a mutual exclusion (mutex) of the hardware device; if affirmative, determining whether an identification of the current process and an identification of a previous process accessed the hardware device are the same; if negative, performing a context switch on the current process and the previous process accessed the hardware device to allow the current process to access the hardware device. Accordingly, when accessing complicated hardware devices, the disclosure significantly enhances driver performance under a user mode while also implementing secured random access to hardware devices in a multitasking environment.
    Type: Grant
    Filed: April 17, 2013
    Date of Patent: May 3, 2016
    Assignee: MSTAR SEMICONDUCTOR, INC.
    Inventors: Jian Wang, Ming-Yong Sun
  • Patent number: 9154451
    Abstract: Described are systems and methods for communication between a plurality of electronic devices and an aggregation device. An aggregation device processes instructions related to a configuration of an electronic device in communication with the aggregation device. One or more virtual devices are generated in response to processing the instructions. The electronic device enumerates a configuration space to determine devices for use by the electronic device. The aggregation device detects an access of the configuration space by the electronic device. The one or more virtual devices are presented from the aggregation device to the electronic device in accordance with the instructions.
    Type: Grant
    Filed: August 21, 2012
    Date of Patent: October 6, 2015
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventors: Anton Chernoff, Venkata S. Krishnan, Mark Hummel, David E. Mayhew, Michael J. Osborn
  • Patent number: 9021475
    Abstract: This disclosure describes a system for Single Root I/O Virtualization (SR-IOV) pass-thru for network packet processing via a virtualized environment of a device. The system includes a device comprising a virtualized environment and a plurality of virtual machines having a virtual network interface for receiving and transmitting network packets. A driver for the physical network interface of the device creates a plurality of virtual devices corresponding to the physical network interface, which appear as a Peripheral Component Interconnect (PCI) device to the virtualized environment. A virtual device of the plurality of virtual devices is assigned via the virtualized environment to each virtual machine of the plurality of virtual machines. The virtual machine uses the virtual device assigned to the virtual machine, to receive and transmit network packets via the physical network interface of the device.
    Type: Grant
    Filed: May 3, 2012
    Date of Patent: April 28, 2015
    Assignee: Citrix Systems, Inc.
    Inventors: Chitti Nimmagadda, Rajiv Mirani, Raghu Goyal, Saurabh Dave
  • Patent number: 8990838
    Abstract: Described is an aggregate computer system that operates by sharing devices of networked computing machines. A consumer machine uses a real device of a producer machine as a virtual device, by coupling the real driver of the real device over the network to a virtual driver of the consumer machine. Each machine may include an aggregate device manager that manages the virtual devices, and/or an aggregate connection manager that processes communications received over at least two different types of networks. Each machine may include a virtual bus and virtual bus driver that simulates a physical connection of a remote device to that machine via a bus. Upon receiving a request to plug-in a virtual device, the consumer machines queries for information of the device, and loads a virtual driver based on the device information when received. The consumer machine may query by sending plug-and-play events to the virtual bus.
    Type: Grant
    Filed: July 7, 2011
    Date of Patent: March 24, 2015
    Assignee: Microsoft Corporation
    Inventors: Yang Li, Lifeng Wang, Jian Wang, Chao Li
  • Patent number: 8972984
    Abstract: The present disclosure is directed towards methods and systems for virtualizing audio hardware for one or more virtual machines. A control virtual machine (VM) may translate a first stream of audio functions calls from a first VM hosted by a hypervisor. The translated first stream of audio function calls may be destined for a sound card of the computing device executing the hypervisor. The control VM may detect a second stream of audio functions calls from a second VM hosted by the hypervisor. The control VM may translate the second stream of audio functions calls from the second VM. The control VM may further merge the translated first stream of audio function calls and the translated second stream of the audio function calls in response to the detected second stream. The control VM may transmit the merged stream of audio function calls to the sound card.
    Type: Grant
    Filed: May 18, 2012
    Date of Patent: March 3, 2015
    Assignee: Citrix Systems, Inc.
    Inventors: Steven Meisner, Jean Guyader, Ian Pratt
  • Patent number: 8964213
    Abstract: In a communication environment in which multiple virtual port drivers use a single communication port, a communication control method enables a first virtual port driver and a second virtual port driver that is occupying the communication port to communicate through the same communication port. The communication control method includes executing a communication process in which the first virtual port driver emulates a specific communication port in communication with a first device driver to which the first virtual port driver corresponds. At least when the second virtual port driver occupies the communication port, the communication control method executes a communication process in which the first virtual port driver emulates, for the second virtual port driver, the second device driver to which the second virtual port driver corresponds.
    Type: Grant
    Filed: July 9, 2010
    Date of Patent: February 24, 2015
    Assignee: Seiko Epson Corporation
    Inventors: Kumi Nishimura, Masatoshi Nakazawa
  • Patent number: 8966477
    Abstract: A system comprises a guest graphics subsystem with a combined virtual graphics device that combines underlying emulated virtual graphics device and virtual function of a physical graphics device to support virtual machine migration. The VMM in the system may expose to the guest a single combined virtual PCIe graphics device that combines access to the virtual graphics device and the virtual function, and switches between the virtual graphics device and the virtual function for graphics acceleration without triggering a PnP event in the guest OS. In response to the switch, the guest graphics stack and applications may redraw their windows to provide a consistent user experience.
    Type: Grant
    Filed: April 18, 2011
    Date of Patent: February 24, 2015
    Assignee: Intel Corporation
    Inventors: Shanwei Cen, Raman Srinivasan, David J. Cowperthwaite
  • Patent number: 8930968
    Abstract: A data processing method and driver capable of reducing transactions between operating systems (OS) in a virtualization environment that supports a plurality of operating systems are provided. The data processing driver reads, when reading data, an Inode of next data. Then, the data processing driver determines whether or not to request an Inode to a host OS by comparing the read Inode with a requested Inode.
    Type: Grant
    Filed: December 8, 2010
    Date of Patent: January 6, 2015
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Bo-Seok Moon, Sang-Bum Suh, Sung-Min Lee
  • Patent number: 8907981
    Abstract: The present invention describes a method and system for governing a physical device or application service in a real world through a virtual device in a virtual world. The physical device or application service registers at least one virtual adaptor of the physical device or application service to a virtual device broker. A user creates or composes the virtual device with the at least one virtual adaptor in the virtual device broker. The user commands to the virtual device through a user interface of the virtual device. The at least one virtual adaptor in the virtual device translates the command to a controlling signal to the physical device or application service. The controlling signal operates the physical device or application service according to the command to the virtual device.
    Type: Grant
    Filed: November 5, 2009
    Date of Patent: December 9, 2014
    Assignee: International Business Machines Corporation
    Inventors: Boas Betzler, Xing Fang, Neil A. Katz, Sheng Lu, Meng Ye, Zi Y. Zhu
  • Patent number: 8881140
    Abstract: A method for virtualizing software associated with external computer hardware devices. The method may include maintaining a virtualized device profile associated with an external hardware device and receiving a request to provide the virtualized device profile to a client system to which the external hardware device can be temporarily connected. The method may also include downloading the virtualized device profile to the client system and installing the virtualized device profile as one or more virtualization layers on the client system. The method may further include activating the one or more virtualization layers to enable the virtualized device profile to be used to interact with the external hardware device.
    Type: Grant
    Filed: September 4, 2009
    Date of Patent: November 4, 2014
    Assignee: Symantec Corporation
    Inventor: Cynthia Bringhurst
  • Patent number: 8875162
    Abstract: Completion interrupts corresponding to I/O requests issued by a virtual machine guest, which runs on a host platform, are virtualized in such a way that I/O completion interrupts to the requesting guest are delivered no faster than it can stably handle them, but, when possible, faster than the nominal speed of a virtual device to which a virtual machine addresses the I/O request. In general, completion events received from the host platform in response to guest I/O requests are examined with respect to time. If enough time has passed that the virtual device would normally have completed the I/O request, then the completion interrupt is delivered to the guest. If the nominal time has not elapsed, however, the invention enqueues and time-stamps the event and delivers it at the earliest of a) the normal maturity time, or b) at a safepoint.
    Type: Grant
    Filed: August 9, 2013
    Date of Patent: October 28, 2014
    Assignee: VMware, Inc.
    Inventors: Ole Agesen, Boris Weissman, Keith Adams, Jennifer-Ann M. Anderson, Maxime Austruy
  • Patent number: 8868608
    Abstract: A system and method for managing a virtual appliance lifecycle is provided. In particular, a hosted web service may provide a collaborative environment for and unified environment for developing, configuring, personalizing, building, testing, deploying, and otherwise managing a lifecycle for one or more virtual appliances, wherein the collaborative and unified environment may provide various features for-creating virtual appliances, monitoring upstream changes and modifications to the virtual appliances, and providing real-time analysis and feedback during various phases of the virtual appliance lifecycle, among other things.
    Type: Grant
    Filed: June 1, 2009
    Date of Patent: October 21, 2014
    Assignee: Novell, Inc.
    Inventors: Nathaniel Friedman, Cornelius Schumacher, Garrett LeSage, Daniel Bornkessel
  • Patent number: 8862633
    Abstract: A system and method for efficiently building virtual appliances in a hosted environment is provided. In particular, a plurality of image archives may be stored in a build database, with each image archive including a file system having a directory structure and a plurality of files installed within the directory structure. In response to a build request containing an image description, a build engine may create a file system layout defining a directory structure for an image. The build engine may then copy the file system from one of the image archives to the file system layout of the image, wherein the copied file system may provide a subset of the file system for the image. The build engine may then build the image, which may include a file system having various files installed within various directories in accordance with the directory structure defined for the image.
    Type: Grant
    Filed: May 4, 2012
    Date of Patent: October 14, 2014
    Assignee: Novell, Inc.
    Inventor: Nathaniel Friedman
  • Patent number: 8850459
    Abstract: The present invention relates to an information processing apparatus, in which an operating system (OS) is executable in such a way that a component operable based on administrator's authority can realize installation of a device driver. The information processing apparatus includes a selection unit configured to select a peripheral device that serves as an output destination of a processing request if the processing request is received from a user via an application, and a management unit configured to control setting processing for a device driver applicable to the selected peripheral device to use the peripheral device. The management unit is configured to request a first component operable on the OS based on administrator's authority to perform setting processing for a device driver applicable to the selected peripheral device.
    Type: Grant
    Filed: March 26, 2012
    Date of Patent: September 30, 2014
    Assignee: Canon Kabushiki Kaisha
    Inventor: Hiroaki Nakata
  • Patent number: 8838675
    Abstract: A virtual device residing on a terminal in a host terminal environment is provided. The terminal is in communication with a device. The virtual device comprises a processing module operable to execute at least one action and to process information returned from at the least one executed action, a transformation module operable to transform a command into the at least one action to be executed by the processing module, and a response module operable to form a response to the command to be sent to the host based on the processed information.
    Type: Grant
    Filed: April 23, 2007
    Date of Patent: September 16, 2014
    Assignee: Psion Inc.
    Inventor: Trong Le
  • Patent number: 8805983
    Abstract: An information handling system (IHS) includes a processing system operating as a controller. A network interface controller is coupled to the processing system and receives communications from a remote administrator via a management network. An external virtual device link is coupled to the processing system.
    Type: Grant
    Filed: October 19, 2009
    Date of Patent: August 12, 2014
    Assignee: Dell Products L.P.
    Inventors: Shawn Joel Dube, Timothy M. Lambert
  • Patent number: 8789070
    Abstract: A system for virtualization of a local device includes a proxy configured to report, to a remote system, a status of a local Universal Serial Bus (“USB”) device of the system, and to receive a transaction request designated for the local device from the remote system. The system further includes a generic device driver configured to receive the transaction request for the local device, and to provide a result of the transaction request. The proxy is further configured to provide the result of the transaction request to the remote system. The local device is remote to the remote system, which is configured to include a device-specific driver for the local device. A system for utilizing a local device of a remote system is also provided. The system may include an agent and a virtual bus driver. Methods and machine-readable media are also provided.
    Type: Grant
    Filed: December 6, 2007
    Date of Patent: July 22, 2014
    Assignee: Wyse Technology L.L.C.
    Inventors: Daniel Ernesto Barreto, Shishuang Wang, Jayadev Marulappa Niranjanmurthy, Sriranga Seetharamaiah
  • Patent number: 8782163
    Abstract: The present disclosure provides data sharing through virtual removable volumes. A virtual volume of a SAN (storage area network) is presented to clients as a virtual removable volume. A controlling application controls access of clients connected to the SAN to the virtual removable volume. The controlling application allows only one client at a time to access the virtual removable volume. The controlling application allows a first client to mount the virtual removable volume as a removable volume. The controlling application then causes the first client to unmount the virtual removable volume and allows a second client to mount the virtual removable volume as a removable volume. In this way, the first client and second client are able to share data via the virtual removable volume without causing corruption of data and without requiring a shared file system or physical transfer of removable media.
    Type: Grant
    Filed: December 21, 2011
    Date of Patent: July 15, 2014
    Assignee: NetApp, Inc.
    Inventor: Moshe Melnikov
  • Patent number: 8776090
    Abstract: A device may abstract access to hardware resources in the device to a single operating system (OS) running in the device utilizing an abstraction layer and a software partition. The abstraction layer and the software partition may enable virtualizing the hardware resources during interfacing between the single OS and the hardware resources, such that the actual characteristics and/or number of the hardware resources may be abstracted. The abstraction layer may comprise a hypervisor, which may be optimized to support network abstraction based operations. The software partition may enable managing configuration and/or use of the hardware resources via the abstraction layer. The hardware resources may comprise networking resources. Accordingly, operations of a plurality of virtual drivers within the OS corresponding to each of one or more of the plurality of hardware resources may be supported. Data transfers between the OS and the hardware resources may be performed via the software partition.
    Type: Grant
    Filed: February 17, 2010
    Date of Patent: July 8, 2014
    Assignee: Broadcom Corporation
    Inventor: Uri Elzur
  • Patent number: 8745308
    Abstract: In a computer system supporting execution of virtualization software and at least one instance of virtual system hardware, an interface is provided into the virtualization software to allow a program to directly define the access characteristics of its program data stored in physical memory. The technique includes providing data identifying memory pages and their access characteristics to the virtualization software which then derives the memory access characteristics from the specified data. Optionally, the program may also specify a pre-defined function to be performed upon the occurrence of a fault associated with access to an identified memory page. In this manner, programs operating both internal and external to the virtualization software can protect his memory pages, without intermediation by the operating system software.
    Type: Grant
    Filed: December 4, 2012
    Date of Patent: June 3, 2014
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Pratap Subrahmanyam
  • Patent number: 8640039
    Abstract: There is disclosed an information processing method including: a step of displaying a setting window, which includes customizable items, of a device driver; a step of registering items set using the setting window as customized items; a step of writing the customized items in user interface-related data of the device driver; and a user interface display step of displaying a user interface of the device driver with reference to the user interface-related data upon launching the device driver.
    Type: Grant
    Filed: January 18, 2005
    Date of Patent: January 28, 2014
    Assignee: Canon Kabushiki Kaisha
    Inventor: Megumi Saito
  • Patent number: 8627315
    Abstract: A method and apparatus for cooperative guest firmware are described. In one embodiment, the method includes the launch of a virtual machine (VM) including a guest operating system (OS) and guest firmware. Prior to launching the VM, a data structure is generated in memory and is associated with the guest firmware to provide a virtualization policy provided by the VM as well as processor and platform configuration information to the guest firmware. In one embodiment, the guest firmware uses the data structure to access static information regarding the virtualization policy, as well as the processor and platform configuration information in response to requests from the guest OS. However, when the guest OS requires a host platform service, a virtual machine monitor (VMM) services the guest firmware requests for host platform services. Other embodiments are described and claimed.
    Type: Grant
    Filed: December 31, 2004
    Date of Patent: January 7, 2014
    Assignee: Intel Corporation
    Inventors: Shaofan Li, Gao Haoyu, William Cheung, Ke Yu
  • Patent number: 8621488
    Abstract: Techniques for intercommunication amongst device drivers are described herein. In one embodiment, an application programming interface (API) is provided by a kernel of an operating system (OS) running within a data processing system. The API is accessible by device drivers associated with multiple devices installed in the system. In response to a request from a first instance of a driver the API, information indicating whether another instance of the same driver is currently started is returned via the API. Other methods and apparatuses are also described.
    Type: Grant
    Filed: June 30, 2011
    Date of Patent: December 31, 2013
    Assignee: Apple Inc.
    Inventors: Joshua de Cesare, Simon Douglas, Alexei Elias Kosut
  • Patent number: 8621123
    Abstract: Management of data communication between a peripheral device and host computer system is provided. A physical interface for communicating data between a peripheral device and applications executing on the host is opened and controlled by a software module. First and second virtual interfaces of the software module are exposed to an operating system of the host, and the operating system exposes the first and second virtual interfaces to a first application and a second application executing on the host. The first virtual interface is used for communicating data between the peripheral device and the first application through the physical interface, and the second virtual interface is used for communicating data between the peripheral device and the second application through the physical interface. Management of data communication between the peripheral device and the first application and between the peripheral device and the second application is thereby provided.
    Type: Grant
    Filed: October 6, 2011
    Date of Patent: December 31, 2013
    Assignee: Honeywell International Inc.
    Inventor: Aldo Caballero
  • Patent number: 8601496
    Abstract: Certain aspects of a method and system for protocol offload in paravirtualized systems may be disclosed. Exemplary aspects of the method may include preposting of application buffers to a front-end driver rather than to a NIC in a paravirtualized system. The NIC may be enabled to place the received offloaded data packets into a received data buffer corresponding to a particular guest operating system (GOS). A back-end driver may be enabled to acknowledge the placed offloaded data packets. The back-end driver may be enabled to forward the received data buffer corresponding to the particular GOS to the front-end driver. The front-end driver may be enabled to copy offloaded data packets from a received data buffer corresponding to a particular GOS to the preposted application buffers.
    Type: Grant
    Filed: June 14, 2012
    Date of Patent: December 3, 2013
    Assignee: Broadcom Corporation
    Inventors: Eliezer Aloni, Rafi Shalom
  • Patent number: 8589952
    Abstract: A system and a method are disclosed for device having a first and a second operating system communicatively coupled with each other. The first operating system is configured to manage a state of the mobile computing device, resources operable with the mobile computing device, and data management for the mobile computing device. The second operating system is a desktop-type operating system. In one embodiment, in response to coupling a docking station, the mobile computing device is configured to provide the second operating system access to peripherals. In addition, another embodiment the first operating system is configured to include an interface to access and execute applications executable through the second operating system.
    Type: Grant
    Filed: June 30, 2010
    Date of Patent: November 19, 2013
    Assignee: Palm, Inc.
    Inventors: Yoon Kean Wong, Kevin Morishige, Matthew W. Crowley
  • Patent number: 8572610
    Abstract: The system and method of the present application includes a functional software stack including a type 1 hypervisor running on a single hardware platform. One embodiment of the hardware platform includes a processor and storage media, as well as network and video hardware. The hypervisor includes a network driver and a display driver, and executes directly on the hardware and abstracts the hardware from any guest operating systems (OS). To the OS, the hypervisor appears to be the base hardware platform and the network and display drivers appear to be similar hardware as well. The guest OS includes the resident patient monitoring application as well as third party applications, both of which execute independently on the virtualized hardware of the hypervisor. The network and display drivers manage the monitoring network and display regions in a monitoring display that are available to the guest operating systems.
    Type: Grant
    Filed: December 9, 2009
    Date of Patent: October 29, 2013
    Assignee: General Electric Company
    Inventor: Carl C. Davis
  • Patent number: 8555275
    Abstract: A method and system are introduced to enable an application in a virtualized environment to communicate with multiple types of virtual servers (e.g., VMware ESX server, Microsoft Virtual Server, etc.), yet without making any source code change to the application. An interface is provided so that an application (e.g., a storage management application) running in a virtual machine is able to communicate with the underlying virtual server to receive information regarding some physical hardware that are not virtualized by the virtual server. For example, such physical hardware may be an iSCSI Host Bus Adapter (iSCSI HBA) or a Fiber Channel Protocol Host Bus Adapter (Fcp HBA). After receiving such information, the application can access the physical hardware to provide services to other applications, such as storage management services.
    Type: Grant
    Filed: April 26, 2007
    Date of Patent: October 8, 2013
    Assignee: NetApp, Inc.
    Inventors: Geeta Parag Gokhale, Timothy J. Clayton-Luce, Umesh Betahalli Venkatesh
  • Patent number: 8539137
    Abstract: A method, system and computer program product for storing data of a Virtual Execution Environment (VEE), such as a Virtual Private Server (VPS) or a Virtual Machine, including starting an operating system running a computing system; starting a Virtual Machine Monitor under control of the operating system, wherein the VMM virtualizes the computing system and has privileges as high as the operating system; creating isolated Virtual Machines (VMs), running on the computing system simultaneously, wherein each VM executes its own OS kernel and each VM runs under the control of the VMM; starting a storage device driver and a file system driver in the operating system; mounting a virtual disk drive; starting VM-specific file system drivers in the VM, the VM specific file system driver together with the common storage device drivers support virtual disk drives, the virtual disk drive is represented on the storage device as a disk image, the disk image data are stored on the storage device as at least one file that in
    Type: Grant
    Filed: June 4, 2007
    Date of Patent: September 17, 2013
    Assignee: Parallels IP Holdings GmbH
    Inventors: Stanislav S. Protassov, Alexander G. Tormasov, Serguei M. Beloussov
  • Patent number: 8539515
    Abstract: A method of providing driver functionality including forming an isolated sandbox on a remote computing system; during an attempt to install a host driver in a host OS on a different computing system, installing a driver stub in the host OS instead of the host driver. The stub is accessible from the isolated sandbox and supports API function calls supported by the host driver, including API interfaces or API call parameters; installing a sandbox driver in the isolated sandbox; using a gateway to redirect API requests from the driver stub to the sandbox driver for execution of the requests in the sandbox, and to transmit responses back from the sandbox driver to the host OS. The stub provides access to functionality of the sandbox driver via the gateway and invokes the sandbox driver through the gateway. The sandbox driver uses the gateway to interface to host API.
    Type: Grant
    Filed: November 12, 2012
    Date of Patent: September 17, 2013
    Assignee: Parallels IP Holdings GmbH
    Inventors: Stanislav S. Protassov, Alexander G. Tormasov, Serguei M. Beloussov
  • Patent number: 8533745
    Abstract: Completion interrupts corresponding to I/O requests issued by a virtual machine guest, which runs on a host platform, are virtualized in such a way that I/O completion interrupts to the requesting guest are delivered no faster than it can stably handle them, but, when possible, faster than the nominal speed of a virtual device to which a virtual machine addresses the I/O request. In general, completion events received from the host platform in response to guest I/O requests are examined with respect to time. If enough time has passed that the virtual device would normally have completed the I/O request, then the completion interrupt is delivered to the guest. If the nominal time has not elapsed, however, the invention enqueues and time-stamps the event and delivers it at the earliest of a) the normal maturity time, or b) at a safepoint.
    Type: Grant
    Filed: December 14, 2010
    Date of Patent: September 10, 2013
    Assignee: VMware, Inc.
    Inventors: Ole Agesen, Boris Weissman, Keith Adams, Jennifer-Ann M. Anderson, Maxime Austruy
  • Patent number: 8533812
    Abstract: A computer-implemented method for securing access to kernel devices may include (1) identifying a context proxy privileged to access a secure device interface for a device, (2) receiving a request from the context proxy to allow a user-mode process to access a non-secure device interface for the device, (3) receiving a request from the user-mode process to access the non-secure device interface, and then (4) allowing the user-mode process to access the non-secure device interface directly based on the request from the context proxy. Various other methods and systems are also disclosed.
    Type: Grant
    Filed: March 3, 2011
    Date of Patent: September 10, 2013
    Assignee: Symantec Corporation
    Inventor: Basil Gabriel
  • Patent number: 8484653
    Abstract: A mechanism for delayed hardware upgrades in virtualization systems is disclosed. A method of the invention includes maintaining a delayed hardware upgrade mode that is applicable to one or more virtual machines (VMs) managed by a hypervisor of a host machine, receiving a command to change VM hardware presented to a VM of the one or more VMs, placing the command in a delayed command queue associated with the VM per the delayed hardware upgrade mode maintained by the hypervisor, and executing the command in the delayed command queue when it is determined that the VM has been rebooted, wherein the reboot of the VM is not directly associated with the command.
    Type: Grant
    Filed: July 28, 2010
    Date of Patent: July 9, 2013
    Assignee: Red Hat Israel, Ltd.
    Inventor: Michael Tsirkin
  • Patent number: 8478907
    Abstract: A network interface device for use with a host computer that includes a host processor and a memory, and which is configured to concurrently run a master operating system and at least one virtual operating system. The device includes a bus interface that communicates over a bus with the host processor and the memory, and a network interface, which is coupled to send and receive data packets carrying data over a packet network. A protocol processor is coupled between the bus interface and the network interface so as to convey the data between the network interface and the memory while performing protocol processing on the data packets under instructions from the at least one virtual operating system, while bypassing the master operating system.
    Type: Grant
    Filed: May 3, 2006
    Date of Patent: July 2, 2013
    Assignee: Broadcom Corporation
    Inventors: Eliezer Aloni, Kobby Carmona, Shay Mizrachi, Rafi Shalom, Merav Sicron, Dov Hirshfeld, Amit Oren, Caitlin Bestler, Uri Tal, Uri Elzur, Kan (Frankie) Fan, Scott McDaniel
  • Patent number: 8468551
    Abstract: In a computer system having memory, at least one processor and a physical input-output adapter, the at least one processor generates logical partitions, including local logical partitions and an input-output logical partition. The logical partitions have respective local virtual adapters. The input-output logical partition has a shared virtual adapter configured to communicate with the physical input-output adapter, such that a plurality of the local logical partitions share the physical input-output adapter via the shared virtual adapter. The at least one processor provides communication for ones of the local virtual adapters of the local logical partitions directly with the physical input-output adapter by a hypervisor.
    Type: Grant
    Filed: June 30, 2010
    Date of Patent: June 18, 2013
    Assignee: International Business Machines Corporation
    Inventors: Kavitha Vittal Murthy Baratakke, Pramod Achyut Bhandiwad, Nikhil Hegde, Sivakumar Krishnasamy, G Shantala
  • Publication number: 20130104149
    Abstract: A selective data processing method between docked terminals, and a selective data processing system using the same are provided. The selective data processing method includes generating a virtual driver, transmitting a first data generated from a device of a first terminal, transmitting a second data generated from a device of a second terminal to a virtual driver and selecting at least one of the first data and the second data, and transmitting the selected at least one of the first data and the second data to an upper layer of layers where the same driver and the virtual driver reside, and enabling the transmitted at least one of the first data and the second data to be processed.
    Type: Application
    Filed: October 25, 2011
    Publication date: April 25, 2013
    Applicant: HANDONG LNC CO., LTD.
    Inventors: Byeong-Nam AHN, Syeung-il KIM, Young-Mook CHO
  • Patent number: 8429678
    Abstract: Technologies are provided herein for redirecting video data from a host computer to a remote client using a service processor. The service processor exposes a virtual display adapter to the host computer so that the host computer can send video data to the service processor. The service processor includes a processor, a random access memory, and a device endpoint configured to communicate with the host computer. The service processor also includes a non-volatile memory that stores a firmware that executes on the processor to expose a virtual display adapter to the host computer by way of the device endpoint. Upon exposing the virtual display adapter to the host computer, the service processor receives video data directed to the virtual display adapter from the host computer and sends the video data to a remote client.
    Type: Grant
    Filed: April 20, 2010
    Date of Patent: April 23, 2013
    Assignee: American Megatrends, Inc.
    Inventors: Baskar Parthiban, Sanjoy Maity
  • Patent number: 8347063
    Abstract: A method of improving USB device virtualization is proposed that allows giving virtual machines (VMs) direct access to USB devices with a combination hardware and software solutions. The USB host controller replaces device identifiers assigned by the VM with real device identifiers that are unique in the system. The real device identifiers are assigned by the virtual machine monitor (VMM) or the host controller.
    Type: Grant
    Filed: August 19, 2005
    Date of Patent: January 1, 2013
    Assignee: Intel Corporation
    Inventors: Kiran Panesar, Philip Lantz
  • Patent number: 8336061
    Abstract: A method and apparatus for performing driver configuration operations without a system reboot is disclosed. In one embodiment, a network server's adapter driver receives a request to change a configuration of a selected instance of a plurality of instances. In response, the adapter driver may then determine if there is data flow through the selected instance. If there is no data flow through the selected instance, the method includes blocking subsequent data flow and subsequent information requests issued to the adapter driver. The selected instance may then be reinitializing without rebooting the server.
    Type: Grant
    Filed: April 22, 2008
    Date of Patent: December 18, 2012
    Assignee: QUALCOMM Incorporated
    Inventors: Jeff Byers, Jing Huang, Khosrow Panah
  • Patent number: 8327059
    Abstract: In a computer system supporting execution of virtualization software and at least one instance of virtual system hardware, an interface is provided into the virtualization software to allow a program to directly define the access characteristics of its program data stored in physical memory. The technique includes providing data identifying memory pages and their access characteristics to the virtualization software which then derives the memory access characteristics from the specified data. Optionally, the program may also specify a pre-defined function to be performed upon the occurrence of a fault associated with access to an identified memory page. In this manner, programs operating both internal and external to the virtualization software can protect his memory pages, without intermediation by the operating system software.
    Type: Grant
    Filed: September 30, 2009
    Date of Patent: December 4, 2012
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Pratap Subrahmanyam
  • Patent number: 8320461
    Abstract: A remote resource access interface apparatus is provided. A key input unit has keys for generating input key values. A communication unit transmits a connection establishment request message including screen resolution information to, and receives a connection establishment response message including supportable key information from, a portable device. The communication unit transmits input key information to and receives video information from the portable device after establishing the connection. A pixel information processing unit converts the video information to pixel signals for a video output unit to display as a visual image. A key advisor unit extracts supportable key information from the response message and outputs the supportable key information to the video output unit. The video information is video data adjusted in resolution based on the screen resolution information, and the input key value is mapped to one of key values indicated by the key information of the portable device.
    Type: Grant
    Filed: February 20, 2008
    Date of Patent: November 27, 2012
    Inventor: Gil Hoon Chang
  • Patent number: 8312478
    Abstract: A method, system and computer program product for providing driver functionality in computing system includes installing an operating system on the computing system; forming a plurality of isolated sandboxes running on the computing system under control of the operating system; during an attempt to install a driver, installing driver stub in the operating system; installing the driver in one of the isolated sandboxes, wherein the driver directly uses at least part of system resources; using a gateway between the driver stub and the installed driver to provide an interface for transmitting requests from the driver stub to driver.
    Type: Grant
    Filed: May 1, 2012
    Date of Patent: November 13, 2012
    Assignee: Parallels IP Holdings GmbH
    Inventors: Stanislav S. Protassov, Alexander G. Tormasov, Serguei M. Beloussov
  • Patent number: 8302110
    Abstract: To simplify the structure and improve the performance of virtualization software. There is provided virtualization unit for capturing a configuration access to a physical device from a virtual CPU, identifying a partition to which the physical device belongs from a device address of the physical device accessed by the virtual CPU, and if the physical device does not belong to the virtual CPU's own partition, replacing a content of a configuration register that identifies the physical device with information on a nonexistent dummy device, and notifying the resultant to the virtual CPU. The physical device not belonging to the virtual CPU's own partition is recognized as a named valid device by using a dummy device driver corresponding to the dummy device. The dummy device driver rejects execution of processing common to all physical devices that is requested by the virtual CPU and disturbs operation of a physical device belonging to another partition.
    Type: Grant
    Filed: March 3, 2010
    Date of Patent: October 30, 2012
    Assignee: NEC Corporation
    Inventor: Takeshi Koike
  • Patent number: 8291438
    Abstract: Procedures for printing virtualized applications are discussed. In implementations, a spooler is associated with an established virtual environment including a virtualized application. The spooler may be associated by making a native spooler, installed on a computing system aware of the virtual environment. In other implementations, the spooler may be virtualized such as by including an instance of a spooler in the virtual environment. A printer driver may be virtualized for use in print virtual application output. Virtualizing printer drivers may allow virtual applications to access and use printer and/or software resources without installing the resource on the device.
    Type: Grant
    Filed: June 29, 2007
    Date of Patent: October 16, 2012
    Assignee: Microsoft Corporation
    Inventors: John M Sheehan, Cread W Mefford, Stuart H Schaefer, Jeffrey J Bromberger
  • Patent number: 8286162
    Abstract: Embodiments of apparatuses, methods, and systems for delivering an interrupt to a virtual processor are disclosed. In one embodiment, an apparatus includes an interface to receive an interrupt request, delivery logic, and exit logic. The delivery logic is to determine, based on an attribute of the interrupt request, whether the interrupt request is to be delivered to the virtual processor. The exit logic is to transfer control to a host if the delivery logic determines that the interrupt request is not to be delivered to the virtual processor.
    Type: Grant
    Filed: December 30, 2005
    Date of Patent: October 9, 2012
    Assignee: Intel Corporation
    Inventors: Gilbert Neiger, Rajesh Sankaran Madukkarumukumana, Richard A. Uhlig, Udo Steinberg, Sebastian Schoenberg, Sridhar Muthrasanallur, Steven M. Bennett, Andrew V. Anderson, Erik C. Cota-Robles
  • Publication number: 20120254898
    Abstract: The present invention relates to an information processing apparatus, in which an operating system (OS) is executable in such a way that a component operable based on administrator's authority can realize installation of a device driver. The information processing apparatus includes a selection unit configured to select a peripheral device that serves as an output destination of a processing request if the processing request is received from a user via an application, and a management unit configured to control setting processing for a device driver applicable to the selected peripheral device to use the peripheral device. The management unit is configured to request a first component operable on the OS based on administrator's authority to perform setting processing for a device driver applicable to the selected peripheral device.
    Type: Application
    Filed: March 26, 2012
    Publication date: October 4, 2012
    Applicant: CANON KABUSHIKI KAISHA
    Inventor: Hiroaki Nakata
  • Patent number: 8265075
    Abstract: An apparatus and method bridges frames between entities running on the same server. The server has a physical network interface that supports I/O virtualization. The physical network interface has an IOV device with a bridging function capable of bridging frames between entities running on the server. A network switch has a physical port coupled to the server by a physical link and a switching fabric in communication with the physical port for transmitting and receiving Ethernet data frames to and from the IOV device. A control processor, in communication with the IOV device, configures the bridging function of the IOV device to bridge some frames locally within the server between the entities running on the server and to pass other frames through the IOV device over the physical link to the physical port and the switching fabric, so that the switching fabric bridges these other frames between the entities.
    Type: Grant
    Filed: March 16, 2010
    Date of Patent: September 11, 2012
    Assignee: International Business Machines Corporation
    Inventor: Vijoy Pandey