IP Library Granted Patent US 9,239,812
Granted Patent B1
US 9,239,812 · App. 13/570,106 · Granted Jan 19, 2016

System for and method of providing a universal I/O command translation framework in an application publishing environment

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,239,812
App. No.
13/570,106
Granted
Jan 19, 2016
Kind
B1
Abstract

A system and method of providing a universal input/output (I/O) command translation framework in an application publishing environment is disclosed. A client-server computing system includes a network of one or more host computers and an application server that further includes an application publishing service supporting multiple client devices and a translation framework that provides a set of generic public APIs. Using the translation framework, an application-specific translation layer is created and integrated into remote applications, which enables I/O commands from client devices to be interpreted by remote applications whose control functions only exist internally (i.e., controls are private). The application-specific translation layer also receives the I/O commands of the client devices that may be generated via touch-based user input. Then, the application-specific translation layer translates the client I/O commands to the native internal control functions of the remote application.

Claims (31)

1. A method of providing a universal input/output (I/O) command translation framework in a cloud-based application publishing environment, the method comprising:

publishing an application by an application server to a client device;

intercepting an I/O command from the client device, by a translation framework operable on a separate physical machine from the application server, wherein the I/O command is generated from a touch-based user input from a touchscreen on the client device, and wherein the translation framework includes a set of generic public APIs;

creating a translation layer using one or more of the generic public APIs, the translation layer being specific to the application;

translating, by the translation framework, the received I/O command into a function corresponding to an internal function native to the application being published, wherein the function maps APIs corresponding to the I/O commands from the client device to the corresponding generic public APIs corresponding to internal functions native to the application used, and wherein the function native to the application being published is a mouse control function or a keyboard control function;

presenting the translated commands to the published application, wherein the translated commands from the client correspond to the mapped generic public API of the translation layer; and

performing, by the published application, actions based on the translated commands, the translated commands facilitating the operation of the published application.

2. The method of claim 1 , further comprising communicating a user interface of the application to the client device.

3. The method of claim 2 , wherein the user interface of the application is displayed on the client device.

4. The method of claim 1 , wherein each generic public API is associated with different applications resident on the host computer.

5. A non-transitory computer readable storage medium having embodied thereon a program executable by a processor to perform a method of providing a universal input/output (I/O) command translation framework in a cloud-based publishing environment, the method comprising:

publishing an application by an application server to a client device;

intercepting an I/O command from the client device, by a translation framework operable on a separate physical machine from the application server, wherein the I/O command is generated from a touch-based user input from a touchscreen on the client device, and wherein the translation framework includes a set of generic public APIs;

creating a translation layer using one or more of the generic public APIs, the translation layer being specific to the application;

translating, by the translation framework, the received I/O command into a function corresponding to an internal function native to the application being published, wherein the function maps APIs corresponding to the I/O commands from the client device to the corresponding generic public APIs corresponding to internal functions native to the application, and wherein the function native to the application being published is a mouse control function or a keyboard control function;

presenting the translated commands to the published application, wherein the translated commands from the client correspond to the mapped generic public API of the translation layer; and

performing, by the published application, actions based on translated commands, the translated commands facilitating the operation of the published application.

6. The non-transitory computer readable storage medium of claim 5 , further comprising instructions executable to communicate a user interface of the application to the client device.

7. The non-transitory computer readable storage medium of claim 5 , wherein each generic public API is associated with different applications resident on the host computer.

8. A system for providing a universal input/output command translation framework in a cloud-based application publishing environment, the system comprising:

a memory for storing a translation framework;

a communication interface for receiving an I/O command from a client device over a data communication network; and

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

publishes an application to the client device,

intercepts the I/O command from the client device by a translation framework operable on a separate machine from the application server regarding the published application, wherein the I/O command is generated from a touch-based user input from a touchscreen on the client device, and wherein the translation framework includes a set of generic public APIs;

creating a translation layer using one or more of the generic public APIs, the translation layer being specific to the application;

translates the intercepted I/O command into a function native to the application being published based on the translation framework stored in memory, wherein the function maps APIs corresponding to the I/O commands from the client device to the corresponding generic public APIs corresponding to internal functions native to the application, and wherein the function native to the application being published is a mouse control function or a keyboard control function; and

presents the translated commands to the published application for execution, wherein the translated commands from the client correspond to the mapped generic public API of the translation layer and are used for facilitating the operation of the published application.

9. The system of claim 8 , wherein the communication interface communicates a user interface of the application to the client device over the data communication network.

10. The system of claim 9 , wherein the communication interface transmits the user interface of the application to the client device.

11. The system of claim 8 , wherein each generic public API is associated with different applications resident on the host computer.

Assignments (4)
PATENT SECURITY AGREEMENT Recorded May 13, 2021
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 056241/0453 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2021
From: HOPTO, INC.
To: RPX CORPORATION
Reel/Frame 055795/0700 →
CHANGE OF NAME Recorded Nov 10, 2015
From: GRAPHON CORPORATION
To: HOPTO INC.
Reel/Frame 037084/0856 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2012
From: BERLIN, CHRISTOPH
To: GRAPHON CORPORATION
Reel/Frame 029504/0560 →