# US 7,613,957 B2 · Visual indication for hung applications

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,613,957 B2
- Document ID: US7613957B2
- Status: Granted
- Kind: B2
- Application number: 11/100,351
- Filed: 2005-04-06
- Published: 2006-10-12
- Granted: 2009-11-03
- Earliest claimed: 2005-04-06
- Assignees: Microsoft Corporation
- Inventors: Charles Cummins; Gerald F. Maffeo; Lyon K. F. Wong; Reiner Fink
- Web page: https://patentgrep.com/patent/US7613957B2

## CPC

- G06F 3/0481: based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F 11/321: {Display for diagnostics, e.g. diagnostic result display, self-test user interface}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods and systems for providing a visual indication of hung applications are provided. When an application is in a hung state, an application window is replaced with a proxy window. The appearance of the proxy window is altered when a user attempts to interact with the proxy window.

## Claims

### Claim 1

A computer implemented method of alerting a user that an underlying application is in an unexpected hung state, the method comprising:
(a) capturing application display data for an application window, wherein the application window corresponds with the underlying application;
(b) determining when the underlying application is in an unexpected hung state;
(c) when the underlying application is in the unexpected hung state, creating a proxy window that includes the captured application display data, wherein the proxy window provides an indication, by altering the appearance of the proxy window from the captured application display data, that the underlying application is in an unexpected hung state;
(d) replacing on a display device the application window with the proxy window;
(e) determining when a user uses an input device to interact with the proxy window; and
(f) when the user interacts with the proxy window, altering the appearance of the proxy window.

### Claim 2 (depends on 1)

The method of claim 1, wherein (a) comprises periodically capturing application display data.

### Claim 3 (depends on 1)

The method of claim 1, wherein (a) comprises capturing application display data when application display data changes.

### Claim 4 (depends on 1)

The method of claim 1, wherein (e) comprises determining when a user attempts to select an element of the proxy window with a pointing device.

### Claim 5 (depends on 1)

The method of claim 1, wherein (f) comprises applying a frosted appearance to the proxy window.

### Claim 6 (depends on 5)

The method of claim 5, wherein (f) comprises blending a bit map of the proxy window with a white bit map.

### Claim 7 (depends on 1)

The method of claim 1, wherein (f) comprises displaying the contents of the proxy window in black and white.

### Claim 8 (depends on 1)

The method of claim 1, wherein (f) comprises changing the color of the proxy window.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
(g) altering the appearance of the proxy window, such that the appearance of the proxy window varies from the captured application display data, after a predetermined time period has elapsed since the creation of the proxy window.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
(g) determining when the underlying application is no longer in the hung state; and
(h) replacing the proxy window with an application window when the underlying application is no longer in the hung state.

### Claim 11 (depends on 1)

The method of claim 1, wherein (b) comprises determining if the underlying application has not communicated with an operating system within a predetermined time period.

### Claim 12 (depends on 1)

The method of claim 1, wherein (b) occurs prior to (a).

### Claim 13 (depends on 1)

The method of claim 1, further including:
(i) determining if the underlying application in (b) is related to another application window;
(ii) when the underlying application in (b) is related to the another application window, replacing the related application window with a related application proxy window; and
(iii) when the user interacts with the proxy window, altering the appearance of the related application proxy window.

### Claim 14 (depends on 13)

The method of claim 13, wherein the related application window is created by the related application that is different from the underlying application in (b).

### Claim 15

In a computer system having a graphical user interface including a display and a user interface selection device, a method of alerting a user that an application is in an unexpected hung state, the method comprising:
(a) displaying on the display an application window;
(b) replacing the application window with a proxy window when the application is in an unexpected hung state;
(c) receiving a command indicative of the user interface selection device attempting to interact with the proxy window; and
(d) in response to (c), altering the appearance of the proxy window such that the appearance of the proxy window varies from the captured application display data to visually indicate the application is in an unexpected hung state.

### Claim 16 (depends on 15)

The method of claim 15, wherein (d) comprises applying a frosted appearance to the proxy window.

### Claim 17 (depends on 16)

The method of claim 16, wherein (d) comprises blending a bit map of the proxy window with a white bit map.

### Claim 18 (depends on 15)

The method of claim 15, wherein (d) comprises displaying the contents of the proxy window in black and white.

### Claim 19 (depends on 15)

The method of claim 15, wherein (d) comprises changing the color of the proxy window.

### Claim 20

A computer-readable medium containing computer-executable instructions for causing a computer device to perform the steps comprising:
(a) displaying on a display an application window corresponding to an application;
(b) capturing application display data for the application window;
(c) determining if the application is in an unexpected hung state;
(d) replacing the application window with a proxy window when the application is in the hung state;
(e) when a user attempts to interact with the proxy window, changing the appearance of the proxy window, such that the appearance of the proxy window varies from the captured application display data to visually indicate the application is in an unexpected hung state;
(f) determining when the application is no longer in the hung state; and
(g) replacing the proxy window with an application window when the application is no longer in the hung state.
