IP Library Granted Patent US 8,302,094
Granted Patent B2
US 8,302,094 · App. 12/492,575 · Granted Oct 30, 2012

Routing a physical device request using transformer stack to an equivalent physical device in a virtualized mobile device

Assignee: VMware, Inc.
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 8,302,094
App. No.
12/492,575
Granted
Oct 30, 2012
Kind
B2
Abstract

One embodiment is a virtualized mobile device including virtualization software that supports one or more virtual machines and further includes: (a) device emulation software that communicates with device driver software in the one or more virtual machines; (b) device driver software that communicates with one or more physical devices of the mobile device; and (c) transformer stack software that interacts with the device emulation software and the device driver software.

Claims (28)

1. In a virtualized mobile device comprised of virtualization software that supports one or more virtual machines, the virtualized mobile device comprising:

device emulation software that communicates with a guest device driver in a virtual machine running in the virtualized mobile device, wherein the device emulation software emulates a physical device that the guest device driver in the virtual machine interacts with;

an actual device driver that communicates with an actual physical device of the mobile device, wherein the actual physical device performs an equivalent but different function as that supported by the emulated physical device; and

transformer stack software that interacts with the device emulation software and the actual device driver software, wherein a message to perform an action sent from the guest device driver to the emulated physical device is transformed and routed by the transformer stack software to the actual device driver corresponding to the actual physical device such that the transformed message is actionable by the actual physical device.

2. The virtualized mobile device of claim 1 wherein the transformer stack software communicates data and control information.

3. The virtualized mobile device of claim 2 wherein:

the transformer stack software comprises one or more software transformers.

4. The virtualized mobile device of claim 3 wherein:

one or more of the one or more of the software transformers are bi-directional in that data and control information can flow in a first and a second direction.

5. The virtualized mobile device of claim 3 wherein one or more of the software transformers comprise function pointers that indicate a software transformer in a path of data and control information flow.

6. The virtualized mobile device of claim 3 wherein one or more of the software transformers comprise a multiplexor comprised of a multiplicity of function pointers for a path through the transformer in a first direction.

7. The virtualized mobile device of claim 3 wherein one or more of the software transformers comprise a demultiplexor comprised of a multiplicity of function pointers for a path through the transformer in a second direction.

8. The virtualized mobile device of claim 3 wherein one or more of the software transformers comprise a filter.

9. The virtualized mobile device of claim 3 wherein the virtualization software comprises a management client that communicates with one or more of the software transformers of the transformer stack software.

10. The virtualized mobile device of claim 3 wherein the management client communicates control information to one or more of the one or more software transformers, which control information effects the functionality of the one or more of the one or more software transformers.

11. The virtualized mobile device of claim 10 wherein a server communicates with the management client through one of the physical devices of the mobile device.

12. The virtualized mobile device of claim 10 wherein a server communicates with one of the one or more virtual machines.

13. The method of claim 1 wherein:

the emulated physical device does not have a corresponding actual physical device in the virtualized mobile device, and

the actual physical device in which the transformed message is routed to is different from the emulated physical device.

14. A method comprising:

receiving, at device emulation software in a mobile computing device, a message to perform an action sent from a guest device driver in a virtual machine running on the mobile computing device to an emulated physical device, wherein the device emulation software emulates a physical device that the guest device driver in the virtual machine interacts with; and

transforming and routing, by transformer stack software that interacts with the device emulation software and an actual device driver in the mobile computing device, the message received at the device emulation software to the actual device driver corresponding to an actual physical device of the mobile computing device such that the transformed message is actionable by the actual physical device, wherein the actual physical device performs an equivalent but different function as that supported by the emulated physical device.

15. The method of claim 14 wherein the transformer stack software communicates data and control information.

16. The method of claim 15 wherein the transformer stack software comprises one or more software transformers.

17. The method of claim 16 wherein one or more of the one or more of the software transformers are bi-directional in that data and control information can flow in a first and a second direction.

18. The method of claim 16 wherein one or more of the software transformers comprise function pointers that indicate a software transformer in a path of data and control information flow.

19. The method of claim 16 wherein one or more of the software transformers multiplex a multiplicity of function pointers for a path through the transformer in a first direction.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067103/0030 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2009
From: ROGEL, LAWRENCE S.; DEVINE, SCOTT W.
To: VMWARE, INC.
Reel/Frame 023058/0531 →
Continuity (1)
Related Publication 20100333088A1 · Dec 30, 2010