US 12,112,191 B2
Providing device abstractions to applications inside a virtual machine
Alessandro Domenico Scarpantoni, Redmond, WA (US); Shyamal Kaushik Varma, Issaquah, WA (US); Ajay Preetham Barboza, Woodinville, WA (US); Jason Christopher Knichel, Seattle, WA (US); Adam Joseph Lenart, Seattle, WA (US); and Samuel David Adams, Bellevue, WA (US)
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Oct. 26, 2023, as Appl. No. 18/495,125.
Application 18/495,125 is a continuation of application No. 16/706,546, filed on Dec. 6, 2019, granted, now 11,829,791.
Prior Publication US 2024/0241746 A1, Jul. 18, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/455 (2018.01); G06F 21/53 (2013.01)
CPC G06F 9/45558 (2013.01) [G06F 9/45545 (2013.01); G06F 21/53 (2013.01); G06F 2009/45579 (2013.01); G06F 2009/45583 (2013.01); G06F 2009/45587 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A host device, comprising:
a memory; and
a processor, wherein the host device hosts a guest device operable to:
receive, from the host device, a notification for a device in communication with the host device;
use information from the notification for the device to select a proxy device from a plurality of proxy devices in the guest device, the plurality of proxy devices supporting input/output redirection, wherein the proxy device is a duplicative device that is compatible with the device and provides the guest device with full access to functionality of the device;
load an input/output redirection driver for the proxy device to communicate with the device; and
redirect, using the input/output redirection driver, input/output requests received from an application in the guest device to the device in communication with the host device.