IP Library Granted Patent US 9,280,358
Granted Patent B1
US 9,280,358 · App. 14/303,723 · Granted Mar 8, 2016

Configuring a computer for using mobile devices as input and output devices

Inventors: Matthew David Ginzton (San Francisco, CA); Dustin Michael Byford (Pacifica, CA)
Assignee: VMware, Inc.
G06F9/4411
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,280,358
App. No.
14/303,723
Granted
Mar 8, 2016
Kind
B1
Abstract

A method determines mobile devices for connection to a computer that has an operating system for a user session. Then, the method configures device drivers to enable communication between the operating system and the mobile devices. The operating system is configured to use a first mobile device as a first type of input/output (I/O) device and the operating system is configured to use a second mobile device as a second type of input/output (I/O) device. Also, the method processes communications between the mobile devices and the operating system via the device drivers for the user session. A first type of communication is between the first mobile device and the operating system via the first device driver to use the first mobile device as the first type of I/O device and a second type of communication is between the second mobile device and the operating system via the second device driver to use the second mobile device as the second type of I/O device.

Claims (57)

1. A method comprising:

receiving a first message indicating a first mobile device in a plurality of mobile devices is requesting to join a user session as a first type of input/output (I/O) device and receiving a second message indicating a second mobile device in the plurality of mobile devices is requesting to join the user session as a second type of input/output (I/O) device;

determining a first device driver to enable communication between an operating system and a first type of the first mobile device as the first type of input/output (I/O) device and determining a second device driver to enable communication between the operating system and a second type of the second mobile device as the second type of input/output (I/O) device; and

processing a first type of communication between the first mobile device and the operating system via the first device driver to use the first mobile device as the first type of I/O device and a second type of communication between the second mobile device and the operating system via the second device driver to use the second mobile device as the second type of I/O device.

2. The method as recited in claim 1 , further comprising configuring a plurality of ports to enable communication between the operating system and the plurality of mobile devices, wherein a first port is selected based on the first type of I/O device and the second port is selected based on the second type of I/O device.

3. The method as recited in claim 2 , further comprising:

determining whether the operating system allows the first type of I/O device or the second type of I/O device; and

configuring the first port or the second port only when the operation system allows the first type of I/O device or the second type of I/O device, respectively.

4. The method as recited in claim 1 , wherein

processing the first type of communication or the second type of communication comprises:

translating, using the first device driver or the second device driver, the first type of communication or the second type of communication from the first mobile device or the second mobile device to the operating system to allow the first mobile device or the second mobile device to be used as the first type of I/O device or the second type of I/O device, respectively.

5. The method as recited in claim 1 , further comprising:

emulating, via a virtual machine, the first type of I/O device and the second type of I/O device to the virtual machine, wherein the first type of communication is via the emulated first type of I/O device and the second type of communication is via the emulated second type of I/O device.

6. The method as recited in claim 1 , further comprising:

providing a menu for a plurality of types of input/output (I/O) devices; and

receiving a first selection from the first mobile device that requests the first type of I/O device for the user session and a second selection from the second mobile device that requests the second type of I/O device for the user session.

7. The method as recited in claim 1 , wherein:

the first type of I/O device and the second type of I/O device are selected from a group comprising a mouse, keyboard, and screen, and

the first type of I/O device is different from the second type of I/O device.

8. A non-transitory computer-readable storage medium containing instructions, that when executed, control a computer system to be configured for:

receiving a first message indicating a first mobile device in a plurality of mobile devices is requesting to join a user session as a first type of input/output (I/O) device and receiving a second message indicating a second mobile device in the plurality of mobile devices is requesting to join the user session as a second type of input/output (I/O) device;

determining a first device driver to enable communication between an operating system and a first type of the first mobile device as the first type of input/output (I/O) device and determining a second device driver to enable communication between the operating system and a second type of the second mobile device as the second type of input/output (I/O) device; and

processing a first type of communication between the first mobile device and the operating system via the first device driver to use the first mobile device as the first type of I/O device and a second type of communication between the second mobile device and the operating system via the second device driver to use the second mobile device as the second type of I/O device.

9. The non-transitory computer-readable storage medium as recited in claim 8 , further configured for configuring a plurality of ports to enable communication between the operating system and the plurality of mobile devices, wherein a first port is selected based on the first type of I/O device and the second port is selected based on the second type of I/O device.

10. The non-transitory computer-readable storage medium as recited in claim 9 , further configured for:

determining whether the operating system allows the first type of I/O device or the second type of I/O device; and

configuring the first port or the second port only when the operation system allows the first type of I/O device or the second type of I/O device, respectively.

11. The non-transitory computer-readable storage medium as recited in claim 8 , wherein processing the first type of communication or the second type of communication comprises:

translating, using the first device driver or the second device driver, the first type of communication or the second type of communication from the first mobile device or the second mobile device to the operating system to allow the first mobile device or the second mobile device to be used as the first type of I/O device or the second type of I/O device, respectively.

12. The non-transitory computer-readable storage medium as recited in claim 8 , further comprising:

emulating, via a virtual machine, the first type of I/O device and the second type of I/O device to the virtual machine, wherein the first type of communication is via the emulated first type of I/O device and the second type of communication is via the emulated second type of I/O device.

13. The non-transitory computer-readable storage medium as recited in claim 8 , further configured for:

providing a menu for a plurality of types of input/output (I/O) devices; and

receiving a first selection from the first mobile device that requests the first type of I/O device for the user session and a second selection from the second mobile device that requests the second type of I/O device for the user session.

14. The non-transitory computer-readable storage medium as recited in claim 8 , wherein:

the first type of I/O device and the second type of I/O device are selected from a group comprising a mouse, keyboard, and screen, and

the first type of I/O device is different from the second type of I/O device.

15. An apparatus comprising:

one or more computer processors; and

a non-transitory computer-readable storage medium comprising instructions, that when executed, control the one or more computer processors to be configured for:

receiving a first message indicating a first mobile device in a plurality of mobile devices is requesting to join a user session as a first type of input/output (I/O) device and receiving a second message indicating a second mobile device in the plurality of mobile devices is requesting to join the user session as a second type of input/output (I/O) device;

determining a first device driver to enable communication between an operating system and a first type of the first mobile device as the first type of input/output (I/O) device and determining a second device driver to enable communication between the operating system and a second type of the second mobile device as the second type of input/output (I/O) device; and

processing a first type of communication between the first mobile device and the operating system via the first device driver to use the first mobile device as the first type of I/O device and a second type of communication between the second mobile device and the operating system via the second device driver to use the second mobile device as the second type of I/O device.

16. The apparatus as recited in claim 15 , further configured for configuring a plurality of ports to enable communication between the operating system and the plurality of mobile devices, wherein a first port is selected based on the first type of I/O device and the second port is selected based on the second type of I/O device.

17. The apparatus as recited in claim 16 , further configured for:

determining whether the operating system allows the first type of I/O device or the second type of I/O device; and

configuring the first port or the second port only when the operation system allows the first type of I/O device or the second type of I/O device, respectively.

18. The apparatus as recited in claim 15 , wherein processing the first type of communication or the second type of communication comprises:

translating, using the first device driver or the second device driver, the first type of communication or the second type of communication from the first mobile device or the second mobile device to the operating system to allow the first mobile device or the second mobile device to be used as the first type of I/O device or the second type of I/O device, respectively.

19. The apparatus as recited in claim 15 , further comprising:

emulating, via a virtual machine, the first type of I/O device and the second type of I/O device to the virtual machine, wherein the first type of communication is via the emulated first type of I/O device and the second type of communication is via the emulated second type of I/O device.

20. The apparatus as recited in claim 15 , further configured for:

providing a menu for a plurality of types of input/output (I/O) devices; and

receiving a first selection from the first mobile device that requests the first type of I/O device for the user session and a second selection from the second mobile device that requests the second type of I/O device for the user session.

21. The apparatus as recited in claim 15 , wherein:

the first type of I/O device and the second type of I/O device are selected from a group comprising a mouse, keyboard, and screen, and

the first type of I/O device is different from the second type of I/O device.

Assignments (3)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
Continuity (1)
Continuation 13435366 · Mar 30, 2012