IP Library Granted Patent US 8,264,494
Granted Patent B2
US 8,264,494 · App. 12/214,416 · Granted Sep 11, 2012

Remote graphics rendering across a network

Assignee: Pano Logic, Inc.
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 8,264,494
App. No.
12/214,416
Granted
Sep 11, 2012
Kind
B2
Abstract

A method for remotely displaying 3D information on a remote machine is disclosed. An application graphics command is generated, corresponding to a first 3D API from an application on a first machine. The application graphics command are translated to a remote graphics command corresponding to a second 3D API wherein the remote graphics command is compatible with a transport mechanism and a graphics driver on a second machine. The remote graphics command is transported over a network to a second machine.

Claims (56)

1. A host system for remotely displaying 3D information on a client, comprising:

a processor configured to:

request capabilities of a client 3D API hardware driver;

request capabilities of a generic 3D API transporter;

request capabilities of a host 3D API runtime stub; and

determine a cross-platform 3D API based at least in part on a common set of the requested capabilities;

a memory buffer used for host 3D API calls;

a translator configured to:

generate an application graphics command corresponding to a host 3D API from an application on the host;

translate the application graphics command to a remote graphics command corresponding to a cross-platform 3D API; and

a transporter configured to:

transport the remote graphics command over a network to the remote client.

2. The host recited in claim 1 , wherein the transporter is further configured to use a place holder.

3. The host recited in claim 1 , wherein the translator is further configured to compile to more primitive commands.

4. The host recited in claim 1 , wherein the translator is further configured to compile to more primitive geometries.

5. The host recited in claim 1 , wherein the translator is further configured to report a list of capabilities to the application.

6. The host recited in claim 1 , wherein the translator is further configured to report a list of capabilities to the application and to translate the application graphics command based at least in part on the list of capabilities.

7. The host recited in claim 1 , wherein the translator translates the application graphics command based at least in part on the resulting data unit size required for its transport over a network.

8. The host recited in claim 1 , wherein the transporter is further configured to transport using data compression.

9. The host recited in claim 1 , wherein the transporter is further configured to transport using data buffer caching.

10. The host recited in claim 1 , wherein the transporter is further configured to transport using data buffer caching by tracking changed memory.

11. The host recited in claim 1 , wherein the transporter is further configured to transport using data buffer caching by tracking at the host that the client has a client buffer to be modified and sending instructions to the client to modify the client buffer that the client already has instead of sending a revised buffer modified at the host.

12. A client system for displaying 3D information from a remote host, comprising:

a client memory buffer used for client 3D API calls, wherein the client memory buffer is logically coupled to a memory buffer on the remote host;

a transporter configured to:

transport a graphics command corresponding to a cross-platform 3D API over a network from the remote host, wherein:

capabilities of a client 3D API hardware driver are requested;

capabilities of a generic 3D API transporter are requested;

capabilities of a host 3D API runtime stub are requested; and

the cross-platform 3D API is determined based at least in part on a common set of the requested capabilities; and

the graphics command is translated from a generated application graphics command corresponding to a host 3D API from an application on the host.

13. The client recited in claim 12 , further comprising a renderer configured to render the graphics command on the client.

14. The client recited in claim 12 , further comprising a renderer configured to render the graphics command on the client by referencing a place holder.

15. The client recited in claim 12 , wherein the transporter is further configured to transport using data compression.

16. The client recited in claim 12 , wherein the transporter is further configured to transport using data compression by data buffer caching.

17. The client recited in claim 12 , wherein the transporter is further configured to transport using data buffer caching by tracking changed memory.

18. A method for remotely displaying 3D information on a remote machine, comprising:

requesting capabilities of a client 3D API hardware driver;

requesting capabilities of a generic 3D API transporter;

requesting capabilities of a host 3D API runtime stub;

determining a cross-platform 3D API based at least in part on a common set of the requested capabilities;

generating an application graphics command corresponding to a first 3D API from an application on a first machine;

translating the application graphics command to a remote graphics command corresponding to the cross-platform 3D API; and

transporting the remote graphics command over a network to a second machine.

19. The method recited in claim 18 , further comprising rendering the remote graphics command on the second machine.

20. The method recited in claim 18 , further comprising rendering the remote graphics command on the second machine including referencing a place holder.

21. The method recited in claim 18 , wherein generating includes reporting a list of capabilities to the application.

22. The method recited in claim 18 , wherein generating includes reporting a list of capabilities to the application and translating is based at least in part on the list of capabilities of the cross-platform 3D API.

23. The method recited in claim 18 , wherein translating includes compiling to more primitive commands.

24. The method recited in claim 18 , wherein translating is based at least in part on the resulting data unit size required for its transport over a network.

25. The method recited in claim 18 , wherein translating includes compiling to more primitive geometries.

26. The method recited in claim 18 , wherein transporting includes using a place holder.

27. The method recited in claim 18 , wherein transporting includes using data compression.

28. The method recited in claim 18 , wherein transporting includes using data buffer caching.

29. The method recited in claim 18 , wherein transporting includes using data buffer caching by tracking changed memory.

30. The method recited in claim 18 , wherein transporting includes using data buffer caching by tracking at the first machine that the second machine has a first data to be modified and sending instructions to the second machine to modify the first data that the second machine already has instead of sending a second data modified at the first machine.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2013
From: PANO LOGIC, INC.
To: PANO, LLC
Reel/Frame 029651/0543 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2013
From: PANO, LLC
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 029651/0765 →
SECURITY AGREEMENT Recorded Jun 4, 2012
From: PANO LOGIC, INC.
To: COMERICA BANK
Reel/Frame 028316/0080 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2008
From: KILANI, DALI; BUNGER, NILS; ORADY, ALY E.; FISHER, FREDERICK B.; PIEN, JACK C.
To: PANO LOGIC, INC.
Reel/Frame 021426/0633 →
Continuity (2)
Provisional Application 60936134 · Jun 18, 2007
Related Publication 20080316218A1 · Dec 25, 2008