Session idle optimization for streaming server
First Claim
Patent Images
1. A system comprising:
- one or more processors; and
one or more memories to store a set of instructions, which if executed by the one or more processors, causes the one or more processors to perform operations comprising;
performing, by a rendering process operating on a virtual machine, graphics rendering services for one or more clients;
receiving a first request for the graphics rendering services from the one or more clients by a monitoring component at a first time;
performing a first determination that no subsequent request for the graphics rendering services is received from the one or more clients by the monitoring component within a first threshold amount of time since the first time;
performing a second determination that a number of active rendering processes on the virtual machine has fallen below a threshold number of active rendering processes that is greater than one;
transferring one or more of the active rendering processes on the virtual machine to one or more other virtual machines based at least in part on the second determination;
suspending operation of the virtual machine based at least in part on the first determination and the second determination; and
resuming operation of the virtual machine based at least in part on receiving information indicative of receiving a second request for the graphics rendering services from the one or more clients.
1 Assignment
0 Petitions
Accused Products
Abstract
Graphics rendering services may be provided to a client device by a remote computing facility. One or more rendering processes may be executed on a virtual machine operating on a host computing device. Client state information may be monitored to detect periods of inactivity. A rendering process may be inactivated by suspending the virtual machine on which it executes. Upon resumption of activity, the rendering process may be reactivated by resuming execution of the virtual machine.
227 Citations
17 Claims
-
1. A system comprising:
-
one or more processors; and one or more memories to store a set of instructions, which if executed by the one or more processors, causes the one or more processors to perform operations comprising; performing, by a rendering process operating on a virtual machine, graphics rendering services for one or more clients; receiving a first request for the graphics rendering services from the one or more clients by a monitoring component at a first time; performing a first determination that no subsequent request for the graphics rendering services is received from the one or more clients by the monitoring component within a first threshold amount of time since the first time; performing a second determination that a number of active rendering processes on the virtual machine has fallen below a threshold number of active rendering processes that is greater than one; transferring one or more of the active rendering processes on the virtual machine to one or more other virtual machines based at least in part on the second determination; suspending operation of the virtual machine based at least in part on the first determination and the second determination; and resuming operation of the virtual machine based at least in part on receiving information indicative of receiving a second request for the graphics rendering services from the one or more clients. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
performing, by a rendering process operating on a virtual machine, graphics rendering services for one or more clients; receiving a first request for the graphics rendering services from the one or more clients by a monitoring component at a first time; performing a first determination that no subsequent request for the graphics rendering services is received from the one or more clients by the monitoring component within a first threshold amount of time since the first time; performing a second determination that a number of active rendering processes on the virtual machine has fallen below a threshold number of active rendering processes that is greater than one; transferring one or more of the active rendering processes on the virtual machine to one or more other virtual machines based at least in part on the second determination; suspending operation of the virtual machine based at least in part on the first determination and the second determination; and resuming operation of the virtual machine based at least in part on receiving information indicative of receiving a second request for the graphics rendering services from the one or more clients. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable medium having stored thereon a set of instructions, which if performed by one or more processors, causes the one or more processors to perform operations comprising:
-
performing, by a rendering process operating on a virtual machine, graphics rendering services for one or more clients; receiving a first request for the graphics rendering services from the one or more clients by a monitoring component at a first time; performing a first determination that no subsequent request for the graphics rendering services is received from the one or more clients by the monitoring component within a first threshold amount of time since the first time; performing a second determination that a number of active rendering processes on the virtual machine has fallen below a threshold number of active rendering processes that is greater than one; transferring one or more of the active rendering processes on the virtual machine to one or more other virtual machines based at least in part on the second determination; suspending operation of the virtual machine based at least in part on the first determination and the second determination; and resuming operation of the virtual machine based at least in part on receiving information indicative of receiving a second request for the graphics rendering services from the one or more clients.
-
Specification