IP Library Granted Patent US 9,437,032
Granted Patent B1
US 9,437,032 · App. 14/276,179 · Granted Sep 6, 2016

Server computing system for and method of providing cross-platform remote access to 3D graphics applications

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,437,032
App. No.
14/276,179
Granted
Sep 6, 2016
Kind
B1
Abstract

A server computing system in a client-server computing environment includes a virtual display driver that marshals and transmits graphics application programming interface (API) functions to a client via a network. The server may receive capability information from the client, allowing the virtual display driver to resolve differences between the APIs supported on the server and the client.

Claims (55)

1. A server apparatus for providing cross-platform remote access to 3D graphics applications, the server apparatus comprising:

memory for storing a server application;

a communication interface for receiving a request sent over a communication network from a client device regarding the server application;

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

initiates the server application in response to the client request, wherein the initiated server application invokes a graphics call to a server 3D library;

determines that the graphics call to the server 3D library makes use of only two dimensions; and

encodes the graphics call invoked by the initiated server application, wherein the graphics call determined to make use of only two dimensions is converted into a two-dimensional command; and

wherein the communication interface transmits the encoded graphics call to the client device via the communication network.

2. The server apparatus of claim 1 , wherein memory further stores the server 3D library and wherein the server 3D library comprises graphics functions corresponding to graphics functions in a 3D library at the client device.

3. The server apparatus of claim 1 , wherein the communication interface further exchanges capability information regarding the graphics capability with the remote client, the capability information comprising information regarding a 3D library at the client device.

4. The server apparatus of claim 3 , further comprising a server virtual display driver configured to receive the capability information and to encode graphics calls for the client device based on the client 3D library in the capability information.

5. The server apparatus of claim 4 , wherein the server virtual display driver maintains a central repository of capability information regarding the client device.

6. The server apparatus of claim 4 , wherein the server 3D library is configured to query the server virtual display driver to determine capabilities of the client device.

7. The server apparatus of claim 4 , wherein the server virtual display driver is configured to distinguish between platform-specific graphics calls and cross-platform graphics calls.

8. The method of claim 3 , wherein the processor encodes the graphics call in accordance with the capability information regarding the client 3D library available on the remote client device.

9. A method for providing cross-platform remote access to 3D graphics applications, the method comprising:

storing a server application in memory;

receiving a request over a communication network from a client device to access the server application;

executing instructions on a processor, wherein execution of the instructions by the processor:

initiates the server application in response to the client request, wherein the initiated server application invokes a graphics call to a server 3D library;

determines that the graphics call to the server 3D library makes use of only two dimensions; and

encodes the graphics call invoked by the initiated server application, wherein graphics calls determined to make use of only two dimensions are converted into a two-dimensional command; and

transmitting the encoded graphics call over the communication network to the client device.

10. The method of claim 9 , further comprising storing the server 3D library in memory and wherein the server 3D library comprises graphics functions corresponding to graphics functions in a 3D library at the client device.

11. The method of claim 9 further comprising exchanging capability information over the communication network regarding the graphics capability with the remote client, the capability information comprising information regarding a 3D library at the client device.

12. The method of claim 11 , further comprising receiving the capability information at a server virtual display driver and encoding graphics calls for the client based on the client 3D library in the received capability information.

13. The method of claim 12 , further comprising maintaining a central repository of capability information regarding the client device via the server virtual display driver.

14. The method of claim 12 , further comprising the server 3D library querying the server virtual display driver to determine capabilities of the client device.

15. The method of claim 12 , further comprising distinguishing between platform-specific graphics calls and cross-platform graphics calls via the server virtual display driver.

16. The method of claim 11 , wherein the processor encodes the graphics call in accordance with the capability information regarding the client 3D library available on the remote client device.

17. A system for providing cross-platform remote access to 3D graphics applications, the system comprising:

a client device comprising:

memory for storing a client 3D library comprising a set of graphics functions available to the client device and a client application executable to emulate a user interface of a remote server application; and

a communication interface for sending a request to access the server application; and

a server comprising:

memory for storing the server application;

a communication interface for receiving the request from the remote client device to access the server application;

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

initiates the server application in response to the client request, wherein the initiated server application invokes a graphics call to a server 3D library;

determines that the graphics call to the server 3D library makes use of only two dimensions; and

encodes the graphics call invoked by the initiated server application, wherein graphics calls determined to make use of only two dimensions are converted into a two-dimensional command; and wherein the communication interface transmits the encoded graphics call to the remote client device.

18. The system of claim 17 , wherein the server memory further comprises the server 3D library, and wherein the server 3D library comprises graphics functions corresponding to graphics functions in a 3D library at the client device.

19. The system of claim 17 , wherein the communication interface further exchanges capability information regarding the graphics capability with the remote client device, the capability information comprising information regarding a 3D library at the client device.

20. The system of claim 19 , wherein the server further comprises a server virtual display driver configured to receive the capability information and to encode graphics calls for the client based on the client 3D library in the capability information.

21. The system of claim 20 , wherein the server virtual display driver maintains a central repository of capability information regarding the remote client device.

22. The system of claim 20 , wherein the server 3D library is configured to query the server virtual display driver to determine capabilities of the remote client device.

23. The system of claim 20 , wherein the server virtual display driver is configured to distinguish between platform-specific graphics calls and cross-platform graphics calls.

24. The system of claim 19 , wherein the processor encodes the graphics call in accordance with the capability information regarding the client 3D library available on the remote client device.

25. A non-transitory computer-readable storage medium having embodied thereon a program executable by a processor to perform method for providing cross-platform remote access to 3D graphics applications, the method comprising:

storing a server application;

receiving a request from a client device to access the server application;

initiating the server application in response to the client request, wherein the initiated server application invokes a graphics call to a server 3D library;

determining that the graphics call to the server 3D library makes use of only two dimensions;

encoding the graphics call invoked by the initiated server application, wherein graphics calls determined to make use of only two dimensions are converted into a two-dimensional command; and

transmitting the encoded graphics call to the client device.

Assignments (6)
PATENT SECURITY AGREEMENT Recorded Aug 6, 2024
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 068328/0674 →
RELEASE OF LIEN ON PATENTS Recorded Aug 5, 2024
From: BARINGS FINANCE LLC
To: RPX CORPORATION
Reel/Frame 068328/0278 →
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 Mar 10, 2016
From: GRAPHON CORPORATION
To: HOPTO INC.
Reel/Frame 038056/0777 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2014
From: TIDD, WILLIAM
To: GRAPHON CORPORATION
Reel/Frame 032877/0884 →