IP Library Granted Patent US 9,380,456
Granted Patent B1
US 9,380,456 · App. 14/161,069 · Granted Jun 28, 2016

System, method and computer program product for dynamically switching operating systems in a virtual mobile device platform

Inventors: Robert D. Lee (Austin, TX); Justin P. Marston (Austin, TX)
Assignee: Hypori, Inc.
H04W8/245H04W12/08
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,380,456
App. No.
14/161,069
Granted
Jun 28, 2016
Kind
B1
Abstract

Embodiments disclosed herein provide a system, method, and computer program product for dynamically switching virtual devices in a virtual mobile device platform. The virtual devices may use any desired operating system or operating system version. In some embodiments, a launch application installed on a secondary virtual device is defined for opening a file of a given file type. Upon a request to open a file of the given file type, the secondary virtual device is launched, and a connection is established with a client device. A client device can connect to a secondary virtual device by using a primary virtual device as a proxy, or by using a bypass channel connection.

Claims (46)

1. A method for dynamically switching virtual devices in a virtual mobile device platform, the method comprising:

a mobile device establishing a first connection over a network to a primary virtual device running on the virtual mobile device platform;

subsequent to a triggering event, establishing a second connection that connects the primary virtual device to a secondary virtual device;

performing a session handover between the primary virtual device and the secondary virtual device over the second connection, the session handover including context information; and

passing data from the secondary virtual device to the mobile device over the network.

2. The method according to claim 1 , wherein the primary virtual device and the secondary virtual device have same operating system or different operating systems.

3. The method according to claim 1 , further comprising:

terminating the second connection to the secondary virtual device when a task associated with the triggering event is completed or per an instruction received from the mobile device.

4. The method according to claim 3 , further comprising:

prior to terminating the second connection to the secondary virtual device, passing data from the secondary virtual device to the primary virtual device.

5. The method according to claim 3 , further comprising:

subsequent to terminating the second connection to the secondary virtual device, shutting down the secondary virtual device or running the secondary virtual device in a background process.

6. The method according to claim 1 , further comprising:

providing a user of the mobile device with simultaneous or substantially simultaneous access to the primary virtual device and to the secondary virtual device.

7. The method according to claim 1 , wherein the virtual mobile device platform is hosted in a cloud having multiple management domains and wherein the primary virtual device and the secondary virtual device are in same management domain or different management domains in the cloud.

8. A computer program product comprising at least one non-transitory computer readable medium storing instructions translatable by a virtual mobile device platform server machine to perform:

establishing a first connection over a network between a mobile device and a first virtual device running on the virtual mobile device platform;

subsequent to a triggering event, establishing a second connection between the first virtual device and a second virtual device;

performing a session handover between the first virtual device and the second virtual device over the second connection, the session handover including context information; and

passing data from the second virtual device to the mobile device over the network.

9. The computer program product of claim 8 , wherein the first virtual device and the second virtual device have same operating system or different operating systems.

10. The computer program product of claim 8 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the virtual mobile device platform server machine to perform:

terminating the second connection between the first virtual device and the second virtual device when a task associated with the triggering event is completed or per an instruction received from the mobile device.

11. The computer program product of claim 10 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the virtual mobile device platform server machine to perform:

prior to terminating the second connection between the first virtual device and the second virtual device, passing data from the second virtual device to the first virtual device.

12. The computer program product of claim 10 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the virtual mobile device platform server machine to perform:

subsequent to terminating the second connection between the first virtual device and the second virtual device, shutting down the second virtual device or running the second virtual device in a background process.

13. The computer program product of claim 8 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the virtual mobile device platform server machine to perform:

providing a user of the mobile device with simultaneous or substantially simultaneous access to the first virtual device and to the second virtual device.

14. A system, comprising:

at least one processor;

at least one non-transitory computer readable medium storing instructions translatable by the at least one processor to perform:

establishing a first connection over a network between a mobile device and a first virtual device running on the virtual mobile device platform;

subsequent to a triggering event, establishing a second connection between the first virtual device and a second virtual device;

performing a session handover between the first virtual device and the second virtual device over the second connection, the session handover including context information; and

passing data from the second virtual device to the mobile device over the network.

15. The system of claim 14 , wherein the first virtual device and the second virtual device have same operating system or different operating systems.

16. The system of claim 14 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the at least one processor to perform:

terminating the second connection between the first virtual device and the second virtual device when a task associated with the triggering event is completed or per an instruction received from the mobile device.

17. The system of claim 16 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the at least one processor to perform:

prior to terminating the second connection between the first virtual device and the second virtual device, passing data from the second virtual device to the first virtual device.

18. The system of claim 14 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the at least one processor to perform:

subsequent to terminating the second connection between the first virtual device and the second virtual device, shutting down the second virtual device or running the second virtual device in a background process.

19. The system of claim 14 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the at least one processor to perform:

providing a user of the mobile device with simultaneous or substantially simultaneous access to the first virtual device and to the second virtual device.

20. The system of claim 14 , wherein the virtual mobile device platform is hosted in a cloud having multiple management domains and wherein the primary virtual device and the secondary virtual device are in same management domain or different management domains in the cloud.

Assignments (5)
CHANGE OF NAME Recorded Aug 12, 2023
From: HYPORI LLC
To: HYPORI, INC.
Reel/Frame 064573/0189 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2020
From: INTELLIGENT WAVES LLC
To: HYPORI LLC
Reel/Frame 054741/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2017
From: HYPORI, INC.
To: INTELLIGENT WAVES LLC
Reel/Frame 044032/0965 →
CHANGE OF NAME Recorded Dec 16, 2014
From: DROIDCLOUD, INC.
To: HYPORI, INC.
Reel/Frame 034649/0861 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2014
From: LEE, ROBERT D.; MARSTON, JUSTIN P.
To: DROIDCLOUD, INC.
Reel/Frame 032044/0793 →
Continuity (1)
Provisional Application 61755205 · Jan 22, 2013