IP Library Granted Patent US 9,904,634
Granted Patent B2
US 9,904,634 · App. 14/516,781 · Granted Feb 27, 2018

Input signal emulation

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,904,634
App. No.
14/516,781
Granted
Feb 27, 2018
Kind
B2
Abstract

Input signals, received by a primary computer, are emulated to a guest computer. For example, an input redirection component is connected between the primary computer and the guest computer. The primary computer may be communicatively connected to an input device (e.g., a touch display, a keyboard, etc.). The guest computer may not, however, be communicatively connected to the input device, and thus may be unaware of input signals from the input device. Accordingly, the input redirection component may receive, from the primary computer, a message regarding an input signal from the input device. The input redirection component may emulate the input device (e.g., connect to the guest computer as though the input redirection component is the input device), and may provide an emulated input signal, emulating the input signal, to the guest computer (e.g., the input signal, received by the primary computer, may be used to control the guest computer).

Claims (63)

1. A system for providing an emulated input signal to a guest computer connected to a display by a video connection which does not support input signals associated with the display to be transmitted to the guest computer, the system comprising:

an input redirection component comprising a first controller component and a second controller component,

the first controller component coupled to a primary computer by a first communication channel, the primary computer associated with the display that receives and displays video from the guest computer, and the primary computer coupled to an input device, and the first controller component coupled to the second controller component by a second communication channel,

the first controller component configured to:

receive a message, over the first communication channel, from the primary computer, the message indicating that an input signal, received by the primary computer from the input device, is to be forwarded to the guest computer, the guest computer not coupled to the input device and the guest computer connected to the display by the video connection which does not allow input signals from the input device to be transmitted to the guest computer; and

relay the message, over the second communication channel, to the second controller component; and

the second controller component coupled to the guest computer by a third communication channel, the second controller configured to:

generate an emulated input signal based upon the message relayed by the first controller component to the second controller component, the emulated input signal formatted to appear as though the input signal originated from an emulated input device coupled to the guest computer over the third communication channel; and

provide the emulated input signal, over the third communication channel, to the guest computer which is connected to the display by the video connection which does not allow input signals from the input device to be transmitted to the guest computer;

wherein at least one of the first communication channel, the second communication channel, and the third communication channel comprises a bi-directional communication channel.

2. The system of claim 1 , the input device not identifiable by the guest computer.

3. The system of claim 1 , the input device comprising at least one of a stylus, a touch device, a camera, a touch display, an eye tracking device, a keyboard, or a mouse.

4. The system of claim 1 , at least one of the primary computer or the guest computer comprising at least one of an embedded computer within a touch display, a videogame console, a tablet, a laptop, a wearable device, a mobile device, a personal computer, or a kiosk.

5. The system of claim 1 , the guest computer coupled to a display, associated with the primary computer, by a video communication channel.

6. The system of claim 1 , the second controller component configured to:

generate the emulated input signal as an emulated signal appearing to have originated from a device comprising at least one of a universal serial bus human interface device or a wireless communication device; and

provide the emulated input signal to a device driver, corresponding to the device, hosted on the guest computer.

7. The system of claim 1 , the second controller component configured to:

identify a device type of the input device; and

connect to the guest computer as an emulation of the device type to appear as the emulated input device.

8. The system of claim 1 , comprising:

a video projection component, associated with the primary computer, configured to:

receive a video signal from the guest computer;

define a guest display region for a display associated with the primary computer;

format the video signal for the guest display region to create a guest interface; and

display the guest interface through the display.

9. The system of claim 8 , the input redirection component configured to:

identify the input signal as an input associated with the guest interface.

10. The system of claim 8 , the video projection component configured to display a primary interface, associated with the primary computer, concurrently with the display of the guest interface on the display, and the input redirection component configured to distinguish the input signal as being associated with the guest interface and not the primary interface.

11. A method for providing an emulated input signal to a guest computer connected to a display by a video connection which does not support input signals associated with the display to be transmitted to the guest computer, the method comprising:

establishing a first communication channel with an input device coupled to a primary computer, the primary computer associated with the display that receives and displays video from the guest computer, the guest computer connected to the display by the video connection which does not allow input signals from the input device to be transmitted to the guest computer;

receiving, by the primary computer over the first communication channel, an input signal from the input device;

establishing a second communication channel with an input redirection component;

sending a message, over the second communication channel, to the input redirection component, the message instructing the input redirection component to emulate the input device, to the guest computer, as an emulated input device and to provide an emulated input signal, as an emulation of the input signal, to the guest computer over a third communication channel between the input redirection component and the guest computer;

wherein at least one of the first communication channel and the second communication channel comprises a bi-directional communication channel.

12. The method of claim 11 , comprising:

receiving a virtualized input signal from an application associated with the primary computer, the virtualized input signal corresponding to a virtualized input device emulated by the application; and

sending a second message, over the second communication channel, to the input redirection component, the second message instructing the input redirection component to emulate the virtualized input device, to the guest computer, as an emulated virtualized input device and to provide an emulated virtualized input signal, as an emulation of the virtualized input signal, to the guest computer over the third communication channel.

13. The method of claim 11 , comprising:

receiving a video signal from the guest computer;

defining a guest display region for a display associated with the primary computer;

formatting the video signal for the guest display region to create a guest interface; and

displaying the guest interface through the display.

14. The method of claim 13 , comprising:

displaying a primary interface, associated with the primary computer, concurrently with the display of the guest interface on the display; and

distinguishing the input signal as being associated with the guest interface and not the primary interface.

15. The method of claim 11 , the input device not identifiable by the guest computer.

16. The method of claim 11 , comprising:

generating the emulated input signal as an emulated signal appearing to have originated from a universal serial bus human interface device; and

providing the emulated input signal to a device driver, corresponding to the universal serial bus human interface device, hosted on the guest computer.

17. The method of claim 11 , comprising:

identifying a device type of the input device; and

connecting to the guest computer as an emulation of the device type to appear as the emulated input device.

18. A computer program product comprising one or more computer readable hardware storage devices comprising instructions which when executed perform a method for providing an emulated input signal to a guest computer connected to a display by a video connection which does not support input signals associated with the display to be transmitted to the guest computer, the method comprising:

establishing a first communication channel with a primary computer coupled to an input redirection component;

establishing a second communication channel between the input redirection component and the guest computer, the guest computer connected to the display by the video connection which does not allow input signals from an input device to be transmitted to the guest computer;

receiving a message over the first communication channel from the primary computer, the message indicating that an input signal, received by the primary computer from the input device coupled to the primary computer, is to be forwarded to the guest computer, the guest computer not coupled to the input device;

generating an emulated input signal based upon the message, the emulated input signal formatted to appear as though the input signal originated from an emulated input device coupled to the guest computer; and

providing the emulated input signal, over the second communication channel, to the guest computer;

wherein at least one of the first communication channel and the second communication channel comprises a bi-directional communication channel.

19. The computer program product of claim 18 , comprising:

identifying a device type of the input device; and

connecting to the guest computer as an emulation of the device type to appear as the emulated input device.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2015
From: CASE, CHARLES WHIPPLE, JR; DAVIDSON, PHILIP LINDSLEY; FISH, NATHAN JAMES; HILSDALE, MICHAEL C.; LECLAIRE, AARON WILLIAM; WILLIAMS, ROBERT PHILIP
To: MICROSOFT CORPORATION
Reel/Frame 036508/0584 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING LLC
Reel/Frame 036508/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034819/0001 →