IP Library Granted Patent US 9,183,663
Granted Patent B1
US 9,183,663 · App. 13/341,110 · Granted Nov 10, 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,183,663
App. No.
13/341,110
Granted
Nov 10, 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 (59)

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

a memory for storing a server application and for hosting a functionality for making the server application visible to and accessible by a remote client;

a communication interface that receives a graphics command request regarding the server application from the remote client over a communication network; and

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

determines whether the requested graphics command of the server application is a platform-specific command based on a comparison of 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 a collection of computing platforms,

encoding the cross-platform format graphics command, and

transmitting the encoded command 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 a 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 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 remote client.

2. The system of claim 1 , wherein the server further 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 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.

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

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

8. A server computing method for classifying and translating graphics commands, the method comprising:

receiving a graphics command request regarding a server application from a remote client over the communications network; and

executing instructions stored in memory, wherein execution of the instructions by a processor determines whether the requested graphics command of the server application is a platform-specific command based on a 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 a collection of computing platforms,

encoding the cross-platform format graphics command, and

transmitting the encoded command 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 a 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 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 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 8 , wherein the remote 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 remote client or by the server.

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

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

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

receiving a graphics command request regarding a server application from a remote client over a communications network;

determining whether the requested graphics command of the server application is a platform-specific command based on a 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 a collection of computing platforms,

encoding the cross-platform format graphics command, and

transmitting the encoded command 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 a 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 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 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 Nov 2, 2015
From: GRAPHON CORPORATION
To: HOPTO INC.
Reel/Frame 037031/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2012
From: TIDD, WILLIAM
To: GRAPHON CORPORATION
Reel/Frame 027595/0711 →