G06F13/105

Multi-root peripheral component interconnect manager

Described herein is a detachable multi-host computing system (100) having multiple host processors running different operating systems. In one implementation, the multi-host computing system (100) includes a detachable unit (102) and a base unit (104). Each of the detachable unit (102) and the base unit (104) includes an MR-IOV switch and a MR-PCIM for controlling the MR-IOV switch. In one embodiment, the MR-PCIM for both the detachable unit (102) and the base unit (104) is configured such that a single MR-PCIM switch may be used for enumerating peripheral devices connected to the detachable unit (102) and the base unit (104) when the detachable unit (102) and the base unit (104) are in an attached mode.

Universal serial bus emulation of a host connection
09772956 · 2017-09-26 · ·

A system and method for emulating a universal serial bus device is disclosed. An example embodiment may include an emulated USB (EUP) device that can emulate a host side of a USB connection. This device may have a microcontroller that is programmable with software to emulate a host connection of a physical USB device. In order to emulate a host connection of a USB device, the EUP device may configure USB host mode bus signals, initiate USB frames on the bus, indicate device status to an emulation process, and relay packets between a device and the emulation process.

Universal serial bus emulation of peripheral devices
09811480 · 2017-11-07 · ·

A system and method for emulating a universal serial bus device is disclosed. An example embodiment may include an emulated USB (EUP) device that can emulate physical USB peripherals. This device may have a microcontroller that is programmable with software to emulate a plurality of physical USB peripheral devices by supporting multiple USB profiles. In order to emulate a specific physical USB peripheral device, the EUP device may receive specific descriptors including device identifiers related to the particular physical USB peripheral device being emulated. The EUP device may communicate with a test executor computing device that simulates the USB interactions of the physical USB peripheral device using a serial protocol. Communication between the EUP device and a computing device under test may occur via USB protocol.

Isolated KVM combiner for multi-network computer system having a video processor
09767049 · 2017-09-19 · ·

The present invention presents apparatuses and systems for operating multiple computers from a single keyboard and a single mouse and view composite videos generated from video output of the multiple computers on a single display, while preventing any possible information leakage between the computers. Keyboard and mouse commands detected by a host controller are used to control a video processor and a peripheral switch. The peripheral switch directs keyboard and mouse signals to one selected host and at the same time, the video processor creates an active display window showing video information from the selected host. Physical unidirectional isolators in the video, keyboard and mouse channels prevent any potential data leakages between hosts.

Dynamic user interactions for display control
09766709 · 2017-09-19 · ·

The technology disclosed relates to using gestures to supplant or augment use of a standard input device coupled to a system. It also relates to controlling a display using gestures. It further relates to controlling a system using more than one input device. In particular, it relates to detecting a standard input device that causes on-screen actions on a display in response to control manipulations performed using the standard input device. Further, a library of analogous gestures is identified, which includes gestures that are analogous to the control manipulations and also cause the on-screen actions responsive to the control manipulations. Thus, when a gesture from the library of analogous gestures is detected, a signal is generated that mimics a standard signal from the standard input device and causes at least one on-screen action.

Providing virtual optical disk drive

A method for providing a virtual optical disk drive (ODD) is provided. The method can comprise: simulating a PCI IDE controller through PCI configuration space IO trap and simulating the ODD through IDE device IO trap.

Network interface controller emulation

Examples disclosed herein provide systems, methods, and software for network interface controller emulation. In one example, a method of operating a storage subsystem coupled with a host includes emulating, to a main processing system on the host, a network connection through an emulated network interface controller (NIC) to a storage volume. The method further includes receiving, over a bus between the main processing system and the storage subsystem, a data request originated by the main processing system and directed to the emulated NIC that requests access to the storage volume. The method also includes providing the main processing system with the access to the storage volume via the emulated NIC as if the storage volume were accessible over the network connection.

SYSTEMS AND METHODS OF PROVIDING AN ABSTRACTION LAYER BETWEEN AN APPLICATION LAYER AND HARDWARE COMPONENTS OF A COMPUTING DEVICE

A method of providing an abstraction layer between an application layer and one or more existing hardware components of a computing device includes receiving a request for a resource from the application layer, determining a component type for performing a task according to the request for the resource, determining whether the one or more existing hardware components of the computing device correspond to the component type for performing the task based on a predetermined function of the one or more existing hardware components, converting the task into a translated task readable by the one or more existing hardware components, providing the translated task to the one or more existing hardware components, receiving an output from the one or more existing hardware components as a result of providing the translated task, and providing the output to the application layer as an emulated output that mimics an expected output of the component type.

Managing related devices for virtual machines utilizing shared device data
11194606 · 2021-12-07 · ·

Aspects of the disclosure provide for mechanisms for managing related devices for virtual machines in a computer system. A method of the disclosure includes: associating, by a processing device executing a hypervisor, hypervisor data with a first bridge device; attaching a first device associated with a virtual machine to the first bridge device; identifying a second device related to the first device; associating, by the processing device, the hypervisor data with the second device. In some embodiments, the second device is a failover device of the first device.

SYSTEM AND METHOD FOR SCHEDULING SHARABLE PCIE ENDPOINT DEVICES

System and method for sharing a PCIe endpoint device with a plurality of host computers, by allocating a quantum of time to a host computer of a plurality of host computers coupled to a PCIe switch, wherein the quantum of time identifies a duration of time during which the host computer has exclusive access to a shareable PCIe endpoint device coupled to the PCIe switch. Requests from the host computer are transmitted to an emulated PCIe endpoint device of the PCIe switch during the quantum of time and the requests are then redirected from the emulated PCIe endpoint device to the shareable PCIe endpoint device during the quantum of time allocated to the host computer.