IP Library Granted Patent US 11,537,444
Granted Patent B2
US 11,537,444 · App. 16/719,886 · Granted Dec 27, 2022

Rendering

Inventors: Sean Patrick Devereaux (Newton, MA); Brian Gregory Cipriano (Cambridge, MA); Brian Frederick Drewes (Brookline, MA)
Assignee: Google LLC
G06F9/5077G06F9/455G06F9/45558G06Q30/0283G06Q50/184G06F2009/45595
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 11,537,444
App. No.
16/719,886
Granted
Dec 27, 2022
Kind
B2
Abstract

This document describes methods, systems and computer program products related to cloud-based rendering. The subject matter of this document is embodied in a method that includes receiving, at a server, information associated with a job of rendering one or more frames at the server, and using, at the server, an application to perform at least a portion of the rendering. The use of the application to perform the rendering bears a charge according to a usage license associated with the application. The method also includes measuring, at the server, an amount of use of the application in performing the rendering for use in determining the charge.

Claims (38)

1. A method comprising:

determining that an available virtual machine from among a pool of virtual machines has been idle for a period of time that satisfies a threshold, the available virtual machine comprising one or more resources required for executing a first job request type;

in response to determining that the available virtual machine from among the pool of virtual machines has been idle for the period of time that satisfies the threshold, installing additional resources on the available virtual machine, the additional resources required for executing a second job request type; and

after installing the additional resources on the available virtual machine:

receiving, at a server, a job request comprising files to render frames via an image-editing application, the job request submitted by a customer via a network and configured to execute on a virtual machine from among the pool of virtual machines that includes resources required for executing the second job request type;

identifying, based on the received job request, that the available virtual machine with the installed additional resources from among the pool of virtual machines includes the resources required for executing the second job request type; and

executing, using the available virtual machine with the installed additional resources, the received job request.

2. The method of claim 1 , wherein executing the received job request comprises reserving the available virtual machine for a uniform unit of continuous time.

3. The method of claim 2 , wherein the uniform unit of continuous time is shorter than ten minutes.

4. The method of claim 2 , further comprising charging the customer for the uniform unit of continuous time at a full standard price per the uniform unit of continuous time when an actual amount of time used for executing the received job request is less than the uniform unit of continuous time.

5. The method of claim 2 , further comprising paying for the actual time period for which the received job request executes without regard to the uniform unit of continuous time.

6. The method of claim 1 , further comprising executing, using the available virtual machine with the installed additional resources, job requests received from two or more customers during a period of time that corresponds to a uniform unit of continuous time.

7. A system comprising:

a storage device; and

a computing device connected to the storage device, the computing device comprising memory and a processor, the computing device configured to:

determine that an available virtual machine from among a pool of virtual machines has been idle for a period of time that satisfies a threshold, the available virtual machine comprising one or more resources required for executing a first job request type;

in response to determining that the available virtual machine from among the pool of virtual machines has been idle for the period of time that satisfies the threshold, install additional resources on the available virtual machine, the additional resources required for executing a second job request type; and

after installing the additional resources on the available virtual machine:

receive, at a server, a job request comprising files to render frames via an image-editing application, the job request submitted by a customer via a network and configured to execute on a virtual machine from among the pool of virtual machines that includes resources required for executing the second job request type;

identify, based on the received job request, that the available virtual machine with the installed additional resources from among the pool of virtual machines includes the resources required for executing the second job request type; and

execute, using the available virtual machine with the installed additional resources, the received job request.

8. The system of claim 7 , wherein executing the received job request comprises reserving the available virtual machine for a uniform unit of continuous time.

9. The system of claim 8 , wherein the uniform unit of continuous time is shorter than ten minutes.

10. The system of claim 8 , wherein the computing device is further configured to charge the customer for the uniform unit of continuous time at a full standard price per the uniform unit of continuous time when an actual amount of time used for executing the received job request is less than the uniform unit of continuous time.

11. The system of claim 7 , wherein the computing device is further configured to execute, using the available virtual machine with the installed additional resources, job requests received from two or more customers during a period of time that corresponds to a uniform unit of continuous time.

12. A computer program product comprising a computer readable storage device encoded with instructions, which upon execution by one or more processors, causes operations comprising:

determining that an available virtual machine from among a pool of virtual machines has been idle for a period of time that satisfies a threshold, the available virtual machine comprising one or more resources required for executing a first job request type;

in response to determining that the available virtual machine from among the pool of virtual machines has been idle for the period of time that satisfies the threshold, installing additional resources on the available virtual machine, the additional resources required for executing a second job request type; and

after installing the additional resources on the available virtual machine:

receiving, at a server, a job request comprising files to render frames via an image-editing application, the job request submitted by a customer via a network and configured to execute on a virtual machine from among the pool of virtual machines that includes resources required for executing the second job request type;

identifying, based on the received job request, that the available virtual machine with the installed additional resources from among the pool of virtual machines includes the resources required for executing the second job request type; and

executing, using the available virtual machine with the installed additional resources, the received job request.

13. The computer program product of claim 12 , wherein executing the received job request comprises reserving the available virtual machine for a uniform unit of continuous time.

14. The computer program product of claim 13 , wherein the uniform unit of continuous time is shorter than an hour.

15. The computer program product of claim 13 , wherein the uniform unit of continuous time is shorter than ten minutes.

16. The computer program product of claim 13 , wherein the operations further comprise charging the customer for the uniform unit of continuous time at a full standard price per the uniform unit of continuous time when an actual amount of time used for executing the received job request is less than the uniform unit of continuous time.

17. The computer program product of claim 13 , wherein the operations further comprise paying for the actual time period for which the received job request executes without regard to the uniform unit of continuous time.

18. The computer program product of claim 12 , wherein the operations further comprise, executing, using the available virtual machine with the installed additional resources, job requests received from two or more customers during a period of time that corresponds to a uniform unit of continuous time.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2020
From: ROCKETHOUSE, LLC
To: GOOGLE INC.
Reel/Frame 052179/0602 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2020
From: DEVEREAUX, SEAN PATRICK; CIPRIANO, BRIAN GREGORY; DREWES, BRIAN FREDERICK
To: ROCKETHOUSE, LLC
Reel/Frame 052203/0645 →
CHANGE OF NAME Recorded Mar 20, 2020
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 052203/0652 →
Continuity (3)
Division 15185376 · Jun 17, 2016
Division 13826847 · Mar 14, 2013
Related Publication 20200125421A1 · Apr 23, 2020