IP Library Granted Patent US 9,230,295
Granted Patent B2
US 9,230,295 · App. 14/303,566 · Granted Jan 5, 2016

System, method, and computer program product for remote graphics processing

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,230,295
App. No.
14/303,566
Granted
Jan 5, 2016
Kind
B2
Abstract

A system, method, and computer program product are provided for remote rendering of computer graphics. The system includes a graphics application program resident at a remote server. The graphics application is invoked by a user or process located at a client. The invoked graphics application proceeds to issue graphics instructions. The graphics instructions are received by a remote rendering control system. Given that the client and server differ with respect to graphics context and image processing capability, the remote rendering control system modifies the graphics instructions in order to accommodate these differences. The modified graphics instructions are sent to graphics rendering resources, which produce one or more rendered images. Data representing the rendered images is written to one or more frame buffers. The remote rendering control system then reads this image data from the frame buffers. The image data is transmitted to the client for display or processing. In an embodiment of the system, the image data is compressed before being transmitted to the client. In such an embodiment, the steps of rendering, compression, and transmission can be performed asynchronously in a pipelined manner.

Claims (34)

1. A method for rendering graphics at a remote graphics rendering resource, the method comprising:

receiving at the remote graphics rendering resource a command from a client device, wherein the remote graphics rendering resource includes two or more graphics processors having different graphics context and image processing capabilities than the client device; and

rendering one or more images according to the command received from the client device according to one or more server contextual settings, wherein the rendering is performed by at least one of the two or more graphics processors using one or more client device parameters;

generating an internal context, wherein the internal context includes the one or more server contextual settings and information that identifies a specific visual capability of the client device; and

transmitting image data corresponding to the one or more rendered images to the client device, wherein the client generates an image for display at the client device consistent with the identified specific visual capability of the client device.

2. The method of claim 1 , wherein the transmitted image data includes an update to one of the one or more rendered images.

3. The method of claim 1 , wherein the transmitted image data includes one image of the one or more images.

4. The method of claim 1 , wherein the transmitted image data is stored in one or more buffers before being transmitted to the client device.

5. The method of claim 1 , wherein the image data is compressed before being transmitted to the client device.

6. The method of claim 1 , wherein the transmitted image data is displayed on the client device.

7. The method of claim 1 , wherein the transmitted image data is processed by the client device before being displayed on the client device.

8. The method of claim 1 , wherein the image data is transmitted using a protocol supported by the client device.

9. A system for rendering graphics at a remote graphics rendering resource, the system comprising:

a memory;

a processor, wherein the processor executes instructions out of the memory to:

receive a command from a client device, wherein the remote graphics rendering resource includes two or more graphics processors having different graphics context and image processing capabilities than the client device;

render one or more images according to the command received from the client device according to one or more server contextual settings, wherein the rendering is performed by at least one of the two or more graphics processors using one or more client device parameters, and

generate an internal context, wherein the internal context includes the one or more server contextual settings and information that identifies a specific visual capability of the client device; and

a network communications interfaces that transmits image data corresponding to the one or more rendered images to the client device, wherein the client generates an image for display at the client device consistent with the identified specific visual capability of the client device.

10. The system of claim 9 , wherein the transmitted image data includes an update to one of the one or more rendered images.

11. The system of claim 9 , wherein the transmitted image data includes one image of the one or more images.

12. The system of claim 9 , wherein the transmitted image data is stored in one or more buffers before transmitting the image data to the client device.

13. The system of claim 9 , wherein the image data is compressed before being transmitting to the client device.

14. The system of claim 9 , wherein the transmitted image data displayed on the client device.

15. The system of claim 9 , wherein the transmitted image data is processed by the client device before being displayed on the client device.

16. The system of claim 9 , wherein the image data is transmitted using a protocol supported by the client device.

17. A non-transitory computer readable storage medium having embodied thereon a program executable by a processor to perform a method for rendering graphics at a remote graphics rendering resource, the method comprising:

receiving at the remote graphics rendering resource a command from a client device, wherein the remote graphics rendering resource includes two or more graphics processors, and the two or more graphics processors have different graphics context and image processing capabilities than the client device; and

rendering one or more images according to the command received from the client device according to one or more server contextual settings, wherein the rendering is performed by at least one of the two or more graphics processors using one or more client device parameters; and

generating an internal context, wherein the internal context includes the one or more server contextual settings and information that identifies a specific visual capability of the client device; and

transmitting image data corresponding to the one or more rendered images to the client device, wherein the client generates an image for display at the client device consistent with the identified specific visual capability of the client device.

18. The non-transitory computer readable storage medium of claim 17 , wherein the transmitted image data includes an update to one of the one or more rendered images.

19. The non-transitory computer readable storage medium of claim 17 , wherein the transmitted image data includes one image of the one or more images.

20. The non-transitory computer readable storage medium of claim 17 , wherein the transmitted image data is stored in one or more buffers before being transmitted to the client device.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2018
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: GOOGLE LLC
Reel/Frame 045933/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2017
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 044128/0149 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC., AS AGENT
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 040545/0362 →
SECURITY INTEREST Recorded Feb 12, 2016
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037726/0244 →
SECURITY INTEREST Recorded Mar 13, 2015
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035200/0722 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2014
From: KESLIN, PHILLIP C.
To: SILICON GRAPHICS, INC.
Reel/Frame 033093/0760 →
MERGER Recorded Jun 12, 2014
From: SGI INTERNATIONAL, INC.
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 033093/0774 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2014
From: SILICON GRAPHICS, INC.
To: SILICON GRAPHICS INTERNATIONAL, INC.
Reel/Frame 033094/0001 →
CHANGE OF NAME Recorded Jun 12, 2014
From: SILICON GRAPHICS INTERNATIONAL, INC.
To: SGI INTERNATIONAL, INC.
Reel/Frame 033146/0779 →