Browse Prior Art Database

Button for temporary pause and resume of application for resource management and optimization Disclosure Number: IPCOM000201999D
Publication Date: 2010-Nov-30
Document File: 3 page(s) / 37K

Publishing Venue

The Prior Art Database


Using a windows-based operating system allows users to run a significant number of applications in parallel. While this has advanced the potential for a user’s productivity, this has come at a cost of hardware resources that are available on the host machine such as CPU and memory. Ideally, users would have the ability to run their applications in parallel while being able to manage their hardware resources for performance. In this article we’ll define an addition to the standard set of actions in a GUI-based operating system in the form of a button that will allow users to temporarily pause an application through the window manager.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 01 of 3

Button for temporary pause and resume of application for resource management and optimization

Modern GUI-based operating systems, such as Microsoft Windows, are based on concepts of running each application in one or more windows. Over the years, a common interface has emerged - the user is able to resize the window, move, minimize/maximize or close it in easily accessible manner (typically by clicking and dragging a mouse pointer).

Using a window-based OS allows an user to open many applications at once, which may lead to application performance issues depending on the available computer resources such as CPU and memory. The user has easy way to close or kill any application with X button on the window manager, but lacks a similarly convenient method to pause it temporarily, in order to free CPU resources or postpone system resource intensive tasks. The concept of pausing the application is already known and usually supported by a majority of operating systems, however, this functionality is not exposed via the UI. Savvy users will know how to suspend and resume an application however this requires the knowledge of the application's PID followed by the manual execution of a command to pause the program (for example command-line PsSuspend program is capable of such action). It is therefore desired to further abstract this process and make this more readily available to the application users.

The proposed solution is to add an additional, dedicated button for pausing the application. The main advantage of this approach is that this provides a clear and convenient way to pause a program (and therefore reduce CPU load) without stopping/killing the program, so the program's state remains intact.

The idea could be implemented as follows:

The pause button would be integral part of window management UI.

Of further consideration is the need to properly handle displaying such windows and disallow operations such as maximize/resize. This can be done by taking a screenshot of window and showing the screenshot along with optional information that application is paused. This can also be combined with minimizing/iconizing the application so that its windows are not shown until the application is resumed. The window contents or the window representation on task-bar can be grayed-out to allow the user quick visual identification of the paused app. In general, the window representation of paused application should be maximally lightweight.

Since the priorities of processes do not affect other resource consumption (such as memory, disk and network usage), pausing applications that are doing heavy I/O operations might be the only way to gain responsiveness of an operating system.

Additionally, users may be presented with additional options - such as resuming after specified time, pausing during specified time windows - i.e...