Patentable/Patents/US-10402930
US-10402930

Management of graphics processing units in a cloud platform

PublishedSeptember 3, 2019
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A graphics rendering system is provided for controlling the rendering of images to manage expected errors. The graphics rendering system receives a specification of a render task to be performed to render an image of a graphics scene and then identifies computing devices that each have a graphics processing unit. The graphics rendering system directs each of the identified computing devices to render the image specified by the render task such that each identified computing device renders the same image. When the graphics rendering system detects that a computing device has completed the render task successfully, it provides the image rendered by that computing device as the rendered image of the render task such that any other image rendered by another of the computing devices is not needed.

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. One or more computer-readable storage mediums storing computer-executable instructions for controlling the rendering of images, the computer-executable instructions comprising instructions that: receive a specification of a render task to be performed to render an image of a graphics scene; identify computing devices that each have a graphics processing unit, the computing devices comprising at least a first computing device and a second computing device; direct each of the computing devices to render the image specified by the render task such that each computing device renders the same image; receive an indication that the first computing device has completed the render task as directed to produce a first rendered image of the graphics scene; receive an indication that the second computing device has completed the render task to produce a second rendered image of the graphics scene; provide the first rendered image rendered by the first computing device such that any other image rendered by another of the computing devices is not needed; and discard the second rendered image rendered by the second computing device.

2

2. The one or more computer-readable storage mediums of claim 1 wherein the render task is performed by a virtual machine executing on an identified computing device.

3

3. The one or more computer-readable storage mediums of claim 2 wherein a virtual machine accesses a virtual graphics processing unit.

4

4. The one or more computer-readable storage mediums of claim 1 wherein the graphics processing units are commodity graphics processing units.

5

5. The one or more computer-readable storage mediums of claim 1 wherein the instructions notify a computing device that is rendering an image when the image has been rendered successfully by another computing device.

6

6. The one or more computer-readable storage mediums of claim 1 wherein the instructions that provide the image also provide the image rendered by the first computing device that was successful in rendering the image.

7

7. The one or more computer-readable storage mediums of claim 1 wherein the image is rendered as part of a game program and wherein the computing devices are identified from a pool of computing devices executing virtual machines allocated to an instance of the game program.

8

8. The one or more computer-readable storage mediums of claim 1 including instructions that, when the render task specifies to render the image in multiple resolutions, directs multiple identified computing devices to render the image in each of the multiple resolutions.

9

9. The one or more computer-readable storage mediums of claim 1 including instructions that, when the render task specifies to render the image in multiple languages, directs multiple identified computing devices to render the image in each of the multiple languages.

10

10. The one or more computer-readable storage mediums of claim 1 including instructions that divide the render task into render subtasks; for each of the render subtasks, direct multiple computing devices to perform that render subtask; and combine results for the subtasks into a rendered image.

11

11. A method for rendering of images in a cloud computing platform having graphics processing unit (“GPU”) servers with commodity graphics processing units, the method comprising: allocating to a program a pool of virtual machines for executing on the GPU servers, the virtual machines interfacing with a virtual graphics processing unit; receiving from the program a specification of a render task to be performed to render an image; identifying virtual machines from the pool of virtual machines to perform the render task, the identified virtual machines executing on different GPU servers with commodity graphics processing units; for each of the identified virtual machines, directing that virtual machine to render the image as specified by the render task such that each identified virtual machine is directed to render the same image; upon first detecting that a first virtual machine has successfully rendered the image to produce a rendered image, provide to the program the rendered image rendered by the first virtual machine; and upon first detecting that the first virtual machine has successfully rendered the image, provide an instruction to stop rendering the image to a second virtual machine from the identified virtual machines.

12

12. The method of claim 11 , wherein the program is a game program with a server-side component executing on one or more servers of the cloud platform that interface with client-side components of the game program executing on devices of players of the game program.

13

13. The method of claim 11 wherein when the render task specifies to render the image in multiple resolutions, multiple identified virtual machines are directed to render the image in each of the multiple resolutions.

14

14. The method of claim 11 wherein when the render task specifies to render the image in multiple languages, multiple identified virtual machines are directed to render the image in each of the multiple languages.

15

15. The method of claim 11 , further comprising: dividing the render task into render subtasks for rendering sub-images; for each of the render subtasks, directing multiple virtual machines to perform that render subtask; and combining a rendered sub-image rendered for each of the subtasks into a rendered image.

16

16. A method performed by a computer system for rendering images, the method comprising: receiving a specification of a render task to be performed to render an image; identifying computing devices that each have a graphics processing unit; directing each of the identified computing devices to render the image specified by the render task such that each identified computing device starts rendering the image; when a first computing device successfully completes the render task to produce a first rendered image, providing the first rendered image rendered by the first computing device as a rendered image of the render task such that any other image rendered by another of the identified computing devices is not needed; and discarding a second successfully rendered image by a second computing device.

17

17. The method of claim 16 wherein the image is rendered as part of a game program and wherein the computing devices are identified from a pool of computing devices executing virtual machines allocated to an instance of the game program.

18

18. The method of claim 16 further comprising when the render task specifies to render the image in multiple resolutions, directing multiple identified computing devices to render the image in each of the multiple resolutions.

19

19. The method of claim 16 further comprising when the render task specifies to render the image in multiple languages, directing multiple identified computing devices to render the image in each of the multiple languages.

20

20. The method of claim 16 further comprising: dividing the render task into render subtasks; for each of the render subtasks, directing multiple computing devices to perform that render subtask; and combining results for the subtasks into a rendered image.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

October 14, 2013

Publication Date

September 3, 2019

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Management of graphics processing units in a cloud platform” (US-10402930). https://patentable.app/patents/US-10402930

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.