CA2347404A1 - System and method for recovering applications - Google Patents

System and method for recovering applications Download PDF

Info

Publication number
CA2347404A1
CA2347404A1 CA002347404A CA2347404A CA2347404A1 CA 2347404 A1 CA2347404 A1 CA 2347404A1 CA 002347404 A CA002347404 A CA 002347404A CA 2347404 A CA2347404 A CA 2347404A CA 2347404 A1 CA2347404 A1 CA 2347404A1
Authority
CA
Canada
Prior art keywords
exception
application
top level
terminates
recovery system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CA002347404A
Other languages
French (fr)
Other versions
CA2347404C (en
Inventor
Ramesh Subramanian
James Birchall
Andrew Van Beek
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cascade Parent Ltd
Original Assignee
Corel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Corel Corp filed Critical Corel Corp
Priority to CA002347404A priority Critical patent/CA2347404C/en
Priority to US09/903,100 priority patent/US7207047B2/en
Publication of CA2347404A1 publication Critical patent/CA2347404A1/en
Application granted granted Critical
Publication of CA2347404C publication Critical patent/CA2347404C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0748Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/481Exception handling

Abstract

An operating system has a top level exception handler which terminates an application as a default action upon receipt of any exceptions. An applicati on recovery system traps an exception which is dispatched to the top level exception handler before it reaches the top level exception handler. In the event, an exception cannot be resolved, the application recovery system terminates a thread that caused the exception, and continues execution of the application .
CA002347404A 2001-05-10 2001-05-10 System and method for recovering applications Expired - Lifetime CA2347404C (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CA002347404A CA2347404C (en) 2001-05-10 2001-05-10 System and method for recovering applications
US09/903,100 US7207047B2 (en) 2001-05-10 2001-07-11 System and method for recovering applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA002347404A CA2347404C (en) 2001-05-10 2001-05-10 System and method for recovering applications

Publications (2)

Publication Number Publication Date
CA2347404A1 true CA2347404A1 (en) 2002-11-10
CA2347404C CA2347404C (en) 2008-11-18

Family

ID=4169030

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002347404A Expired - Lifetime CA2347404C (en) 2001-05-10 2001-05-10 System and method for recovering applications

Country Status (2)

Country Link
US (1) US7207047B2 (en)
CA (1) CA2347404C (en)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7480919B2 (en) * 2003-06-24 2009-01-20 Microsoft Corporation Safe exceptions
US20050015579A1 (en) * 2003-07-15 2005-01-20 Rajeev Grover Handling exceptions
US7716495B2 (en) * 2003-12-31 2010-05-11 Microsoft Corporation Protection against runtime function attacks
US7770169B2 (en) * 2004-05-17 2010-08-03 Oracle America, Inc. Thread rendezvous for read-only code in an object-oriented computing environment
US7386807B2 (en) * 2004-05-17 2008-06-10 Microsoft Corporation System and method for monitoring application response and providing visual treatment
US20060009143A1 (en) * 2004-06-24 2006-01-12 Rodgers William G Field dressing tool
US7949551B2 (en) * 2005-04-06 2011-05-24 International Business Machines Corporation Processing of compensation scopes in workflow management systems
US7391312B2 (en) * 2005-04-22 2008-06-24 Microsoft Corporation Method and system for an incidental feedback platform
US7788529B2 (en) 2005-12-08 2010-08-31 International Business Machines Corporation Method for safely interrupting blocked work in a server
JP4544246B2 (en) * 2006-12-28 2010-09-15 ソニー株式会社 Control device and method, program, and recording medium
US7783920B2 (en) * 2007-02-20 2010-08-24 International Business Machines Corporation Recovery routine masking and barriers to support phased recovery development
US7793149B2 (en) * 2007-02-20 2010-09-07 International Business Machines Corporation Kernel error recovery disablement and shared recovery routine footprint areas
US8127277B2 (en) * 2007-05-21 2012-02-28 International Business Machines Corporation Framework for conditionally executing code in an application using conditions in the framework and in the application
US7827444B2 (en) * 2007-09-28 2010-11-02 Intel Corporation Application crash resist method and apparatus
JP2009093257A (en) * 2007-10-04 2009-04-30 Sony Corp Electronic equipment and log output method
US7934129B2 (en) * 2008-09-05 2011-04-26 Microsoft Corporation Network hang recovery
US20100131745A1 (en) * 2008-11-25 2010-05-27 Microsoft Corporation Exceptional events
US10346199B2 (en) 2009-04-10 2019-07-09 Microsoft Technology Licensing, Llc Handling exceptions related to corrupt application state
CN102308285B (en) * 2011-07-26 2013-08-28 华为技术有限公司 Memory bug application of application program
US10613506B2 (en) * 2012-01-06 2020-04-07 General Electric Company Apparatus and method for creating and presenting control logic
US9037922B1 (en) * 2012-05-01 2015-05-19 Amazon Technololgies, Inc. Monitoring and analysis of operating states in a computing environment
US10255158B2 (en) * 2013-10-15 2019-04-09 Oracle International Corporation Monitoring and diagnostics of business transaction failures
CN108415734A (en) * 2018-03-22 2018-08-17 车智互联(北京)科技有限公司 A kind of application recovery device, method and mobile terminal
US11372650B2 (en) * 2019-02-28 2022-06-28 Roots Automation, Inc. System, apparatus, and method for exception handling between an automated software system and a human operator
US11036365B2 (en) * 2019-06-07 2021-06-15 Microsoft Technology Licensing, Llc Hang condition mitigation for browser applications
CN110489179B (en) * 2019-08-02 2022-12-27 北京字节跳动网络技术有限公司 Method, device, medium and equipment for acquiring call stack frame function signature
US11442739B2 (en) * 2019-09-16 2022-09-13 International Business Machines Carporation Exception handling
US11216280B2 (en) * 2019-11-26 2022-01-04 Arm Limited Exception interception
US11175926B2 (en) * 2020-04-08 2021-11-16 Microsoft Technology Licensing, Llc Providing exception stack management using stack panic fault exceptions in processor-based devices
CN113900851A (en) * 2021-10-29 2022-01-07 广州品唯软件有限公司 Android application software control method and device

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2242293A (en) * 1990-01-05 1991-09-25 Apple Computer Apparatus and method for dynamic linking of computer software components
US5305455A (en) * 1990-12-21 1994-04-19 International Business Machines Corp. Per thread exception management for multitasking multithreaded operating system
CA2143488C (en) * 1995-02-27 2000-01-11 Robert Paul Duncan Dynamic link libraries without linker or loader support
US6421740B1 (en) * 1995-12-27 2002-07-16 Apple Computer, Inc. Dynamic error lookup handler hierarchy
US6021262A (en) * 1996-07-12 2000-02-01 Microsoft Corporation System and method for detection of, notification of, and automated repair of problem conditions in a messaging system
US5815702A (en) * 1996-07-24 1998-09-29 Kannan; Ravi Method and software products for continued application execution after generation of fatal exceptions
US6003095A (en) * 1996-10-31 1999-12-14 International Business Machines Corporation Apparatus and method for demand loading a dynamic link library
US5946698A (en) * 1997-03-10 1999-08-31 Microsoft Corporation Database computer system with application recovery
US5870763A (en) * 1997-03-10 1999-02-09 Microsoft Corporation Database computer system with application recovery and dependency handling read cache
US5948113A (en) * 1997-04-18 1999-09-07 Microsoft Corporation System and method for centrally handling runtime errors
US6035121A (en) * 1997-07-07 2000-03-07 Netscape Communication Corporation Method and system for localizing a computer program
JPH1153223A (en) * 1997-08-01 1999-02-26 Sony Corp Data processing method, recording medium and electronic equipment
US6009258A (en) * 1997-09-26 1999-12-28 Symantec Corporation Methods and devices for unwinding stack of frozen program and for restarting the program from unwound state
US5911060A (en) * 1997-09-26 1999-06-08 Symantec Corporation Computer method and apparatus for unfreezing an apparently frozen application program being executed under control of an operating system
US6009517A (en) * 1997-10-06 1999-12-28 Sun Microsystems, Inc. Mixed execution stack and exception handling
US6230284B1 (en) * 1998-04-24 2001-05-08 Intel Corporation Initiating corrective action after the occurrence of a program error
US6651163B1 (en) * 2000-03-08 2003-11-18 Advanced Micro Devices, Inc. Exception handling with reduced overhead in a multithreaded multiprocessing system
US6591379B1 (en) * 2000-06-23 2003-07-08 Microsoft Corporation Method and system for injecting an exception to recover unsaved data

Also Published As

Publication number Publication date
US20030018681A1 (en) 2003-01-23
US7207047B2 (en) 2007-04-17
CA2347404C (en) 2008-11-18

Similar Documents

Publication Publication Date Title
CA2347404A1 (en) System and method for recovering applications
WO2004055634A3 (en) Systems and methods for detecting a security breach in a computer system
MXPA05002689A (en) Security device and system.
CA2397703A1 (en) Systems and methods for abstracting portions of information that is represented with finite-state devices
IL157542A0 (en) System and method for restoring computer systems damaged by a malicious computer program
DE60123076D1 (en) STATE MESSAGE OF A DEVICE TO A REMOTE COMPUTER
WO2005098599A3 (en) Triggering actions in response to optically or acoustically capturing keywords from a rendered document
WO2006086594A3 (en) Remediating effects of an undesired application
IL171906A (en) Instructions to assist the processing of a cipher message
WO2005109879A3 (en) Free space pointing devices and method
WO2005013053A3 (en) Apparatus and method for software debugging
WO2002033954A3 (en) User control and activation of watermark enabled objects
WO2007076716A3 (en) System and method of blocking keyloggers
WO2003103212A3 (en) System for multimedia rendering in a portable device
WO2002067118A3 (en) Method and system for passing objects in a distributed system using serialization contexts
WO2005033927A3 (en) Method and apparatus to enable execution of a thread in a multi-threaded computer system
WO2002097609A3 (en) Unhandled operation handling in multiple instruction set systems
EP1313033A3 (en) File system, control method, and program
MY140284A (en) Flood control support device, program, and flood control support method
WO2003104991A3 (en) Method and base chip for monitoring the operation of a microcontroller unit
WO2006077246A3 (en) Method, computer program, and system for processing several document processing jobs
TW200506714A (en) Recovery upon access violation by audio processing object
AU2001254879A1 (en) Countermeasure method in a microcircuit and smart card comprising said microcircuit
WO2007059205A3 (en) Integrated programmer reference for industrial control device data
TW200620020A (en) Management method of embedded-type computer program

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20210510