IP Library Granted Patent US 9,619,673
Granted Patent B1
US 9,619,673 · App. 14/160,794 · Granted Apr 11, 2017

System, method and computer program product for capturing touch events for a virtual mobile device platform

Inventors: Brian J. Vetter (Austin, TX); Rajesh P. Gopi (West Lake Hills, TX); Galib Arrieta (Austin, TX)
Assignee: Hypori, Inc.
G06F21/83G06F3/0416
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,619,673
App. No.
14/160,794
Granted
Apr 11, 2017
Kind
B1
Abstract

Embodiments disclosed herein can allow a user of mobile device in a network environment to switch between using public network services and using private network services. To access private network services, a virtualization cloud client application running on mobile device connects to a virtualized device hosted in virtualization cloud and brokers access to private network services as well as local device functions. Embodiments disclosed herein provide a system, method, and computer program product for capturing touch events for a virtual mobile device platform and relaying the captured touch events to the virtual mobile device platform while ensuring that movements and speed of touch events are accurately represented at the virtual mobile device platform.

Claims (56)

1. A method for capturing touch events for a virtual mobile device platform comprising:

capturing, by a client application running on a client device, touch event data from a plurality of touch events at a mobile device, the touch event data including a touch event type and timing information for each of the plurality of touch events, the timing information relating to the time elapsed between adjacent touch events;

relaying the captured touch event data from the plurality of touch events as paths to the virtual mobile device platform;

reconstructing the plurality of captured touch events at the virtual mobile device platform using the timing information to compensate for any network latency; and

when a speed of a captured touch event relative to a previous touch event is less than a threshold, immediately forwarding all touch event data accumulated at the mobile device to the virtual mobile device platform.

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

when the captured touch event has two or more touch points, adding the captured touch event to a queue; and

immediately forwarding all touch event data accumulated in the queue to the virtual mobile device platform.

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

when the captured touch event is a touch up event, adding the touch up event to a queue; and

immediately forwarding all touch event data accumulated in the queue to the virtual mobile device platform.

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

when the captured touch event is a touch down event, adding the touch down event to a queue; and

waiting for a next touch event.

5. The method according to claim 1 , wherein the captured touch event is a touch move event.

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

acquiring a lock once a touch event is captured; and

subsequent to adding the touch event to a queue, releasing the lock.

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

capturing, by a client application running on a client device, touch event data from a plurality of touch events at a mobile device, the touch event data including a touch event type and timing information for each of the plurality of touch events, the timing information relating to the time elapsed between adjacent touch events;

relaying the captured touch event data from the plurality of touch events as paths to the virtual mobile device platform;

reconstructing the plurality of captured touch events at the virtual mobile device platform using the timing information to compensate for any network latency; and

when a speed of a captured touch event relative to a previous touch event is less than a threshold, immediately forwarding all touch event data accumulated at the mobile device to the virtual mobile device platform.

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

when the captured touch event has two or more touch points, adding the captured touch event to a queue; and

immediately forwarding all touch event data accumulated in the queue to the virtual mobile device platform.

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

when the captured touch event is a touch up event, adding the touch up event to a queue; and

immediately forwarding all touch event data accumulated in the queue to the virtual mobile device platform.

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

when the captured touch event is a touch down event, adding the touch down event to a queue; and

waiting for a next touch event.

11. The computer program product of claim 7 , wherein the captured touch event is a touch move event.

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

acquiring a lock once a touch event is captured; and

subsequent to adding the touch event to a queue, releasing the lock.

13. A system for capturing touch events for a virtual mobile device platform, the 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:

capturing, by a client application running on a client device, touch event data from a plurality of touch events at a mobile device, the touch event data including a touch event type and timing information for each of the plurality of touch events, the timing information relating to the time elapsed between adjacent touch events;

relaying the captured touch event data from the plurality of touch events as paths to the virtual mobile device platform;

reconstructing the plurality of captured touch events at the virtual mobile device platform using the timing information to compensate for any network latency; and

when a speed of a captured touch event relative to a previous touch event is less than a threshold, immediately forwarding all touch event data accumulated at the mobile device to the virtual mobile device platform.

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

when the captured touch event has two or more touch points, adding the captured touch event to a queue; and

immediately forwarding all touch event data accumulated in the queue to the virtual mobile device platform.

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

when the captured touch event is a touch up event, adding the touch up event to a queue; and

immediately forwarding all touch event data accumulated in the queue to the virtual mobile device platform.

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

when the captured touch event is a touch down event, adding the touch down event to a queue; and

waiting for a next touch event.

17. The system of claim 13 , wherein the captured touch event is a touch move event.

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

acquiring a lock once a touch event is captured; and

subsequent to adding the touch event to a queue, releasing the lock.

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 23, 2014
From: VETTER, BRIAN J.; GOPI, RAJESH P.; ARRIETA, GALIB
To: DROIDCLOUD, INC.
Reel/Frame 032031/0509 →
Continuity (1)
Provisional Application 61755205 · Jan 22, 2013