TECHNICAL FIELD

The present disclosure relates generally to network-based systems. More particularly, aspects of this disclosure relate to power saving by predicting the times remote desktops and/or remote applications are used and providing suspension and resumption of their operation based on the predicted use times.

BACKGROUND

Computing systems that rely on applications operated by numerous networked computers are ubiquitous. Information technology (IT) service providers thus must effectively manage and maintain very large-scale infrastructures. An example enterprise environment may have many thousands of devices and hundreds of installed software applications to support. The typical enterprise also uses many different types of central data processors, networking devices, operating systems, storage services, data-backup solutions, cloud services, and other resources.

Users of networked computers, such as in a cloud-based system, may typically log into a computer workstation or client device and are provided a desktop application that displays an interface of desktops available via the network or cloud. A “desktop” is any form of desktop virtualization in which the desktop and/or a specific application are running in a virtual environment in a remote location, typically on a public computing cloud. Such desktops will be initially accessed when a user logs in. While users may connect to the desktop on any computer on the network, most users work from one specific computer. When a desktop is available for use, such a desktop is considered “activated.” When the desktop is made unavailable for use, in order to conserve resources, the desktop is considered “suspended.” When a desktop that had been suspended is activated again, the desktop is considered “resumed.” Currently, the desktop is activated on-demand from the cloud or network. Typically, this process involves waiting for the user to launch the client on a networked computer and attempt to access the desktop before the desktop is activated.

Some users prefer to leave the desktop activated all the time to make it available to the user at any time. However, leaving the desktops activated all the time is not a cost-effective way to provide cloud-based desktops, as the virtual computing devices consume power and computing resources while they wait for users to actually use the desktop. One solution is to automatically suspend the desktop after a predetermined time. However, if the desktops are suspended during the non-active hours, a user has to wait for the desktop to resume before he or she can start working during the regular active hours.

Thus, there is a need for a system that predicts when a user may require a desktop in a network or cloud-based system and then activate the desktop just prior to when a user may require the desktop. There is a further need for a system that conserves power and system resources by only activating a desktop when it is likely a user will require the desktop. There is a further need for a routine that determines active periods for network users and adjusts the suspension of the desktop depending on whether inactivity occurs within an active period. There is a further need to determine multiple user profiles to determine optimal times to activate servers at a data center in accordance with predicted times for when groups of users access their respective desktops.

SUMMARY

One disclosed example is a system resuming a remote desktop accessed by a networked client device. The system includes a control system accepting login data from a user input to a networked client device. A remote server allows a stored desktop to be accessed by the networked client device when the control system validates the login data from the user input. The control system suspends the desktop when the user is inactive in operating the client device. The control system is operable to activate the desktop for the networked client device in relation to a predicted start time. The predicted start time is based on login data from past logins by the user on one or more client devices.

Another disclosed example is a method of activating a desktop on an idle client device operating a client application in a network system. Login data from a user input to the client device is accepted via a control system. The login data from the user is validated. Access to a desktop on a remote server is allowed to the networked client device from over the network. The desktop is suspended when the user is inactive in operating the client device. The desktop for the networked client device is activated in relation to a predicted start time. The predicted start time is based on login data from past logins by the user on one or more client devices.

Another disclosed example is a system that determines a time to activate a desktop for a networked client device. An access control system accepts login data from a user input to the networked client device. A remote server stores a desktop that is accessed by the networked client device when the control system validates the login data from the user input. The control system is operable to determine a predicted start time associated with the user. The predicted start time is based on login data from past logins by the user on networked client devices.

The above summary is not intended to represent each embodiment or every aspect of the present disclosure. Rather, the foregoing summary merely provides an example of some of the novel aspects and features set forth herein. The above features and advantages, and other features and advantages of the present disclosure will be readily apparent from the following detailed description of representative embodiments and modes for carrying out the present invention when taken in connection with the accompanying drawings and the appended claims.

