← Back to Patent Explorer
US5911060A Expired / Lapsed US ⏱️ 0.0 years remaining

Computer method and apparatus for unfreezing an apparently frozen application program being executed under control of an operating system

Assignee: Veritas Technologies LLC
•
Filing: 1997-09-26
•
Granted: 1999-06-08
•
Expires: 2017-09-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The invention provides an apparatus and computer method, generally referred to as ANTI-FREEZE TM , for controlling the operation of a computer running under an operating system such as WINDOWS TM 95 and WINDOW TM NT operating system, or their like, for making responsive a program when that program becomes unresponsive to inputs from the keyboard and/or mouse. ANTI-FREEZE TM provides a user interface for the selection of an unresponsive program and then causes the operating system to send a message to the selected unresponsive program. If the selected unresponsive program responds to the message from the operating system, ANTI-FREEZE TM determines if the selected unresponsive program has any disabled windows and if so enabling a disabled window resulting in the selected unresponsive program to again become responsive. If the selected unresponsive program does not respond to the message from the operating system, ANTI-FREEZE TM modifies the selected unresponsive program to become responsive to messages sent from the operating system to the selected unresponsive program resulting in the selected unresponsive program to again become responsive.

Inventors

  • 👤 Scott Elliott

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 12:30
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/1402; G06F11/1415; G06F11/1438

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 265 words
An apparatus, operatively couplable to a data processing machine operating under control of a window type operating system, for making responsive a window function of a program operating under said operating system when said window function of said program becomes unresponsive to inputs from the keyboard and/or mouse, said operating system having previously assigned a plurality of registers, a virtual memory and a stack to said program for use by said program; said apparatus comprising: a plurality of instruction means for instructing said data processing machine to perform operations, the plurality of instruction means including: (a) first instruction means for instructing said data processing machine to provide an user interface for the selection of an unresponsive program; (b) second instruction means for instructing said data processing machine after a selected program is selected by said user interface to determine whether said selected program is responsive to a message sent by said operating system to said program; (c) third instruction means for instructing said data processing machine, when said second instruction means has determined that said selected program is responsive to said message, to determine whether said selected program has at least one disabled window and where said selected program has said at least one disabled window to enable one disabled window of said at least one disabled window; and (d) fourth instruction means for instructing said data processing machine, when said second instruction means has determined that said selected program is not responsive to said message, to modify said selected program to be responsive to messages sent to said selected program from said operating system.
Claim 2
Independent Claim 265 words
An apparatus, operatively couplable to a data processing machine operating under control of a window type operating system, for making responsive a window function of a program operating under said operating system when said window function of said program becomes unresponsive to inputs from the keyboard and/or mouse, said operating system having previously assigned a plurality of registers, a virtual memory and a stack to said program for use by said program; said apparatus comprising: a plurality of instruction means for instructing said data processing machine to perform operations, the plurality of instruction means including: (a) first instruction means for instructing said data processing machine to provide an user interface for the selection of an unresponsive program; (b) second instruction means for instructing said data processing machine after a selected program is selected by said user interface to determine whether said selected program is responsive to a message sent by said operating system to said program; (c) third instruction means for instructing said data processing machine, when said second instruction means has determined that said selected program is responsive to said message, to determine whether said selected program has at least one disabled window and where said selected program has said at least one disabled window to enable one disabled window of said at least one disabled window; and (d) fourth instruction means for instructing said data processing machine, when said second instruction means has determined that said selected program is not responsive to said message, to modify said selected program to be responsive to messages sent to said selected program from said operating system.
Claim 3
Dependent Claim 35 words
The apparatus of claim 1 wherein said third instruction means instructs said data processing machine to construct a window tree for said selected program and to enable the lowest disabled window in said window tree.
Claim 4
Dependent Claim 38 words
The apparatus of claim 1 and 2 wherein said fourth instruction means instructs said data processing machine to establish said apparatus as the debugger for said program modify which suspends the operation a window function of said program.
Claim 5
Dependent Claim 113 words
The apparatus of claim 3 wherein said fourth instruction means instructs said data processing machine to search said stack for said program for the return address to a operating system call function that called said window function in said program and upon locating said return address to modify contents of a subset of said register to have the contents that said subset of registers would have had when said window function was successfully completed and for restarting said program such that said window function will immediately return said operating system call system which called said window function of said program so as to make responsive said program to messages from said operating system.
Claim 6
Dependent Claim 58 words
The apparatus of claim 3 wherein said fourth instruction means instructs said data processing machine to add additional memory space to said virtual memory, to store a routine in said additional memory space and to initiate said program at the start of said stored routine so as to make responsive said program to messages from said operating system.
Claim 7
Dependent Claim 27 words
The apparatus of claim 4 wherein said fourth means instruction means instructs said data processing machine to search said stack by a process of walking the stack.
Claim 8
Dependent Claim 27 words
The apparatus of claim 4 wherein said fourth means instruction means instructs said data processing machine to search said stack by a process of scanning the stack.
Claim 9
Dependent Claim 54 words
The apparatus of claim 4 wherein said fourth means instruction means instructs said data processing machine to first search said stack by a process of scanning the stack and when the process of scanning the stack fails to find said return address to then search said stack by a process of walking said stack.
Claim 10
Dependent Claim 54 words
The apparatus of claim 4 wherein said fourth means instruction means instructs said data processing machine to first search said stack by a process of walking the stack and when the process of walking the stack fails to find said return address to then search said stack by a process of scanning said stack.
Claim 11
Dependent Claim 188 words
A computer method for making responsive a program operating under a window type operating system when a window function of said program becomes unresponsive to inputs from the keyboard and/or mouse, said operating system having previously assigned a plurality of registers, a virtual memory and a stack to said program for use by said program; said computer method comprising the steps of: (a) providing an user interface for the selection of an unresponsive program; (b) sending a message from said operating system to a selected unresponsive program selected by said user interface; (c) determining if said selected unresponsive program responded to said message sent by said operating system to said unresponsive selected program; (d) determining if said selected unresponsive program has any disabled windows and if so enabling a disabled window when said selected unresponsive program responded to said message sent from said operating system; and (e) modifying said selected unresponsive program to be responsive to messages sent from said operating system to said selected unresponsive program when said selected unresponsive program did not respond to said message sent to said selected unresponsive program from said operating system.
Claim 12
Dependent Claim 188 words
A computer method for making responsive a program operating under a window type operating system when a window function of said program becomes unresponsive to inputs from the keyboard and/or mouse, said operating system having previously assigned a plurality of registers, a virtual memory and a stack to said program for use by said program; said computer method comprising the steps of: (a) providing an user interface for the selection of an unresponsive program; (b) sending a message from said operating system to a selected unresponsive program selected by said user interface; (c) determining if said selected unresponsive program responded to said message sent by said operating system to said unresponsive selected program; (d) determining if said selected unresponsive program has any disabled windows and if so enabling a disabled window when said selected unresponsive program responded to said message sent from said operating system; and (e) modifying said selected unresponsive program to be responsive to messages sent from said operating system to said selected unresponsive program when said selected unresponsive program did not respond to said message sent to said selected unresponsive program from said operating system.
Claim 13
Dependent Claim 32 words
The computer method of claim 10 wherein step (d) performs the steps of: (d1) constructing a window tree for said selected program; (d2) enabling the lowest disabled window in said window tree.
Claim 14
Dependent Claim 31 words
The computer method of claims 10 and 11 wherein step(e) performs the steps of: (e1) establishing a debugger for said program which suspends the operation a window function of said program.
Claim 15
Dependent Claim 111 words
The computer method of claim 12 wherein step (e) performs the steps of: (e2) searching said stack for said program for said return address to said operating system call function that called said window function in said program; (e3) upon locating said return address modifying contents of a subset of said register to have those contents that said subset of registers would have had when said window function was successfully completed; and (e4) restarting said program such that said window function will immediately return to said operating system call function which called said window function of said program so as to make responsive said program to messages from said operating system.
Claim 16
Dependent Claim 55 words
The apparatus of claim 12 wherein step (e) performs the steps of: (e4) adding additional memory space to said virtual memory; (e5) storing a routine in said additional memory space; and (e6) restarting said program at the start of said stored routine so as to make said program responsive to messages from said operating system.
Claim 17
Dependent Claim 23 words
The apparatus of claim 13 wherein step (e2) includes the steps of: (i) searching said stack by a process of walking the stack.
Claim 18
Dependent Claim 23 words
The apparatus of claim 13 wherein step (e2) includes the steps of: (ii) searching said stack by a process of scanning the stack.
Claim 19
Dependent Claim 48 words
The apparatus of claim 13 wherein step (e2) includes the steps of: (iii) searching said stack by a process of walking the stack; and (iv) searching said stack by a process of scanning said stack when the process of walking the stack fails to find said return address.
Claim 20
Dependent Claim 49 words
The apparatus of claim 13 wherein step (e2) includes the steps of: (v) searching said stack by a process of scanning the stack; and (vi) searching said stack by a process of walking the stack when the process of scanning walking the stack fails to find said return address.

References Cited (Backward Citations)

US5515493A Cited
US5526485A Cited
US5815702A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-06-07 2002-12-07 2003-06-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-06-07 2006-12-07 2007-06-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-06-07 2010-12-07 2011-06-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag