IP Library Granted Patent US 9,395,826
Granted Patent B1
US 9,395,826 · App. 13/481,748 · Granted Jul 19, 2016

System for and method of translating motion-based user input between a client device and an application host computer

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,395,826
App. No.
13/481,748
Granted
Jul 19, 2016
Kind
B1
Abstract

A system that translates motion-based user input between a client device and an application host computer. In various embodiments, the system and methods enable an application host computer, application server, or cloud server that supports a first type of input/output (I/O) devices (e.g., mouse, keyboard, and display) to interpret I/O commands from a client device that supports a second type of I/O devices (e.g., touchscreen display), wherein the I/O commands of the client device support motion-based user input. The operations of the interpreted I/O commands are then returned from the application host computer, application server, or cloud server to the client device and rendered on the display thereof. The system and methods enable cross-platform application execution by translating I/O operations that are native to the user's remote device to I/O operations that are native to the application host computer, application server, or cloud server.

Claims (38)

1. A method for translating a motion-based finger gesture user input between a client device and an application host device, the method comprising:

receiving, by a host device from a client device an I/O command corresponding to an application being published by the host device, the host device supporting an I/O device of a first type and the client device supporting an I/O device of a different second type, wherein the received I/O command is associated with the motion-based finger gesture user input received via the I/O device of the second type;

executing instructions stored in memory, wherein execution of the instructions by a processor of the host device:

includes executing instructions for a functionality associated with a first type of operating system, and a processor at the client device executes instructions out of a client memory that are associated with a corresponding functionality of a second type of operating system,

interprets the I/O command received from the client device as a corresponding to a mouse point and click I/O operation being generated on the host device that makes a selection in a dropdown menu at the host device, the dropdown menu associated with the published application, the interpretation based on a table stored in memory associating each of a plurality of host operations with a corresponding motion-based client I/O command, and

performs the corresponding I/O operation in the application to generate a result of the I/O operation; and

sending, by the host device, the results of the I/O operation to the client device, wherein the client device renders a display corresponding to the result of the I/O operation.

2. The method of claim 1 , wherein the I/O device of the first type comprises keyboard, scroll bar, mouse, mouse wheel, or hot keys.

3. The method of claim 1 , wherein the I/O device of the second type is a touchscreen and wherein the motion-based finger gesture user input comprises gestures.

4. The method of claim 3 , wherein the motion-based finger gesture user input includes multi-touch gestures.

5. The method of claim 1 , wherein the interpretation comprises determining whether the I/O command associated with the motion-based finger gesture user input is native to the host computer.

6. The method of claim 1 , wherein the motion-based finger gesture user input is associated with a location on the I/O device.

7. The method of claim 6 , wherein the I/O command is identified based on the location of the motion-based finger gesture user input on the I/O device.

8. An apparatus for translating a motion-based finger gesture user input between a client device and an application host device, the apparatus comprising:

memory for storing a table associating each of a plurality of host operations by a host device supporting an I/O device of a first type with a corresponding motion-based I/O command on a client device supporting an I/O device of a different second type;

a communication network interface for receiving from the client device, an I/O command corresponding to an application being published by the host device, and wherein the received I/O command is associated with the motion-based finger gesture user input received via the I/O device of the second type; and

a processor for executing instructions stored in memory, wherein execution of the instructions by the processor:

includes executing instructions for a functionality associated with a first type of operating system, and a processor at the client device executes instructions out of a client memory that are associated with a corresponding functionality of a second type of operating system,

interprets the I/O command received from the client device as a corresponding to a mouse point and click I/O operation being generated on the host device that makes a selection in a dropdown menu at the host device, the dropdown menu associated with the published application, the interpretation based on a table stored in memory associating each of a plurality of host operations with a corresponding motion-based client I/O command, and

performs the corresponding I/O operation in the application to generate a result of the I/O operation, and

wherein the communication network interface sends the result of the I/O operation to the client device, wherein the client device renders a display corresponding to the result of the I/O operation.

9. The apparatus of claim 8 , wherein the I/O device of the second type is a touchscreen and wherein the motion-based finger gesture user input comprises gestures.

10. The apparatus of claim 9 , wherein the motion-based finger gesture user input includes multi-touch gestures.

11. The apparatus of claim 8 , wherein the interpretation comprises determining whether the I/O command associated with the motion-based finger gesture user input is native to the host computer.

12. The apparatus of claim 8 , wherein the motion-based finger gesture user input is associated with a location on the I/O device.

13. The apparatus of claim 8 , wherein the I/O command is identified based on the location of the motion-based finger gesture user input on the I/O device.

14. A non-transitory computer-readable storage medium, having embodied thereon a program executable by a processor to perform a method for translating motion-based finger gesture user input between a client device and an application host device, the method comprising:

receiving, by a host device from a client device, an I/O command corresponding to an application being published by the host device, the host device supporting an I/O device of a first type and the client device supporting an I/O device of a different second type, wherein the received I/O command is associated with the motion-based finger gesture user input received via the I/O device of the second type;

executing instructions stored in memory, wherein execution of the instructions by a processor of the host device:

includes executing instructions for a functionality associated with a first type of operating system, and a processor at the client device executes instructions out of a client memory that are associated with a corresponding functionality of a second type of operating system,

interprets the I/O command received from the client device as a corresponding to a mouse point and click I/O operation being generated on the host device that makes a selection in a dropdown menu at the host device, the dropdown menu associated with the published application, the interpretation based on a table stored in memory associating each of a plurality of host operations with a corresponding motion-based client I/O command, and

performs the corresponding I/O operation in the application to generate a result of the I/O operation; and

sending, by the host device, the results of the I/O operation to the client device, wherein the client device renders a display corresponding to the result of the I/O operation.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the I/O device of the first type comprises keyboard, scroll bar, mouse, mouse wheel, or hot keys.

16. The non-transitory computer-readable storage medium of claim 14 , wherein the I/O device of the second type is a touchscreen and wherein the motion-based finger gesture user input comprises gestures.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the motion-based finger gesture user input includes multi-touch gestures.

18. The non-transitory computer-readable storage medium of claim 14 , wherein the interpretation comprises determining whether the I/O command associated with the motion-based finger gesture user input is native to the host computer.

19. The non-transitory computer-readable storage medium of claim 14 , wherein the motion-based finger gesture user input is associated with a location on the I/O device.

Assignments (4)
CHANGE OF NAME Recorded Oct 25, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069268/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2017
From: HOPTO INC.
To: SALESFORCE.COM, INC.
Reel/Frame 044374/0098 →
CHANGE OF NAME Recorded Jun 14, 2016
From: GRAPHON CORPORATION
To: HOPTO INC.
Reel/Frame 038992/0445 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2012
From: CRONIN, JOHN
To: GRAPHON CORPORATION
Reel/Frame 028974/0753 →