IP Library Granted Patent US 9,667,703
Granted Patent B1
US 9,667,703 · App. 14/161,157 · Granted May 30, 2017

System, method and computer program product for generating remote views in a virtual mobile device platform

Inventors: Brian J. Vetter (Austin, TX); Patrick Turley (Austin, TX)
Assignee: Hypori, Inc.
H04L67/10G06F3/068G06F9/455
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,667,703
App. No.
14/161,157
Granted
May 30, 2017
Kind
B1
Abstract

Embodiments disclosed herein provide a system, method, and computer program product for generating remote views in a virtual mobile device platform. In one embodiment, events from a physical mobile device are sent to a distant virtual device. The virtual device creates views based on the received events. Graphical attributes of one or more of the created views are captured and sent to the physical mobile device. Remote views are generated at the physical mobile device based on the attributes received from the virtual device.

Claims (68)

1. A method of generating remote views in a virtual mobile device platform comprising:

receiving, at a virtual mobile device running on the virtual mobile device platform, events from a physical mobile device, the virtual mobile device platform embodied on one or more server machines;

creating views at the virtual mobile device in response to the received events;

capturing one or more graphical attributes from information relating to one or more of the views created at the virtual mobile device running on the virtual mobile device platform;

sending, by the one or more server machines, the captured one or more graphical attributes to the physical mobile device over a network, the captured one or more graphical attributes describing the one or more views created at the virtual mobile device responsive to the events collected at the physical mobile device;

creating, at the physical mobile device, one or more mirror views based on the captured one or more graphical attributes, the one or more mirror views created at the physical mobile device mirroring the one or more of the views created at the virtual mobile device running on the virtual mobile device platform;

at the virtual mobile device, determining which of the views has no attribute data;

encoding and compressing any display information for any view that cannot be described by their attributes; and

sending the encoded and compressed display information to the physical mobile device.

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

composing the one or more mirror views within one or more surfaces of an application running on the physical mobile device.

3. The method according to claim 1 , wherein the views created at the virtual mobile device running on the virtual mobile device platform represent visual content of an application running on the physical mobile device.

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

at the physical mobile device, providing the events to an application running on the physical mobile device; and

the application relaying the events to the virtual mobile device running on the virtual mobile device platform.

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

creating

augmented views and graphic operations,

augmented layouts, and

augmented surfaces at the virtual mobile device;

capturing attribute data associated with the augmented views and graphic operations, the augmented layouts, and the augmented surfaces; and

sending the captured attribute data to the physical mobile device.

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

creating one or more mirrored layouts at the physical mobile device using the captured attribute data;

composing one or more surfaces of an application running on the physical mobile device using the one or more mirrored views and the one or more mirrored layouts; and

generating a display for the application running on the physical mobile device using the composed one or more surfaces.

7. The method according to claim 1 , further comprising, reducing network latency by identifying, by the virtual mobile device, one or more events whose visual effect can be handled locally by the physical mobile device, and, responsive to the identifying, not sending attribute data relating to the identified one or more events to the physical mobile device.

8. A computer program product comprising at least one non-transitory computer readable medium storing instructions translatable by at least one processor to perform:

receiving, at a virtual mobile device running on a virtual mobile device platform events from a physical mobile device, the virtual mobile device platform embodied on one or more server machines;

creating views at the virtual mobile device in response to the received events;

capturing one or more graphical attributes from information relating to one or more of the views created at the virtual mobile device running on the virtual mobile device platform;

sending the captured one or more graphical attributes to the physical mobile device over a network, the captured one or more graphical attributes describing the one or more views created at the virtual mobile device responsive to the events collected at the physical mobile device, wherein the physical mobile device creates one or more mirror views based on the captured one or more graphical attributes received from the virtual mobile device, the one or more mirror views created at the physical mobile device mirroring the one or more of the views created at the virtual mobile device running on the virtual mobile device platform;

at the virtual mobile device, determining which of the views has no attribute data;

encoding and compressing any display information for any view that cannot be described by their attributes; and

sending the encoded and compressed display information to the physical mobile device.

9. The computer program product of claim 8 , wherein the physical mobile device composes the one or more mirror views within one or more surfaces of an application running on the physical mobile device.

10. The computer program product of claim 8 , wherein the views created at the virtual mobile device running on the virtual mobile device platform represent visual content of an application running on the physical mobile device.

11. The computer program product of claim 8 , wherein the events are provided to an application running on the physical mobile device and wherein the application relays the events to the virtual mobile device running on the virtual mobile device platform.

12. The computer program product of claim 8 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the at least one processor to perform;

creating

augmented views and graphic operations,

augmented layouts, and augmented surfaces at the virtual mobile device; capturing attribute data associated with the augmented views and graphic operations, the augmented layouts, and the augmented surfaces; and

sending the captured attribute data to the physical mobile device.

13. The computer program product of claim 12 , wherein one or more mirrored layouts are created at the physical mobile device using the captured attribute data, wherein one or more surfaces of an application running on the physical mobile device are composed using the one or more mirrored views and the one or more mirrored layouts, and wherein a display for the application running on the physical mobile device is generated using the composed one or more surfaces.

14. The computer program product of claim 8 , wherein the virtual mobile device running on the virtual mobile device platform identifies one or more events whose visual effect can be handled locally by the physical mobile device, and, responsive to the identifying, does not send attribute data relating to the identified one or more events to the physical mobile device.

15. A system, comprising:

at least one processor; and

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

receiving, at a virtual mobile device running on a virtual mobile device platform, events from a physical mobile device;

creating views at the virtual mobile device in response to the received events;

capturing one or more graphical attributes from information relating to one or more of the views created at the virtual mobile device running on the virtual mobile device platform;

sending the captured one or more graphical attributes to the physical mobile device, the captured one or more graphical attributes describing the one or more views created at the virtual mobile device responsive to the events collected at the physical mobile device, wherein the physical mobile device creates one or more mirror views based on the captured one or more graphical attributes received from the virtual mobile device, the one or more mirror views created at the physical mobile device mirroring the one or more of the views created at the virtual mobile device running on the virtual mobile device platform;

at the virtual mobile device, determining which of the views has no attribute data;

encoding and compressing any display information for any view that cannot be described by their attributes; and

sending the encoded and compressed display information to the physical mobile device.

16. The system of claim 15 , wherein the physical mobile device composes the one or more mirror views within one or more surfaces of an application running on the physical mobile device.

17. The system of claim 15 , wherein the views created at the virtual mobile device running on the virtual mobile device platform represent visual content of an application running on the physical mobile device.

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

creating

augmented views and graphic operations,

augmented layouts, and

augmented surfaces at the virtual mobile device;

capturing attribute data associated with the augmented views and graphic operations, the augmented layouts, and the augmented surfaces; and

sending the captured attribute data to the physical mobile device.

19. The system of claim 18 , wherein one or more mirrored layouts are created at the physical mobile device using the captured attribute data, wherein one or more surfaces of an application running on the physical mobile device are composed using the one or more mirrored views and the one or more mirrored layouts, and wherein a display for the application running on the physical mobile device is generated using the composed one or more surfaces.

20. The system of claim 15 , wherein the at least one nontransitory computer readable medium stores further instructions translatable by the at least one processor to perform:

identifying one or more events whose visual effect can be handled locally by the physical mobile device; and

responsive to the identifying, not sending attribute data relating to the identified one or more events to the physical mobile device.

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 22, 2014
From: VETTER, BRIAN J.; TURLEY, PATRICK
To: DROIDCLOUD, INC.
Reel/Frame 032021/0515 →
Continuity (1)
Provisional Application 61755205 · Jan 22, 2013