IP Library Granted Patent US 9,064,292
Granted Patent B1
US 9,064,292 · App. 13/399,793 · Granted Jun 23, 2015

System for and method of classifying and translating graphics commands in client-server computing systems

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,064,292
App. No.
13/399,793
Granted
Jun 23, 2015
Kind
B1
Abstract

A client-server computing system includes a server that has a virtual display driver that classifies and, if necessary, translates graphics application programming interface (API) functions to a cross-platform format. Classification involves determining whether the graphics command(s) are platform-specific and/or client-supported functions. After classification and translation, the graphics command(s) are marshaled and transmitted to a client via a network. The client includes a client display driver that executes the functions using a client 3D library and renders the resulting image data to a display.

Claims (60)

1. A cloud-based computing system for classifying and translating graphics commands, the server computing system comprising:

a client and a server operatively connected through a network wherein the server comprises a server application, and

a cloud server operatively coupled to the client and the server through a network, the cloud server hosting a functionality for making the server application visible to and accessible by the client;

the server further configured to:

receive a graphics command request regarding the server application from the cloud server, the graphics command request originated by the remote client;

determine whether the requested graphics command of the server application is a platform-specific command based on comparison to stored data regarding attributes of a plurality of different graphics commands;

if the requested graphics command is determined to be a platform-specific command, then:

translating the requested graphics command into a cross-platform format graphics command by creating an abstraction of the description of the graphics command, such that the abstraction can be understood and implemented on any collection of computing platforms,

encoding the cross-platform format graphics command, and

transmitting the encoded command to the cloud server for transmission to the remote client;

if the requested graphics command is determined not to be a platform-specific command, then determining whether the requested graphics command is in a format supported by the remote client based on comparison to a client library of the remote client and by utilizing capability information transmitted from the client to the server;

if the requested graphics command is in a format supported by the remote client, then

encoding the cross-platform format graphics command, and

transmitting the encoded command to the cloud server for transmission to the remote client; and

if the requested graphics command is not in a format supported by the remote client, then

translating the requested graphics command into a format supported by the remote client,

encoding the cross-platform format graphics command, and

transmitting the encoded command to the cloud server for transmissions to the remote client.

2. The system of claim 1 , wherein the client comprises a client library and wherein the server comprises a server library.

3. The system of claim 2 , wherein the client library and the server library are associated with different platforms.

4. The system of claim 2 , wherein the client library and the server library are associated with a same platform, and wherein the client library supports different commands from the server library.

5. The system of claim 2 , wherein the cloud server further comprises a virtual display driver that supports one or more capabilities not found in the client.

6. The system of claim 1 , wherein the client receives one or more input commands from a user, and further comprising determining whether the one or more input commands are to be handled by the client or by the server.

7. The system of claim 6 , wherein the determination of where the one or more input commands are to be handled is based on the client handling supportable graphics commands.

8. A cloud-based computing method for classifying and translating graphics commands, the method comprising:

receiving a graphics command request from a cloud server over the communications network, the graphics command request originated by a remote client;

determining whether the requested graphics command is a platform-specific command based on comparison to stored data regarding attributes of a plurality of different graphics commands;

if the requested graphics command is determined to be a platform-specific command, then:

translating the requested graphics command into a cross-platform format graphics command by creating an abstraction of the description of the graphics command, such that the abstraction can be understood and implemented on any collection of computing platforms,

encoding the cross-platform format graphics command, and

transmitting the encoded command to the cloud server for transmission to the remote client;

if the requested graphics command is determined not to be a platform-specific command, then determining whether the requested graphics command is in a format supported by the remote client based on comparison to a client library of the remote client and by utilizing capability information transmitted from the client to the server;

if the requested graphics command is in a format supported by the remote client, then

encoding the cross-platform format graphics command, and

transmitting the encoded command to the cloud server for transmission to the remote client; and

if the requested graphics command is not in a format supported by the remote client, then

translating the requested graphics command into a format supported by the remote client,

encoding the cross-platform format graphics command, and

transmitting the encoded command to the cloud server for transmissions to the remote client.

9. The method of claim 8 , wherein the server comprises a server library.

10. The method of claim 9 , wherein the client library and the server library are associated with different platforms.

11. The method of claim 9 , wherein the client library and the server library are associated with a same platform, and wherein the client library supports different commands from the server library.

12. The method of claim 9 , wherein the cloud server further comprises a virtual display driver that supports one or more capabilities not found in the client.

13. The method of claim 9 , wherein the client receives one or more input commands from a user, and further comprising determining whether the one or more input commands are to be handled by the client or by the server.

14. The method of claim 13 , wherein the determination of where the one or more input commands are to be handled is based on the client handling supportable graphics commands.

15. A non-transitory computer-readable storage medium, having embodied thereon a program executable by a processor to perform a cloud-based computing method for classifying and translating graphics commands, the method comprising:

receiving a graphics command request from a cloud server over the communications network, the graphics command request originated by a remote client;

determining whether the requested graphics command is a platform-specific command based on comparison to stored data regarding attributes of a plurality of different graphics commands;

if the requested graphics command is determined to be a platform-specific command, then:

translating the requested graphics command into a cross-platform format graphics command by creating an abstraction of the description of the graphics command, such that the abstraction can be understood and implemented on any collection of computing platforms,

encoding the cross-platform format graphics command, and

transmitting the encoded command to the cloud server for transmission to the remote client;

if the requested graphics command is determined not to be a platform-specific command, then determining whether the requested graphics command is in a format supported by the remote client based on comparison to a client library of the remote client and by utilizing capability information transmitted from the client to the server;

if the requested graphics command is in a format supported by the remote client, then

encoding the cross-platform format graphics command, and

transmitting the encoded command to the cloud server for transmission to the remote client; and

if the requested graphics command is not in a format supported by the remote client, then

translating the requested graphics command into a format supported by the remote client,

encoding the cross-platform format graphics command, and

transmitting the encoded command to the cloud server for transmissions to the remote client.

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 Feb 19, 2021
From: GRAPHON CORPORATION
To: HOPTO INC.
Reel/Frame 055473/0093 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2012
From: TIDD, WILLIAM
To: GRAPHON CORPORATION
Reel/Frame 028145/0764 →