KR20150033711A - 런타임 오류 복원 방법, 디바이스 및 시스템 - Google Patents

런타임 오류 복원 방법, 디바이스 및 시스템 Download PDF

Info

Publication number
KR20150033711A
KR20150033711A KR1020157002809A KR20157002809A KR20150033711A KR 20150033711 A KR20150033711 A KR 20150033711A KR 1020157002809 A KR1020157002809 A KR 1020157002809A KR 20157002809 A KR20157002809 A KR 20157002809A KR 20150033711 A KR20150033711 A KR 20150033711A
Authority
KR
South Korea
Prior art keywords
error
application
identity
restoration
information
Prior art date
Application number
KR1020157002809A
Other languages
English (en)
Inventor
쉬둥 첸
시앙웨이 송
Original Assignee
텐센트 테크놀로지(센젠) 컴퍼니 리미티드
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 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 filed Critical 텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Publication of KR20150033711A publication Critical patent/KR20150033711A/ko

Links

Images

Classifications

    • 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
    • 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
    • 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/079Root cause analysis, i.e. error or fault diagnosis
    • 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/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis

Abstract

런타임 오류들을 복원하는 방법, 디바이스 및 시스템에 제공되며, 상기 방법은, 클라이언트 측에서, 런타임 오류를 가진 소프트웨어의 덤프 파일 정보 및 버전 정보를 획득하고, 상기 런타임 오류에 대응하는 오류 신원을 얻기 위해서, 미리 설정된 알고리즘에 따라서 상기 획득한 덤프 파일 정보 및 버전 정보에 대한 계산을 수행하고, 오류 신원을 오류 보고 내에서 운반하고, 그리고 그 오류 보고를 오류 정보 취득 서버 (201)로 전송하며; 상기 오류 신원에 따라서 상기 오류 정보 취득 서버에 의해 발행된 복원 프로그램을 수신하며, 그리고 복원을 수행하기 위해서 상기 복원 프로그램을 활성화 (202)시키는 것을 포함한다. 상기의 기술적 해결책은 소프트웨어 런타임 오류를 복원하기 위해 필요한 시간을 줄일 수 있다.

Description

런타임 오류 복원 방법, 디바이스 및 시스템{Run-time error repairing method, device and system}
본 발명 개시의 실시예들은 컴퓨터 기술들 및 네트워크 보안 분야에 관한 것이며, 더 상세하게는, 런타임 오류들을 복원하기 위한 방법, 장치 및 시스템에 관한 것이다.
현재, 더욱 더 많은 애플리케이션들이 사용자들에 의해서 컴퓨터들에 설치된다. 애플리케이션이 실행 (running)되고 있을 때에, 그 애플리케이션의 설계 버그들이나 트로이 플러그-인 프로그램의 영향으로 인해서 알려지지 않은 애플리케이션 런타임 (run-time) 오류가 발생할 수 있으며, 이는 상기 애플리케이션으로 하여금 적절하지 않게 실행되도록 할 수 있을 것이다. 그러므로, 사용자들의 정상적인 운영들에 영향을 주는 것을 피하기 위해서 애플리케이션은 시기 적절하게 복원 (repair)되어야 필요가 있다.
본 발명은 상기에서의 설명과 같이 사용자들의 정상적인 운영들에 영향을 주는 것을 피하기 위해서 애플리케이션의 런타임 오류를 복원하기 위한 방안들을 제공하려고 한다.
본 발명 개시의 실시예들은 런타임 오류들을 복원하기 위한 방법을 기술하며, 이는 애플리케이션 런타임 오류들을 복원하기 위해 필요한 시간을 줄어들게 할 수 있다.
본 발명 개시의 실시예들은 런타임 오류들을 복원하기 위한 디바이스들을 기술하며, 이는 애플리케이션 런타임 오류들을 복원하기 위해 필요한 시간을 줄어들게 할 수 있다.
본 발명 개시의 실시예들은 런타임 오류들을 복원하기 위한 시스템을 기술하며, 이는 애플리케이션 런타임 오류들을 복원하기 위해 필요한 시간을 줄어들게 할 수 있다.
본 발명 개시의 다양한 실시예들은 런타임 (run-time) 오류들을 복원하는 방법을 설명하며, 이 방법은:
클라이언트 측에서, 런타임 오류가 발생한 애플리케이션의 덤프 파일 정보 및 버전 정보를 획득하고;
상기 런타임 오류와 연관된 오류 신원 (identification)을 얻기 위해서 미리 설정된 (preset) 알고리즘에 따라서 상기 획득한 덤프 파일 정보 및 버전 정보를 계산하고;
상기 오류 신원을 운반하는 오류 보고를 오류 정보 취득 서버로 송신하며;
상기 오류 신원에 따라서 상기 오류 정보 취득 서버에 의해 발행된 복원 애플리케이션을 수신하며; 그리고
복원을 수행하기 위해서 상기 복원 애플리케이션을 활성화시키는 것을 포함한다.
본 발명 개시의 다양한 실시예들은 클라이언트를 설명하며, 이 클라이언트는:
오류 보고 모듈; 및
복원 모듈을 포함하며,
상기 오류 보고 모듈은:
런타임 오류가 발생한 애플리케이션의 덤프 파일 정보 및 버전 정보를 획득하고,
상기 런타임 오류와 연관된 오류 신원을 얻기 위해서 미리 설정된 알고리즘에 따라서 상기 획득한 덤프 파일 정보 및 버전 정보를 계산하고, 그리고
상기 오류 신원을 운반하는 오류 보고를 오류 정보 취득 서버로 송신하도록 구성되며, 그리고
상기 복원 모듈은:
상기 오류 신원에 따라서 상기 오류 정보 취득 서버에 의해 발행된 복원 애플리케이션을 수신하며, 그리고
복원을 수행하기 위해서 상기 복원 애플리케이션을 활성화시키도록 구성된다.
본 발명 개시의 다양한 실시예들은 오류 정보 취득 서버를 설명하며, 이 오류 정보 취득 서버는:
수신 모듈;
복원 애플리케이션 질의 모듈; 및
송신 모듈을 포함하며,
상기 수신 모듈은,
클라이언트로부터 송신된 런타임 오류와 연관된 오류 신원을 운반하는 오류 보고를 수신하고, 그리고
그 오류 보고를 복원 애플리케이션 질의 모듈로 송신하도록 구성되며;
상기 복원 애플리케이션 질의 모듈은,
상기 오류 신원과 연관된 복원 애플리케이션이 로컬에 저장되어 있는가의 여부를 질의하고, 그리고
상기 오류 신원과 연관된 복원 애플리케이션이 로컬에 저장되어 있을 때에, 상기 복원 애플리케이션을 송신 모듈로 송신하도록 구성되며; 그리고
상기 송신 모듈은 수신한 정보를 상기 클라이언트로 송신하도록 구성된다.
본 발명 개시의 다양한 실시예들은 런타임 오류들을 복원하기 위한 시스템을 설명하며, 이 시스템은:
클라이언트; 및
오류 정보 취득 서버를 포함하며,
상기 클라이언트는,
런타임 오류와 연관된 계산된 오류 신원을 운반하는 오류 보고를 오류 정보 취득 서버로 송신하고, 그리고
복원을 수행하기 위해서, 수신한 복원 애플리케이션을 활성화시키도록 구성되며; 그리고
상기 오류 정보 취득 서버는,
상기 오류 신원을 운반하는 상기 오류 보고를 수신하며, 그리고
상기 오류 신원과 연관된 복원 애플리케이션을 상기 클라이언트로 발행하도록 구성된다.
상기의 기술적인 개요에서 볼 수 있는 것처럼, 본 발명 개시의 다양한 실시예들에서 설명된 방법, 디바이스 및 시스템에 따라서, 런타임 오류가 발생한 애플리케이션의 덤프 파일 정보 및 버전 정보가 획득될 수 있다. 그 획득된 덤프 파일 정보 및 버전 정보는 상기 런타임 오류와 연관된 오류 신원을 얻기 위해서 미리 설정된 알고리즘에 따라서 계산될 수 있다. 오류 신원을 운반하는 오류 보고가 오류 정보 취득 서버로 송신될 수 있다. 상기 오류 신원에 따라서 상기 오류 정보 취득 서버에 의해서 발행된 복원 애플리케이션이 수신될 수 있다. 상기 복원 애플리케이션은 복원을 수행하기 위해서 활성화될 수 있다. 이 방식에서, 상기 오류 신원과 연관된 복원 애플리케이션은 상기 오류 정보 취득 서버에서 미리 구성된다. 상기 알려지지 않은 애플리케이션 런타임 오류가 실행되고 있는 애플리케이션에서 발생한 것을 모니터링할 때에, 상기 오류 신원과 연관된 상기 복원 애플리케이션은 상기 알려지지 않은 애플리케이션 런타임 오류가 발생한 애플리케이션을 복원하기 위해서 상기 오류 정보 취득 서버로부터 다운로드된다. 그러므로, 사용자 애플리케이션에서 발생한 오류는 즉시 복원될 수 있으며 그리고 그 오류를 복원하기 위한 시간은 줄어들 수 있다.
본 발명의 효과는 본 명세서의 해당되는 부분들에 개별적으로 명시되어 있다.
도 1은 본 발명 개시의 예시의 실시예에 따라, 애플리케이션 런타임 오류들을 복원하기 위한 통상적인 방법을 예시한 흐름도이다.
도 2는 본 발명 개시의 예시의 실시예에 따라, 애플리케이션 런타임 오류들을 복원하기 위한 방법을 예시한 흐름도이다.
도 3은 본 발명 개시의 예시의 실시예에 따라, 애플리케이션 런타임 오류들을 복원하기 위한 방법을 예시한 흐름도이다.
도 4는 본 발명 개시의 예시의 실시예에 따라, 오류 신원을 예시한 도면이다.
도 5는 본 발명 개시의 예시의 제1 실시예에 따라, 애플리케이션 런타임 오류들을 복원하기 위한 방법을 예시한 흐름도이다.
도 6은 본 발명 개시의 예시의 제2 실시예에 따라, 애플리케이션 런타임 오류들을 복원하기 위한 방법을 예시한 흐름도이다.
도 7은 본 발명 개시의 예시의 실시예에 따라, 애플리케이션 런타임 오류들을 복원하기 위한 시스템의 구조를 예시한 도면이다.
도 8a는 본 발명 개시의 예시의 실시예에 따라, 클라이언트의 구조를 예시한 도면이다.
도 8b는 본 발명 개시의 예시의 실시예에 따라, 클라이언트의 구조를 예시한 도면이다.
도 9a는 본 발명 개시의 예시의 실시예에 따라, 오류 정보 취득 서버의 구조를 예시한 도면이다.
도 9b는 본 발명 개시의 예시의 실시예에 따라, 오류 정보 취득 서버의 구조를 예시한 도면이다.
도 9c는 본 발명 개시의 예시의 실시예에 따라, 오류 정보 취득 서버의 구조를 예시한 도면이다.
도 9d는 본 발명 개시의 예시의 실시예에 따라, 오류 정보 취득 서버의 구조를 예시한 도면이다.
도 10a는 본 발명 개시의 예시의 실시예에 따라, 클라이언트의 하드웨어 구조를 예시한 도면이다.
도 10b는 본 발명 개시의 예시의 실시예에 따라, 클라이언트의 하드웨어 구조를 예시한 도면이다.
도 11a는 본 발명 개시의 예시의 실시예에 따라, 오류 정보 취득 서버의 하드웨어 구조를 예시한 도면이다.
도 11b는 본 발명 개시의 예시의 실시예에 따라, 오류 정보 취득 서버의 하드웨어 구조를 예시한 도면이다.
아래에서, 본 발명 개시는 첨부된 도면들 및 예시의 실시예들을 참조하여 더욱 상세하게 설명될 것이다.
도 1은 본 발명 개시의 예시의 실시예에 따라, 애플리케이션 런타임 오류들을 복원하기 위한 통상적인 방법을 예시한 흐름도이다. 도 1에서 보이는 것처럼, 상기 방법은 다음의 동작들을 포함할 수 있다.
블록 101에서, 한 애플리케이션이 실행되며 그리고 알려지지 않은 애플리케이션 런타임 오류가 발생한다
이 경우에, 상기 애플리케이션 런타임 오류는 애플리케이션의 결함들에 의해서 또는 트로이 (Trojan) 플러그-인 프로그램과 같은 외부적인 요소들로 인한 것일 수 있다.
블록 102에서, 상기 애플리케이션의 실행 상태를 표시하는 덤프 파일에 대한 정보가 얻어지며, 그리고 애플리케이션 런타임 오류 보고가 생성되어 사용자에게 디스플레이된다.
이 경우에, 클라이언트에 있는 오류 캡쳐 모듈은 운영 시스템의 예외 처리 메커니즘을 이용하여 상기 알려지지 않은 애플리케이션 런타임 오류를 캡쳐하고, 상기 애플리케이션의 실행 상태를 운영 시스템의 애플리케이션 프로그래밍 인터페이스를 통해서 덤프 파일로 저장하며, 그리고 애플리케이션 버전 정보 및 런 (run) 로그 정보를 결합하여 상기 애플리케이션 런타임 오류 보고를 생성한다.
블록 103에서, 상기 사용자로부터 보고-확인 정보가 수신되며, 그리고 상기 애플리케이션 런타임 오류 보고는 미리 형성된 오류 정보 취득 서버로 송신된다.
이 경우에, 클라이언트 내의 오류 보고 모듈은 상기 애플리케이션 런타임 오류 보고를, 애플리케이션 런타임 오류 정보를 수집하는 오류 정보 취득 서버에게 제출한다. 이 경우에, 그 오류 정보 취득 서버를 복수의 애플리케이션 제공자들이 공유할 수 있을 것이다.
블록 104에서, 상기 애플리케이션 런타임 오류 보고는 상기 오류 정보 취득 서버로부터 획득되어 분석된다. 상기 애플리케이션은 분석 결과에 따라서 변경되며 그리고 새로운 버전의 애플리케이션이 생성되어 릴리즈된다
이 경우에, 관련된 테크니컬 스태프는 상기 애플리케이션 런타임 오류 보고를 통해서 디버그 명령들을 실행시키고, 프로세스 상태를 저장한 상기 덤프 파일을 오픈하고, 상기 알려지지 않은 애플리케이션 런타임 오류가 발생할 때의 프로세스 상태를 분석하고, 그 애플리케이션 런타임 오류의 원인을 찾으며, 그리고 애플리케이션 코드들의 버그들을 고친다. 수정된 애플리케이션 코드들은 그 애플리케이션의 다음의 버전에 병합되어 새로운 버전의 애플리케이션을 생성한다. 마지막으로, 그 새로운 버전의 애플리케이션은 상기 애플리케이션 제공자에 의해서 지정된 애플리케이션 업그레이드 서버를 통해서 릴리즈된다.
상기의 설명들로부터 알 수 있는 것처럼, 알려지지 않은 런타임 오류가 애플리케이션에서 발생할 때에, 애플리케이션 런타임 오류들을 복원하기 위한 통상적인 방법을 통해서 사용자는 그 애플리케이션에 의해서 지정된 서버의 정보를 질의하고 그리고 런타임 오류를 복원하기 위해서 그 애플리케이션의 새로운 버전을 다운로드하기 위해 상기 애플리케이션에 의해서 지정된 상기 서버에 액세스할 필요가 있다. 그처럼, 애플리케이션 런타임 오류를 복원하기 위해서 필요한 시간은 길며 그리고 그 런타임 오류는 시기 적절하게 처리되지 않으며, 그러므로 사용자 경험은 영향을 받는다.
애플리케이션 런타임 오류가 시기 적절하게 복원되지 않는 문제를 해결하기 위해서, 본 발명 개시의 다양한 실시예들에 따라서, 애플리케이션 런타임 오류를 복원하기 위해서 사용되는 복원 애플리케이션이 오류 정보 취득 서버에 미리 구성되며 그리고 애플리케이션 런타임 오류의 해결책을 다운로드하고 활성화하는 것과 같은 기능들이 추가된다. 알려지지 않은 애플리케이션 런타임 오류가 상기 애플리케이션에서 발생할 때에, 애플리케이션 런타임 오류 보고가 상기 오류 정보 취득 서버에게 제출된다. 그 오류 정보 취득 서버는 대응하는 복원 애플리케이션이 로컬에 저장되어 있는가의 여부를 상기 애플리케이션 런타임 오류 보고에 따라서 질의할 수 있다. 대응하는 복원 애플리케이션이 로컬에 저장되어 있다면, 상기 오류 정보 취득 서버는 그 복원 애플리케이션을 자동적으로 발행 (issue)할 수 있을 것이다. 대응하는 복원 애플리케이션이 로컬에 저장되어 있지 않다면, 관련된 테크니컬 스태프는 그 애플리케이션 런타임 오류 보고를 분석하고 그리고 대응하는 해결책을 결정하며, 그 런타임 오류를 복원하기 위해 사용되는 복원 애플리케이션을 개발하고, 그리고 그 복원 애플리케이션을 상기 오류 정보 취득 서버 내에 구성할 수 있으며, 그래서 동일한 런타임 오류 보고가 나중에 수신될 때에 상기 복원 애플리케이션이 시기에 맞게 발행될 수 있도록 한다.
본 발명 개시의 다양한 실시예들에 따라서, 상기 복원 애플리케이션은 실행가능 프로그램이며, 이는 통일된 스타트-업 인터페이스를 가진다. 클라이언트는 상기 오류 정보 취득 서버로부터 상기 실행가능 프로그램을 다운로드할 수 있을 것이다. 다운로드하는 것이 완료될 때에, 클라이언트는 애플리케이션 런타임 오류를 복원하기 위해서 상기 실행가능 프로그램을 실행시킬 수 있다.
도 2는 본 발명 개시의 예시의 실시예에 따라, 애플리케이션 런타임 오류들을 복원하기 위한 방법을 예시한 흐름도이다. 도 2를 참조하면, 상기 방법은 다음의 동작들을 포함할 수 있다.
블록 201에서, 런타임 오류가 발생한 애플리케이션의 덤프 파일 정보 및 애플리케이션 버전 정보가 얻어질 수 있다. 미리 설정된 (preset) 알고리즘에 따라서, 상기 얻어진 덤프 파일 정보 및 애플리케이션 버전 정보는 오류 신원 (identification)을 얻기 위해서 계산될 수 있다. 상기 오류 신원은 애플리케이션 런타임 오류 보고 내에서 운반될 수 있으며 그리고 상기 애플리케이션 런타임 오류 보고는 오류 정보 취득 서버로 송신될 수 있다.
블록 202에서, 상기 오류 신원에 따라서 상기 오류 정보 취득 서버에 의해서 발행된 복원 애플리케이션이 수신될 수 있다. 상기 복원 애플리케이션은 복원하는 것을 수행하기 위해서 활성화될 수 있을 것이다.
아래에서, 본 발명 개시의 다양한 실시예들이 도 2를 기반으로 하여 상세하게 설명된다.
도 3은 본 발명 개시의 예시의 실시예에 따라, 애플리케이션 런타임 오류들을 복원하기 위한 방법을 예시한 흐름도이다. 도 3을 참조하여, 상기 방법은 다음의 동작들을 포함할 수 있다.
블록 301에서, 실행되고 있는 애플리케이션에서 알려지지 않은 애플리케이션 런타임 오류가 발생하는 것을 모니터링할 때에, 그 애플리케이션의 덤프 파일 정보 및 애플리케이션 버전 정보가 얻어질 수 있다.
이 경우에, 상기 애플리케이션이 실행되고 있을 때에, 그 애플리케이션의 실행 상태가 운영 시스템의 애플리케이션 프로그래밍 인터페이스를 통해서 덤프 파일에 저장된다. 상이한 운영 시스템들에서의 덤프 파일들의 포맷들은 동일하다.
블록 302에서, 미리 설정된 알고리즘에 따라서, 상기 획득된 덤프 파일 정보 및 애플리케이션 버전 정보가 계산되어 오류 신원을 얻을 수 있다. 그 오류 신원은 애플리케이션 런타임 오류 보고 내에서 운반될 수 있으며 그리고 상기 애플리케이션 런타임 오류 보고는 오류 정보 취득 서버로 송신될 수 있다
이 경우에, 저장된 상기 덤프 파일 정보 및 애플리케이션 버전 정보 그리고 로그 정보가 획득되어 상기 애플리케이션 런타임 오류 보고를 생성하도록 할 수 있다.
후속으로 개발된 해결책들이 알려지지 않은 애플리케이션 런타임 오류들에 1대1로 대응한다는 것을 확실하게 하기 위해서, 본 발명의 다양한 실시예들에 따라서, 애플리케이션들이 실행되는 동안에 발생하는 알려지지 않은 애플리케이션 런타임 오류들을 구별하기 위해서 오류 신원들이 사용된다.
본 발명 개시의 실시예들에서, 클라이언트가 애플리케이션 런타임 오류 보고를 생성할 때에, 상기 클라이언트는 상기 미리 설정된 알고리즘에 따라서 상기 알려지지 않은 애플리케이션 런타임 오류와 연관된 고유의 오류 신원을, 상기 획득된 덤프 파일 정보 및 애플리케이션 버전 정보를 기초로 하여 생성할 수 있다. 상기 오류 신원이 상기 덤프 파일 정보 및 상기 애플리케이션 버전 정보에 따라서 생성되고 그리고 상이한 운영 시스템들에 저장된 상기 덤프 파일들의 포맷들이 동일하게 때문에, 상기 오류 신원은 운영 시스템의 버전에 종속한다. 예를 들면, win7, winXP 등과 같은 운영 시스템들에서, 동일한 애플리케이션의 동일한 버전에서 동일한 런타임 오류가 발생한다면, 즉, 상기 저장된 덤프 파일 정보가 동일하면, 계산된 오류 신원들은 동일하다. 본 발명 개시의 실시예에 따라, 동일한 애플리케이션의 상이한 버전들은 서로 호환되지 않을 수 있을 것이다. 그처럼, 심지어 동일한 런타임 오류가 발생했다고 하더라도, 상기 계산된 오류 신원들은 상이한 애플리케이션 버전 정보로 인해서 상이할 수 있을 것이며, 그러므로 대응하는 복원 애플리케이션들의 코드들은 상이할 수 있을 것이다. 이것을 기초로 하여, 본 발명 개시의 다양한 실시예들에 따라서, 동일 애플리케이션의 상이한 버전들에서 발생하는 동일한 런타임 오류는 대응하는 버전의 복원 애플리케이션에 의해서 복원될 수 있을 것이다. 실제로, 복원 애플리케이션의 최신의 버전이 그 복원 애플리케이션의 상이한 버전들과 호환될 수 있을 것이기 때문에, 동일 애플리케이션의 상이한 버전들에서 생성된 동일한 런타임 오류는 상기 복원 애플리케이션의 최신의 버전에 의해서 복원될 수 있을 것이다. 즉, 상기 오류 정보 취득 서버는 상기 오류 신원과 연관된 복원 애플리케이션의 버전 번호가 상기 오류 정보 취득 서버에 저장된 복원 애플리케이션의 최신 버전 번호인가의 여부를 질의할 수 있을 것이다. 상기 오류 신원과 연관된 상기 복원 애플리케이션의 버전 번호가 상기 오류 정보 취득 서버에 저장된 복원 애플리케이션의 최신 버전 번호라면, 상기 오류 신원과 연관된 상기 복원 애플리케이션이 발행된다. 그렇지 않다면, 상기 복원 애플리케이션의 최신 버전이 발행된다.
본 발명 개시의 다양한 실시예들에 따라서, 미리 설정된 알고리즘은 메시지 다이제스트 알고리즘의 제5판 암호화 알고리즘 (MD5), Base64 암호화 알고리즘 등을 포함할 수 있다. 실제로, 상기 알고리즘은 상이한 사용자들이 상기 애플리케이션의 동일한 버전을 사용할 때에 동일한 오류 신원이 동일한 알려지지 않은 애플리케이션 런타임 오류에 대해서 생성될 수 있다는 것을 확실하게 한다. 이 방식에서, 상기 오류 정보 취득 서버는 상기 오류 신원들에 따라서 애플리케이션 런타임 오류들을 분류할 수 있으며, 이는 개발 스태프가 동일한 오류 신원을 이용하여 오류들을 분석하고 프로세스하는 것을 용이하게 하기 위한 것이다.
본 발명 개시의 다양한 실시예들에 따라서, 클라이언트가 상기 오류 신원을 생성할 때에, 그 클라이언트는 상기 오류 신원을 사용자에게 디스플레이하고 그리고 상기 오류 보고를 송신할 것인가의 여부를 그 사용자에게 촉구할 수 있다.
도 4는 본 발명 개시의 예시의 실시예에 따라, 오류 신원을 예시한 도면이다. 도 4를 참조하면, 오류 신원은 E3626E94CF4A9D4E38E9BCAFCB045이며, 이것은 알려지지 않은 애플리케이션 런타임 오류가 애플리케이션에서 그리고 미리 설정된 알고리즘 (예를 들면, MD5)에 따라서 발생할 때에 획득된 애플리케이션 버전 정보 및 덤프 파일 정보에 따라서 상기 클라이언트에 의해서 계산된다. 오류 보고 송신 (S) 및 애플리케이션 재시작 (R)을 포함하는 옵션들은 도 4에서 보이는 오류 신원 아래에 구성된다. 사용자는 적절한 옵션을 선택함으로써 상기 오류 보고를 송신하는가의 여부를 결정할 수 있다.
블록 303에서, 상기 오류 정보 취득 서버에 의해서 발행된 복원 애플리케이션이 수신될 수 있다. 상기 복원 애플리케이션은 복원하기 위해서 활성화될 수 있다. 이 경우에, 상기 복원 애플리케이션은 상기 오류 신원에 따라서 상기 오류 정보 취득 서버에 의해서 검색될 수 있다.
이 경우에, 상기 복원 애플리케이션은 상기 오류 신원에 따라서 상기 오류 정보 취득 서버에 의해서 검색될 수 있다. 상기 오류 신원을 운반하고 상기 클라이언트에 의해서 제출된 애플리케이션 런타임 오류 보고를 분석한 후에 상기 복원 애플리케이션이 구성된다. 상기 복원 애플리케이션은 현재 구성된 오류 신원과 연관된 복원 애플리케이션 그리고 현재 구성되지 않은 오류 신원과 연관된 복원 애플리케이션을 포함할 수 있다.
본 발명 개시의 다양한 실시예들에 따라, 오류 신원을 운반하는 상기 애플리케이션 런타임 오류 보고를 수신한 이후에, 오류 정보 취득 서버는 그 오류 신원을 기초로 하여 검색할 수 있다. 상기 오류 정보 취득 서버가 로컬에서 구성된 오류 신원과 연관된 복원 애플리케이션을 찾아낼 때에, 이는 상기 오류 정보 취득 서버가 이전에 제출된 애플리케이션 런타임 오류 보고를 분석했고 그 복원 애플리케이션을 생성했으며 그리고 알려지지 않은 런타임 오류가 복원되었다는 것을 표시하며, 상기 오류 정보 취득 서버는 상기 오류 신원과 연관된 복원 애플리케이션을 상기 클라이언트로 자동적으로 발행할 수 있다. 상기 클라이언트는 상기 알려지지 않은 애플리케이션 런타임 오류가 상기 수신된 복원 애플리케이션에 따라서 발생한 애플리케이션을 복원할 수 있다. 그처럼, 상기 애플리케이션 런타임 오류는 자동적으로 복원되며, 이 복원은 상기 애플리케이션에 의해서 지정된 서버의 정보는 사용자에 의한 선-저장 (pre-storing) 또는 질의 없이 수행된다. 사용자는 상기 애플리케이션에 의해 지정된 서버에 액세스할 필요는 없으며, 그래서 상기 애플리케이션 런타임 오류가 시기 적절하게 복원되도록 하며 그리고 그 애플리케이션 런타임 오류를 복원하기 위해서 필요한 시간이 줄어들도록 하며, 그러므로 사용자 경험이 향상되도록 한다.
실제로, 오류 정보 취득 서버가 상기 오류 신원과 연관된 복원 애플리케이션을 찾지 않는다면, 이는 상기 애플리케이션이 실행되는 동안에 발생한 알려지지 않은 애플리케이션 런타임 오류가 복원되지 않는다는 것을 나타내며, 상기 오류 정보 취득 서버는 상기 수신한 애플리케이션 런타임 오류 보고를 저장하고 그리고 그 보고를 관련된 테크니컬 스태프에게 제공할 수 있을 것이다. 그 관련된 테크니컬 스태프는 프로세스 상태를 저장하는 상기 덤프 파일을 디버그 명령 실행을 통해서 오픈하고, 알려지지 않은 애플리케이션 런타임 오류가 발생할 때의 그 프로세스 상태를 분석하며, 그리고 그 애플리케이션 런타임 오류의 원인을 발견할 수 있을 것이다. 관련된 테크니컬 스태프는 애프리케이션 코드들 내의 버그들을 복원하여 상기 오류 신원과 연관된 복원 애플리케이션을 형성하도록 하며 그리고 상기 오류 신원에 따라서 상기 오류 정보 취득 서버에서 상기 복원 애플리케이션을 구성하도록 한다.
본 발명 개시의 다양한 실시예들에 따라서, 상기 오류 신원과 연관된 복원 애플리케이션이 발견되지 않을 때에, 상기 오류 정보 취득 서버는 상기 애플리케이션 런타임 오류 보고를 제출한 사용자를 마크할 수 있을 것이다. 상기 오류 신원과 연관된 복원 애플리케이션이 구성된 것을 모니터링할 때에, 상기 오류 정보 취득 서버는 복원 애플리케이션을 상기 마크된 사용자에게 발행할 수 있다.
실제로, 애플리케이션의 최신의 버전이 그 애플리케이션의 다른 버전들과 호환되기 때문에, 관련된 테크니컬 스태프는 오류 정보 취득 서버에 저장된 상기 애플리케이션의 최신 버전을 기초로 하여 상기 복원 애플리케이션을 개발할 수 있을 것이다. 그처럼, 오류 정보 취득 서버가 로컬에 저장된 오류 신원과 연관된 복원 애플리케이션을 찾아낼 때에, 오류 정보 취득 서버는 그 오류 신원과 연관된 복원 애플리케이션의 버전 번호가 오류 정보 취득 서버에 저장된 복원 애플리케이션의 최신 버전 번호인가의 여부를 판별할 수 있다. 상기 오류 신원과 연관된 복원 애플리케이션의 버전 번호가 상기 오류 정보 취득 서버에 저장된 복원 애플리케이션의 최신 버전 번호이라면, 상기 오류 정보 취득 서버는 상기 오류 신원과 연관된 복원 애플리케이션을 발행할 것이다. 그렇지 않다면, 상기 오류 정보 취득 서버는 상기 복원 애플리케이션의 최신 버전을 발행할 것이다. 이 경우에, 상기 버전 번호는 오류 정보 취득 서버에서 상기 복원 애플리케이션이 구성된 시점에 의해서 표현될 수 있을 것이다. 이 방식에서, 상기 클라이언트는 상기 복원 애플리케이션의 최신 버전에 따라서 상기 알려지지 않은 애플리케이션 런타임 오류를 제외한 상기 애플리케이션 내의 다른 오류들을 복원할 수 있다.
본 발명의 다양한 실시예들에 따라서, 상기 오류 신원을 운반하는 애플리케이션 런타임 오류 보고를 수신하는 동작 이후에, 상기 방법은 다음의 동작들을 더 포함할 수 있을 것이다. 덤프 파일 정보를 획득하기 위해서 애플리케이션 런타임 오류 보고가 분석된다. 그 획득된 덤프 파일 정보가 미리 설정된 플러그인 필드를 포함한다면, 상기 알려지지 않은 애플리케이션 런타임 오류가 외부의 요인들에 의한 것이라는 것을 나타내는 메시지가 상기 복원 애플리케이션이 상기 클라이언트로 발행될 때에 운반된다.
이 경우에, 상기 관련된 테크니컬 스태프는 상기 애플리케이션 런타인 오류가 트로이 플러그인과 같은 외부 요소들에 의한 것인가 또는 상기 애플리케이션의 결함들에 의한 것인가의 여부를 상기 제출된 애플리케이션 런타임 오류 보고 내의 덤프 파일을 분석하는 것을 통해서 판별할 수 있을 것이다. 상기 런타인 오류가 트로이 플러그에 의한 것이라고 판별할 때에, 상기 애플리케이션 런타임 오류를 초래한 플러그인 필드가 상기 덤프 파일로부터 추출되어 오류 정보 취득 서버 내에 저장된다. 이 방식에서, 클라이언트에 의해서 제출된 덤프 파일 정보가 하나 또는 그 이상의 플러그인 필드들을 포함한다면, 상기 애플리케이션 런-타임 오류가 트로이 플러그인과 같은 외부 요소들에 의한 것이라고 판별될 수 있을 것이다. 그처럼, 사용자의 오해들 그리고 애플리케이션의 사용자 손실을 피하기 위해서 사용자는 즉시로 경고를 받을 수 있을 것이다.
아래에서, 본 발명 개시의 두 개의 예시의 실시예들이 더욱 상세하게 설명된다.
도 5는 본 발명 개시의 예시의 제1의 예시의 실시예에 따라, 애플리케이션 런타임 오류들을 복원하기 위한 방법을 예시한 흐름도이다. 도 5를 참조하면, 상기 방법은 다음의 동작들을 포함할 수 있다.
블록 501에서, 클라이언트가 애플리케이션을 실행시키고 그리고 알려지지 않은 애플리케이션 런타임 오류가 발생한다
이 경우에, 상기 애플리케이션을 실행하는 동안에 발생한 알려지지 않은 런타임 오류는 상기 애플리케이션의 결함들에 의한 것이거나 또는 트로이 플러그인과 같은 외부 요소들에 의한 것일 수 있다.
블록 502에서, 런타임 오류가 발생한 애플리케이션의 덤프 파일 정보, 애플리케이션 버전 정보, 및 로그 정보가 얻어지며 그리고 애플리케이션 런타임 오류 보고가 생성된다.
블록 503에서, 미리 설정된 알고리즘에 따라서 상기 덤프 파일 정보 및 애플리케이션 버전 정보가 얻어지며 그리고 오류 신원이 생성될 수 있다
이 경우에, 오류 캡쳐 모듈이 런타임 오류와 연관된 고유 오류 신원을 생성하기 위해서 상기 미리 설정된 알고리즘에 따라서 상기 획득된 덤프 파일 정보 및 애플리케이션 버전 정보를 계산할 수 있을 것이다.
블록 504에서, 상기 애플리케이션 런타임 오류 보고 및 오류 신원이 사용자에게 디스플레이된다.
이 경우에, 상기 애플리케이션 런타임 오류 보고 및 오류 신원을 사용자에게 디스플레이하는 것은 애플리케이션 런타임 오류 보고 및 오류 신원을 제출하도록 상기 사용자에게 촉구한다.
블록 505에서, 보고-확인 정보가 상기 사용자로부터 수신되며, 상기 애플리케이션 런타임 오류 보고 및 오류 신원이 오류 정보 취득 서버로 송신될 수 있을 것이다.
이 경우에, 상기 클라이언트는 오류 정보 취득 서버의 주소 정보를 미리 저장할 수 있다. 상기 클라이언트 내의 보고 모듈은 상기 애플리케이션 런타임 오류 보고 및 오류 신원을 오류 정보 취득 서버의 상기 주소 정보에 따라서 상기 오류 정보 취득 서버로 송신할 수 있다.
블록 506에서, 상기 오류 정보 취득 서버는 상기 수신한 오류 신원을 기초로 하여, 상기 오류 신원과 연관된 복원 애플리케이션이 로컬에 저장되었는가의 여부를 질의할 수 있다. 상기 오류 신원과 연관된 상기 복원 애플리케이션이 상기 오류 정보 취득 서버에 저장되었다면, 그 오류 정보 취득 서버는 다운로드-통지 메시지를 상기 클라이언트에게 송신하여 상기 복구 애플리케이션을 다운로드하도록 할 수 있다
이 경우에, 애플리케이션 런타임 오류 보고 및 오류 신원을 수신한 이후에, 오류 정보 취득 서버는 상기 오류 신원과 연관된 해결책, 즉, 그 오류 신원과 연관된 복원 애플리케이션이 오류 정보 취득 서버 상에서 구성되는가의 여부를 질의할 수 있을 것이다. 오류 신원과 연관된 복원 애플리케이션이 오류 정보 취득 서버 상에서 구성된다면, 오류 정보 취득 서버는 클라이언트에게 상기 복원 애플리케이션을 다운로드하라고 통지할 수 있다.
실제로, 오류 신원과 연관된 복원 애플리케이션이 로컬에 저장된다고 상기 오류 정보 취득 서버가 판별할 때에, 그 오류 정보 취득 서버는 그 다운로드-통지 메시지를 클라이언트로 송신하는 것 대신에 오류 신원과 연관된 복원 애플리케이션을 클라이언트로 직접 송신할 수 있을 것이다.
도 6은 상기 오류 신원에 연관된 복원 애플리케이션이 상기 오류 정보 취득 서버 내에 저장되지 않은 상황에 관련된 프로세스를 예시하며, 이는 나중에 설명된다.
블록 507에서, 상기 오류 정보 취득 서버는 다운로드-확인 메시지를 수신하고 그리고 찾아낸 복원 애플리케이션을 상기 클라이언트에게 송신한다
이 경우에, 상기 클라이언트는 다운로드-확인 메시지를 수신하고 그리고 그 메시지를 사용자에게 디스플레이하여 복원 애플리케이션을 다운로드할 것인가의 여부를 그 사용자에게 촉구한다. 그 사용자가 복원 애플리케이션을 다운로드할 것에 동의하면, 상기 다운로드-확인 메시지는 오류 정보 취득 서버로 송신될 것이며 그리고 상기 복원 애플리케이션은 오류 정보 취득 서버로부터 다운로드될 수 있을 것이다.
블록 508에서, 상기 클라이언트는 상기 복원 애플리케이션을 활성화하고 실행시킨다.
이 경우에, 복원 애플리케이션을 다운로드한 이후에, 상기 클라이언트는 상기 애플리케이션을 실행하는 동안에 발생한 런타임 오류를 복원하기 위해서 상기 복원 애플리케이션을 활성화하고 실행시킬 수 있다.
도 6은 본 발명 개시의 예시의 제2 실시예에 따라, 애플리케이션 런타임 오류들을 복원하기 위한 방법을 예시한 흐름도이다. 도 6을 참조하면, 상기 방법은 다음의 동작들을 포함할 수 있다.
블록 601에서, 상기 오류 정보 취득 서버는 상기 오류 신원과 연관된 상기 복원 애플리케이션이 상기 오류 정보 취득 서버 상에 설정되지 않았다고 판별한다. 상기 오류 정보 취득 서버는 상기 수신한 애플리케이션 런타임 오류 보고 및 상기 오류 신원을 저장하며, 그리고 상기 보고한 사용자의 정보를 저장한다.
블록 602에서, 상기 애플리케이션 런타임 오류 보고 및 오류 신원이 상기 오류 정보 취득 서버로부터 획득된다.
이 경우에, 관련된 테크니컬 스태프는 오류 정보 취득 서버로부터 애플리케이션 런타임 오류 보고 및 오류 신원을 주기적으로 획득할 수 있을 것이며, 이는 적절한 애플리케이션 런타임 오류를 복원하기 위한 것이다.
블록 603에서, 상기 오류의 원인을 찾기 위해서 상기 애플리케이션 런타임 오류 보고가 분석될 수 있다.
블록 604에서, 상기 원인에 따라서 해결책 (solution)이 결정되고 그리고 복원 애플리케이션이 개발될 수 있다.
이 경우에, 애플리케이션 제공자의 관련된 테크니컬 스태프는 사용자에 의해서 리턴된 애플리케이션 런타임 오류 보고를 분석하여 애플리케이션 런타임 오류의 원인을 찾고, 애플리케이션 코드들 내의 버그들을 복원하며 그리고 복원 애플리케이션을 개발할 수 있을 것이다.
블록 605에서, 상기 오류 신원 및 상기 복원 애플리케이션 사이의 매핑 관계가 상기 오류 정보 취득 서버에서 설립되어 구성될 수 있다.
이 경우에, 관련된 테크니컬 스태프는 애플리케이션 런타임 오류 보고를 기초로 하여 복원 애플리케이션을 개발할 수 있을 것이다. 상기 복원 애플리케이션은 고유의 스타트-업 인터페이스를 가질 수 있을 것이며 그리고 복원 애플리케이션의 기능들은 상이한 런타임 오류들과는 다를 수 있을 것이다. 마지막으로, 동일한 오류 신원들을 공유하는 런타임 오류들 상에서의 설정들은 상기 오류 정보 취득 서버 상에서 수행될 수 있을 것이며 그리고 그 복원 애플리케이션이 업로드될 수 있을 것이다.
블록 606에서, 상기 복원 애플리케이션은 상기 사용자의 상기 저장된 정보에 따라서 상기 사용자에게 송신된다
이 경우에, 오류 정보 취득 서버는 상기 업로드된 복원 애플리케이션의 오류 신원 그리고 사용자의 상기 저장된 정보 및 상기 오류 신원 사이의 대응 관계를 기초로 하여 상기 오류 신원과 연관된 사용자의 정보를 찾아내고, 그리고 상기 복원 애플리케이션을 사용자에게 송신할 수 있다. 이 방식에서, 상기 클라이언트는 상기 런타임 오류를 복원할 수 있다. 또한, 다른 클라이언트들에서 실행되는 동일한 애플리케이션에서 동일한 런타임 오류가 발생할 때에, 대응하는 해결책이 다운로드될 수 있을 것이며 그리고 상기 복원 애플리케이션은 상기 애플리케이션 런타임 오류를 즉각 복원하기 위해서 활성화될 수 있을 것이다.
본 발명 개시의 다양한 실시예들로부터 설명된 애플리케이션 런타임 오류들을 복원하기 위한 방법에 따른 상기 설명들로부터 볼 수 있는 것처럼, 런타임 오류의 오류 신원과 연관된 복원 애플리케이션은 상기 오류 정보 취득 서버에서 미리 구성된다. 동작하고 있는 애플리케이션에서 런타임 오류가 발생하는 것을 모니터링할 때에, 상기 애플리케이션의 덤프 파일 정보 및 애플리케이션 버전 정보가 획득되며 그리고 미리 설정된 알고리즘에 따라서 상기 오류 신원이 생성된다. 오류 보고는 상기 획득된 덤프 파일 정보, 애플리케이션 버전 정보 및 로그 정보를 기초로 하여 생성되며 그리고 상기 오류 정보 취득 서버로 송신된다. 상기 오류 신원과 연관된 복원 애플리케이션이 상기 오류 정보 취득 서버로부터 다운로드되며, 이는 런타임 오류가 발생하는 애플리케이션을, 상기 애플리케이션에 의해서 지정된 서버의 정보를 상기 사용자에 의한 미리 저장하거나 질의하지 않으면서 복원하기 위한 것이다. 상기 사용자는 상기 애플리케이션에 의해서 지정된 서버에 액세스할 필요가 없으며, 그래서 애플리케이션 런타임 오류가 즉시 복원되도록 하며 그리고 상기 애플리케이션 런타임 오류를 복원하기 위해서 필요한 시간이 줄어들도록 하며, 그러므로 사용자 경험들이 향상되도록 하며 그리고 상기 애플리케이션의 안정성이 개선되도록 한다. 추가로, 상기 획득된 덤프 파일 정보가 미리 설정된 플러그인 필드를 포함하는가의 여부가 상기 애플리케이션 런타임 오류 보고를 분석하는 것을 통해서 판별된다. 그처럼, 트로이 플러그인과 같은 외부의 요소들에 의해서 초래된 애플리케이션 런타임 오류에 대해, 사용자의 오해들 및 상기 애플리케이션의 사용자 손실을 피하기 위해서 상기 사용자는 즉시 경고를 받을 수 있을 것이다.
도 7은 본 발명 개시의 예시의 실시예에 따라, 런타임 오류들을 복원하기 위한 시스템의 구조를 예시한 도면이다. 도 7을 참조하면, 상기 시스템은 클라이언트 그리고 오류 정보 취득 서버를 포함할 수 있다.
상기 클라이언트는 오류 보고를 상기 오류 정보 취득 서버로 송신할 수 있을 것이며, 상기 오류 정보 취득 서버에서 계산된 오류 신원이 상기 클라이언트에 의해서 상기 오류 보고에서 운반된다. 상기 클라이언트는 수신된 복원 애플리케이션을 활성화하여 복원을 수행하도록 할 수 있다.
본 발명 개시의 다양한 실시예들에 따라서, 상기 클라이언트는 개인용 컴퓨터들, 개인용 디지털 보조기들, 셀 폰들 등일 수 있다.
특히, 알려지지 않은 애플리케이션 런타임 오류가 실행 애플리케이션에서 발생한 것을 클라이언트가 모니터할 때에, 상기 클라이언트는 상기 애플리케이션의 덤프 파일 정보, 애플리케이션 버전 정보, 및 로그 정보를 획득하고 애플리케이션 런타임 오류 보고를 생성할 수 있다. 클라이언트는 상기 오류 신원을 얻기 위해서 상기 획득된 덤프 파일 정보 및 애플리케이션 버전 정보를 미리 설정된 알고리즘에 따라 계산할 수 있다. 상기 오류 신원은 상기 클라이언트에 의해 상기 오류 보고 내에서 운반될 수 있으며 그리고 오류 정보 취득 서버로 송신될 수 있다. 상기 클라이언트는 오류 정보 취득 서버에 의해서 발행된 복원 애플리케이션을 수신하고 그리고 복원을 수행하기 위해서 상기 수신된 복원 애플리케이션을 활성화할 수 있을 것이다.
오류 정보 취득 서버는 오류 신원을 운반하는 애플리케이션 런타임 오류 보고를 수신하고, 그리고 찾아진 상기 오류 신원과 연관된 복원 애플리케이션을 상기 클라이언트로 발생할 수 있다.
본 발명 개시의 다양한 실시예들에 따라서, 오류 정보 취득 서버는 상기 복원 애플리케이션이 오류 정보 취득 서버에 저장되었는가의 여부를 상기 오류 신원을 기초로 하여 질의할 수 있을 것이며, 그 오류 정보 취득 서버에서 오류 신원을 운반하는 애플리케이션 런타임 오류 보고를 분석한 이후에 상기 복원 애플리케이션이 구성된다. 특히, 상기 오류 정보 취득 서버는 오류 신원을 운반하는 상기 오류 신원을 수신하고 그리고 상기 오류 신원과 연관된 복원 애플리케이션이 오류 정보 취득 서버에 저장되는가의 여부를 질의한다. 오류 신원과 연관된 상기 복원 애플리케이션이 오류 정보 취득 서버에 저장될 때에, 상기 오류 정보 취득 서버는 그 복원 애플리케이션을 클라이언트로 발행할 수 있을 것이다. 상기 오류 신원과 연관된 복원 애플리케이션이 오류 정보 취득 서버에 저장되지 않을 때에, 상기 오류 정보 취득 서버는 상기 수신한 애플리케이션 런타임 오류 보고 및 오류 신원을 저장하고 출력하며, 그리고 그 오류 신원을 보고한 사용자의 정보를 저장한다. 오류 정보 취득 서버는 구성된 복원 애플리케이션을 수신하고, 오류 신원과 복원 애플리케이션 사이의 매핑 관계를 설립하며, 그리고 그 복원 애플리케이션을 상기 오류 신원을 보고한 사용자의 저장된 정보에 대응하는 클라이언트로 발생한다.
본 발명 개시의 다양한 실시예들에 따라서, 오류 정보 취득 서버는 덤프 파일 정보를 획득하기 위해서 상기 애플리케이션 런타임 오류 보고를 분석할 수 있다. 상기 획득된 덤프 파일 정보가 미리 설정된 플러그인 필드를 포함한다면, 오류 정보 취득 서버는 상기 복원 애플리케이션이 클라이언트로 발행될 때에 상기 알려지지 않은 애플리케이션 런타임 오류가 외부 요소들에 의한 것이라는 것을 표시하는 메시지를 운반할 수 있다.
이 경우에, 상기 클라이언트는 본 발명의 다양한 실시예들에서 설명된 복원 애플리케이션 런타임 오류들을 위한 디바이스들 중 하나이다. 상기 클라이언트는 (도 8a에서 보이는 것과 같은) 오류 보고 모듈 (810) 그리고 복원 모듈 (802)을 포함할 수 있다.
상기 오류 보고 모듈 (801)은 런타임 오류가 발생한 애플리케이션의 애플리케이션 버전 정보 및 덤프 파일 정보를 획득하고, 오류 신원을 얻기 위해서 상기 미리 설정된 알고리즘에 따라서 상기 획득된 덤프 파일 정보 및 애플리케이션 버전 정보를 계산한다. 상기 오류 신원은 오류 보고 모듈 (801)에 의해서 애플리케이션 런타임 오류 보고 내에서 운반될 수 있으며 그리고 상기 오류 보고 모듈 (801)은 애플리케이션 런타임 오류 보고는 오류 정보 취득 서버로 송신될 수 있을 것이다.
복원 모듈 (802)은 오류 신원에 따라 오류 정보 취득 서버에 의해 발행된 복원 애플리케이션을 수신하고, 그리고 복원을 수행하기 위해서 상기 복원 애플리케이션을 활성화시킬 수 있다.
도 8b에서 보이는 것처럼, 상기 클라이언트는 디스플레이 모듈 (803)을 포함할 수 있다. 오류 보고 모듈 (801)이 오류 신원을 생성한 이후에, 디스플레이 모듈 (803)은 오류 신원 그리고 애플리케이션 런타임 오류 보고를 송신하는가의 여부를 표시하는 메시지를 디스플레이한다. 상기 디스플레이 모듈 (803)은 송신-확인 정보를 수신하며 그리고 오류 보고 모듈 (801)를 트리거하여 애플리케이션 런타임 오류 보고를 오류 정보 취득 서버로 송신하도록 한다.
오류 정보 취득 서버는 본 발명 개시의 다양한 실시예들에서 설명된 애플리케이션 런타임 오류들을 복원하기 위한 디바이스들 중 하나이다. 오류 정보 취득 서버는 (도 9a에서 보이는 것과 같은) 수신 모듈 (901), 복원 애플리케이션 질의 모듈 (902), 그리고 송신 모듈 (903)을 포함할 수 있다.
수신 모듈 (901)은 상기 클라이언트로부터 송신된 오류 신원을 운반하는 애플리케이션 런타임 오류 보고를 수신하고, 그리고 그 애플리케이션 런타임 오류 보고를 복원 애플리케이션 질의 모듈 (902)에게 송신한다.
복원 애플리케이션 질의 모듈 (902)은 오류 신원에 연관된 복원 애플리케이션이 로컬에 저장되는가의 여부를 질의할 수 있다. 오류 신원에 연관된 복원 애플리케이션이 로컬에 저장될 때에, 복원 애플리케이션 질의 모듈 (902)은 송신 모듈 (903)에게 복원 애플리케이션을 송신할 수 있다.
본 발명 개시의 다양한 실시예들에 따라, 오류 신원에 연관된 복원 애플리케이션이 로컬에 저장되지 않을 때에, 복원 애플리케이션 질의 모듈 (902)은 오류 신원을 운반하는 애플리케이션 런타임 오류 보고를 오류 보고 저장 모듈 (904)에게 송신할 수 있다. 복원 애플리케이션 질의 모듈 (902)은 상기 구성된 복원 애플리케이션을 수신하고, 오류 신원 및 구성된 복원 애플리케이션 사이의 매핑 관계를 설립하고, 그리고 상기 구성된 복원 애플리케이션을 송신 모듈 (903)에게 송신한다.
송신 모듈 (903)은 수신한 정보를 상기 클라이언트에게 송신할 수 있다.
본 발명 개시의 다양한 실시예들에 따라서, 복원 애플리케이션 질의 모듈 (902)은 오류 신원과 연관된 복원 애플리케이션의 버전 번호가 오류 정보 취득 서버 내에 저장된 복원 애플리케이션의 최신 버전 번호인가의 여부를 질의할 수 있을 것이다. 상기 오류 신원과 연관된 복원 애플리케이션의 버전 번호가 오류 정보 취득 서버 내에 저장된 복원 애플리케이션의 최신 버전 번호이라면, 복원 애플리케이션 질의 모듈 (902)은 오류 신원과 연관된 상기 복원 애플리케이션을 송신 모듈 (903)로 송신할 수 있다. 그렇지 않다면, 복원 애플리케이션 질의 모듈 (902)은 복원 애플리케이션의 최신 버전을 송신 모듈 (903)로 송신할 수 있다.
도 9에서 보이는 것처럼, 오류 정보 취득 서버는 오류 보고 저장 모듈 (904)을 더 포함할 수 있으며, 이 오류 보고 저장 모듈은 수신한 애플리케이션 런타임 오류 보고 및 오류 신원을 저장할 수 있다.
본 발명의 다양한 실시예들에 따라서, 상기 오류 보고 저장 모듈 (904)은 오류 신원을 보고한 사용자의 정보를 저장할 수 있을 것이다.
도 9c에서 보이는 것처럼, 상기 오류 정보 취득 서버는 분석 모듈 (905)을 더 포함할 수 있다. 분석 모듈 (905)은 덤프 파일 정보를 획득하기 위해서 애플리케이션 런타임 오류 보고를 분석할 수 있다. 획득한 덤프 파일 정보가 미리 설정된 플러그인 필드를 포함한다면, 분석 모듈 (905)은 상기 알려지지 않은 애플리케이션 런타임 오류가 외부 요인들에 의한 것이라는 것을 표시하는 메시지를 송신 모듈 (903)에게로 송신할 수 있다.
도 9d에서 보이는 것처럼, 오류 정보 취득 서버는 저장 매체 모듈 (906)을 더 포함할 수 있으며, 이것은 오류 신원과 복원 애플리케이션 사이의 매핑 관계를 저장할 수 있다.
본 발명 개시의 다양한 실시예들에 따라서, 저장 매체 모듈 (906)은 랜덤 액세스 메모리, 하드 디스크, 플래시 메모리 등일 수 있다.
본 발명 개시의 예시의 실시예들에서 상기 언급된 모듈들은 중앙집중식 또는 분산된 구성 중 어느 하나로 배치될 수 있을 것이며; 그리고 단일의 모듈 내로 합체될 수 있을 것이며, 또는 복수의 서브 모듈들로 나누어질 수 있을 것이다.
도 10a는 본 발명 개시의 예시의 실시예에 따라, 클라이언트의 하드웨어 구조를 예시한 도면이다. 도 10a에 보이는 것처럼, 클라이언트는 프로세서 (1001), 저장부 (1002), 적어더 하나의 인터페이스 (1003), 그리고 버스 (1004)를 포함할 수 있다.
본 발명 개시의 다양한 실시예들에 따라서, 저장부 (1002)는 컴퓨터 판독가능 명령어들을 저장할 수 있다. 프로세서 (1001)는 런타임 오류가 발생한 애플리케이션의 덤프 파일 정보 및 애플리케이션 버전 정보를 획득하고, 상기 획득한 덤프 파일 정보 및 애플리케이션 버전 정보를 오류 신원을 얻기 위해서 미리 설정된 알고리즘에 따라서 계산하고, 그리고 오류 신원이 오류 보고 내에서 운반되는 오류 정보 취득 서버에게로 애플리케이션 런타임 오류 보고를 송신하기 위해서 상기 컴퓨터 판독가능 명령어들을 실행시킬 수 있다. 프로세서 (1001)는 오류 신원에 따라서 오류 정보 취득 서버에 의해서 발행된 복원 애플리케이션을 수신하고, 그리고 복원을 수행하기 위해서 복원 애플리케이션을 활성화하기 위해서 상기 컴퓨터 판독가능 명령어들을 실행할 수 있다.
본 발명 개시의 다양한 실시예들에 따라서, 프로세서 (1001)는 오류 신원이 생성될 때에 그 오류 신원을 디스플레이하고 그리고 애플리케이션 런타임 오류 보고를 송신하는가의 여부를 표시하는 메시지를 디스플레이하며, 송신-확인 정보를 수신하고 애플리케이션 런타임 오류 보고를 오류 정보 취득 서버로 송신하기 위해서, 저장부 (1002)에 저장된 상기 컴퓨터 판독가능 명령어들을 실행할 수 있을 것이다.
상기의 설명으로부터 알 수 있는 것처럼, 저장부 (1002)에 저장된 컴퓨터 판독가능 명령어들이 프로세서 (1001)에 의해서 실행될 때에, 전술한 상기 오류 보고 모듈 (801), 복원 모듈 (802), 그리고 디스플레이 모듈 (803)이 구현된다. 그러므로, 클라이언트의 하드웨어 구조의 예가 도 10b에서 보인다.
도 11a는 오류 정보 취득 서버의 하드웨어 구조를 예시한 도면이다. 도 11a에서 보이는 것처럼, 오류 정보 취득 서버는 프로세서 (1101), 제1 저장부 (1102), 적어도 하나의 인터페이스 (1103), 그리고 버스 (1104)를 포함할 수 있다.
본 발명 개시의 다양한 실시예들에 따라서, 제1 저장부 (1102)는 컴퓨터 판독가능 명령어들을 저장할 수 있을 것이며 그리고 프로세서 (1101)는 클라이언트로부터 송신된 오류 신원을 운반하는 애플리케이션 런타임 오류 보고를 수신하고, 오류 신원과 연관된 복원 애플리케이션이 로컬에 저장되는가의 여부를 질의하고; 오류 신원에 연관된 복원 애플리케이션이 로컬에 저장될 때에, 복원 애플리케이션을 클라이언트로 송신하기 위해서 상기 컴퓨터 판독가능 명령어들을 실행시킬 수 있다.
본 발명 개시의 다양한 실시예들에 따라서, 상기 프로세서 (1101)는 오류 신원과 연관된 복원 애플리케이션이 로컬에서 저장되지 않을 때에 구성된 복원 애플리케이션을 수신하고, 오류 신원과 상기 구성된 복원 애플리케이션 사이의 매핑 관계를 설립하고, 그리고 그 구성된 복원 애플리케이션을 클라이언트로 송신하기 위해서, 제1 저장부 (1102)에 저장된 컴퓨터 판독가능 명령어들을 실행할 수 있을 것이다.
본 발명 개시의 다양한 실시예들에 따라서, 프로세서 (110)는 오류 신원과 연관된 복원 애플리케이션의 버전 번호가 오류 정보 취득 서버 내에 저장된 복원 애플리케이션의 최신 버전 번호인가의 여부를 질의하고; 그리고 오류 신원과 연관된 복원 애플리케이션의 버전 번호가 오류 정보 취득 서버 내에 저장된 복원 애플리케이션의 최신 버전 번호일 때에, 오류 신원과 연관된 상기 복원 애플리케이션을 클라이언트로 송신하고; 그렇지 않다면 복원 애플리케이션의 최신 버전을 클라이언트로 송신하기 위해서, 제1 저장부 (1102)에 저장된 상기 컴퓨터 판독가능 명령어들을 실행시킬 수 있을 것이다.
본 발명 개시의 다양한 실시예들에 따라서, 오류 정보 취득 서버는 제2 저장부 (1105)를 포함할 수 있으며, 이것은 수신한 애플리케이션 런타임 오류 보고 및 오류 신원을 저장할 수 있다.
본 발명 개시의 다양한 실시예들에 따라서, 제2 저장부 (1105)는 오류 신원을 보고한 사용자의 정보를 저장할 수 있다.
본 발명 개시의 다양한 실시예들에 따라서, 프로세서 (1101)는 덤프 파일 정보를 획득하기 위해서 애플리케이션 런타임 오류 보고를 분석하고; 그리고 상기 획득한 덤프 파일 정보가 미리 설정된 플러그인 필드를 포함할 때에, 상기 알려지지 않은 애플리케이션 런타임 오류가 외부 요소들에 의한 것이라는 것을 표시하는 메시지를 클라이언트로 송신하기 위해서, 제1 저장부 (1102)에 저장된 컴퓨터 판독가능 명령어들을 실행시킬 수 있다.
본 발명 개시의 다양한 실시예들에 따라서, 오류 정보 취득 서버는 제3 저장부 (1106)를 포함할 수 있으며, 이것은 오류 신원과 복원 애플리케이션 사이의 매핑 관계를 저장할 수 있다.
본 발명 개시의 다양한 실시예들에 따라서, 제3 저장부 (1106)는 랜덤 액세스 메모리, 하드 디스크, 플래시 메모리 등일 수 있다.
상기의 설명에서 볼 수 있는 것처럼, 제1 저장부 (1102) 내에 저장된 컴퓨터 판독가능 명령어들이 프로세서 (1101)에 의해서 실행될 때에, 전술한 수신 모듈 (901), 복원 애플리케이션 질의 모듈 (902), 송신 모듈 (903), 그리고 분석 모듈 (905)의 기능들이 구현된다. 추가로, 제2 저장부 (1105) 및 제3 저장부 (1106)는 전술한 오류 보고 저장 모듈 (904) 및 저장 매체 모듈 (906)의 기능들을 각각 구현할 수 있을 것이다. 그러므로, 오류 정보 취득 서버의 하드웨어 구조의 예가 도 11b에 보인다.
본 발명 개시의 예시의 실시예들에서의 상기 언급된 모듈들은 소프트웨어 (예를 들면, 비-일시적 컴퓨터 판독가능 매체에 저장되며 그리고 프로세서에 의해서 실행 가능한 기계 판독가능 명령어들), 하드웨어 (예를 들면, ASIC (Application Specific Integrated Circuit)의 프로세서), 또는 그것들의 결합일 수 있다. 예를 들면, 하드웨어 모듈은 특정 동작들을 수행하기 위해서 (예를 들면, FPGA (field programmable gate array) 또는 ASIC과 같은 특수 목적의 프로세서로서) 영구적으로 구성된 전용의 회로 또는 로직을 포함할 수 있다. 하드웨어 모듈은 특정 동작들을 수행하기 위해서 소프트웨어에 의해서 (예를 들면, 범용 프로세서 또는 다른 프로그램 가능 프로세서 내에서 포함되어) 일시적으로 구성된 프로그램 가능한 로직이나 회로를 또한 포함할 수 있다. 전용의 그리고 영구적으로 구성된 회로에서 하드웨어 모듈을 기계적으로 구현하거나 또는 (예를 들면, 소프트웨어에 의해서 구성되어) 일시적으로 구성된 회로에서 구현하는가를 선택하는 것은 비용 및 시간을 고려한 것에 의해서 유도될 수 있을 것이라는 것이 인정될 것이다.
본 발명 개시의 다양한 실시예들에 따른 상기의 기술적인 개요로부터 알 수 있는 것처럼, 상기 애플리케이션 런타임 오류는 상기 애플리케이션에 의해서 지정된 서버의 정보를 사용자에 의해서 미리 저장하거나 질의하는 것 없이도 자동적으로 복원된다. 사용자는 상기 애플리케이션에 의해서 지정된 서버에 액세스할 필요가 없으며, 그래서 상기 애플리케이션 런타임 오류가 시기 적절하게 복원되도록 하며 그리고 애플리케이션 런타임 오류를 복원하기 위해서 필요한 시간이 줄어들게 하며, 그러므로 사용자 경험이 향상되도록 한다.
본 발명이 속한 기술 분야에서의 통상의 지식을 가진 자들은 상기 실시예들의 방법들의 절차들 모두나 일부가 컴퓨터 판독가능 명령어들에 이어지는 하드웨어 모듈들에 의해서 구현될 수 있을 것이다. 상기 컴퓨터 판독가능 명령어들은 컴퓨터-판독가능 저장 매체 내에 저장될 수 있으며 그리고 본 발명 개시의 실시예들에서 열거된 상기 방법들을 구현하는 컴퓨터 장치 (이것은 모바일 전화기, 개인용 컴퓨터, 서버 또는 네트워크 장치일 수 있다)를 만들기 위한 복수의 명령어들을 포함할 수 있을 것이다. 상기 저장 매체는 디스켓, CD, ROM (Read-Only Memory) 또는 RAM (Random Access Memory) 등일 수 있다.
상기의 것들은 본 발명 개시의 여러 실시예들이며, 그리고 본 발명 개시의 보호 범위를 제한하기 위해 사용되지 않는다. 본 발명 개시의 원칙 아래에서 만들어진 어떤 수정들, 등가물들, 개선점들 등은 본 발명 개시의 보호 범위에 포함되어야만 한다.

Claims (18)

  1. 런타임 (run-time) 오류들을 복원하는 방법으로서:
    클라이언트 측에서, 런타임 오류가 발생한 애플리케이션의 덤프 파일 정보 및 버전 정보를 획득하고;
    상기 런타임 오류와 연관된 오류 신원 (identification)을 얻기 위해서 미리 설정된 (preset) 알고리즘에 따라서 상기 획득한 덤프 파일 정보 및 버전 정보를 계산하고;
    상기 오류 신원을 운반하는 오류 보고를 오류 정보 취득 서버로 송신하며;
    상기 오류 신원에 따라서 상기 오류 정보 취득 서버에 의해 발행된 복원 애플리케이션을 수신하며; 그리고
    복원을 수행하기 위해서 상기 복원 애플리케이션을 활성화시키는 것을 포함하는 런타임 오류 복원 방법.
  2. 제1항에 있어서,
    상기 오류 신원에 따라서 상기 오류 정보 취득 서버에 의해 발행된 복원 애플리케이션을 수신하는 상기 동작은:
    상기 오류 신원을 운반하는 상기 오류 보고를 상기 오류 정보 취득 서버에 의해서 수신하고;
    상기 오류 신원과 연관된 상기 복원 애플리케이션이 로컬에 저장되는가의 여부를 질의하고; 그리고
    상기 복원 애플리케이션이 로컬에 저장되어 있을 때에, 상기 복원 애플리케이션을 상기 클라이언트로 발행하는 것을 포함하는, 런타임 오류 복원 방법.
  3. 제1항에 있어서,
    상기 오류 신원에 따라서 상기 오류 정보 취득 서버에 의해 발행된 복원 애플리케이션을 수신하는 상기 동작은:
    상기 오류 신원을 운반하는 상기 오류 보고를 상기 오류 정보 취득 서버에 의해서 수신하고;
    상기 오류 신원과 연관된 상기 복원 애플리케이션이 로컬에 저장되는가의 여부를 질의하고;
    상기 복원 애플리케이션이 로컬에 저장되어 있지 않을 때에, 상기 수신한 오류 보고 및 상기 오류 신원을 저장하고, 그리고 상기 오류 신원을 보고한 사용자의 정보를 저장하며;
    상기 오류 정보 취득 서버의 외부로부터 복원 애플리케이션을 수신하고;
    상기 오류 신원과 상기 복원 애플리케이션 사이의 매핑 관계를 설립하며; 그리고
    상기 오류 신원을 보고한 상기 사용자의 저장된 정보에 대응하는 클라이언트로 상기 복원 애플리케이션을 발행하는 것을 포함하는, 런타임 오류 복원 방법.
  4. 제2항에 있어서,
    상기 복원 애플리케이션이 로컬에 저장되어 있을 때에, 상기 복원 애플리케이션을 상기 클라이언트로 발행하는 상기 동작은:
    상기 오류 신원에 연관된 복원 애플리케이션의 버전 번호가 상기 오류 정보 취득 서버에 저장된 복원 애플리케이션의 최신의 버전 번호인가의 여부를 상기 오류 정보 취득 서버에 의해서 질의하며; 그리고
    상기 오류 신원에 연관된 복원 애플리케이션의 버전 번호가 상기 오류 정보 취득 서버에 저장된 복원 애플리케이션의 최신의 버전 번호일 때에, 상기 오류 신원과 연관된 복원 애플리케이션을 발행하며; 그렇지 않다면, 상기 복원 애플리케이션의 최신 버전을 발행하는 것을 포함하는, 런타임 오류 복원 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서:
    상기 덤프 파일 정보를 획득하기 위해서 상기 오류 정보 취득 서버에 의해서 상기 오류 보고를 분석하며; 그리고
    상기 덤프 파일 정보가 미리 설정된 플러그-인 필드를 포함하면, 상기 복원 애플리케이션이 상기 클라이언트로 발행될 때에 상기 런-타인 오류가 외부 요인들에 의한 것이라는 것을 표시하는 메시지를 운반하는 것을 더 포함하는, 런타임 오류 복원 방법.
  6. 제5항에 있어서,
    상기 미리 설정된 알고리즘은 메시지 다이제스트 알고리즘 (Message Digest Algorithm)의 제5판 암호화 알고리즘 (MD5) 및 Base64 암호화 알고리즘을 포함하는, 런타임 오류 복원 방법.
  7. 제6항에 있어서,
    상기 오류 보고는 상기 덤프 파일 정보, 버전 정보, 그리고 로그 정보에 따라서 생성되는, 런타임 오류 복원 방법.
  8. 클라이언트로서,
    오류 보고 모듈; 및
    복원 모듈을 포함하며,
    상기 오류 보고 모듈은:
    런타임 오류가 발생한 애플리케이션의 덤프 파일 정보 및 버전 정보를 획득하고,
    상기 런타임 오류와 연관된 오류 신원을 얻기 위해서 미리 설정된 알고리즘에 따라서 상기 획득한 덤프 파일 정보 및 버전 정보를 계산하고, 그리고
    상기 오류 신원을 운반하는 오류 보고를 오류 정보 취득 서버로 송신하도록 구성되며, 그리고
    상기 복원 모듈은:
    상기 오류 신원에 따라서 상기 오류 정보 취득 서버에 의해 발행된 복원 애플리케이션을 수신하며, 그리고
    복원을 수행하기 위해서 상기 복원 애플리케이션을 활성화시키도록 구성된, 클라이언트.
  9. 제8항에 있어서,
    상기 오류 보고 모듈이 오류 신원을 생성할 때에, 상기 오류 신원을 디스플레이하고 그리고 상기 오류 보고를 송신하는가의 여부를 표시하는 메시지를 디스플레이하며, 그리고
    송신-확인 정보를 수신하고 상기 오류 보고 모듈을 트리거하여 상기 오류 보고를 상기 오류 정보 취득 서버에게 송신하게 하도록 구성된,
    디스플레이 모듈을 더 포함하는, 클라이언트.
  10. 오류 정보 취득 서버로서:
    수신 모듈;
    복원 애플리케이션 질의 모듈; 및
    송신 모듈을 포함하며,
    상기 수신 모듈은,
    클라이언트로부터 송신된 런타임 오류와 연관된 오류 신원을 운반하는 오류 보고를 수신하고, 그리고
    그 오류 보고를 복원 애플리케이션 질의 모듈로 송신하도록 구성되며;
    상기 복원 애플리케이션 질의 모듈은,
    상기 오류 신원과 연관된 복원 애플리케이션이 로컬에 저장되어 있는가의 여부를 질의하고, 그리고
    상기 오류 신원과 연관된 복원 애플리케이션이 로컬에 저장되어 있을 때에, 상기 복원 애플리케이션을 송신 모듈로 송신하도록 구성되며; 그리고
    상기 송신 모듈은 수신한 정보를 상기 클라이언트로 송신하도록 구성된, 오류 정보 취득 서버.
  11. 제10항에 있어서,:
    상기 수신한 오류 보고 및 상기 오류 신원을 저장하도록 구성된 오류 보고 저장 모듈을 더 포함하는, 오류 정보 취득 서버.
  12. 제11항에 있어서,
    상기 복원 애플리케이션 질의 모듈은:
    상기 오류 신원에 연관된 상기 복원 애플리케이션이 로컬에 저장되지 않을 때에, 상기 오류 신원을 운반하는 상기 오류 보고를 상기 오류 보고 저장 모듈로 송신하며,
    상기 오류 신원을 보고하는 사용자의 정보를 저장하며, 그리고
    외부에서-구성된 복원 애플리케이션을 수신하고, 상기 오류 신원과 상기 외부에서-구성된 복원 애플리케이션 사이의 매핑 관계를 설립하며, 그리고 그 외부에서-구성된 복원 애플리케이션을 상기 송신 모듈로 송신하도록 구성된, 오류 정보 취득 서버.
  13. 제11항에 있어서,
    상기 덤프 파일 정보를 획득하기 위해서 상기 오류 보고를 분석하고, 그리고
    상기 획득한 덤프 파일 정보가 미리 설정된 플러그-인 필드를 포함할 때에, 상기 런-타인 오류가 외부 요인들에 의한 것이라는 것을 표시하는 메시지를 상기 송신 모듈로 송신하도록 구성된,
    분석 모듈을 더 포함하는, 오류 정보 취득 서버.
  14. 제10항 또는 제12항에 있어서,
    상기 복원 애플리케이션 질의 모듈은:
    상기 오류 신원에 연관된 복원 애플리케이션의 버전 번호가 상기 오류 정보 취득 서버에 저장된 복원 애플리케이션의 최신의 버전 번호인가의 여부를 질의하고, 그리고
    상기 오류 신원에 연관된 복원 애플리케이션의 버전 번호가 상기 오류 정보 취득 서버에 저장된 복원 애플리케이션의 최신의 버전 번호일 때에, 상기 오류 신원과 연관된 복원 애플리케이션을 상기 송신 모듈로 송신하며; 그렇지 않다면, 상기 복원 애플리케이션의 최신 버전을 상기 송신 모듈로 송신하도록 더 구성된, 오류 정보 취득 서버.
  15. 런타임 오류들을 복원하기 위한 시스템으로서:
    클라이언트; 및
    오류 정보 취득 서버를 포함하며,
    상기 클라이언트는,
    런타임 오류와 연관된 계산된 오류 신원을 운반하는 오류 보고를 오류 정보 취득 서버로 송신하고, 그리고
    복원을 수행하기 위해서, 수신한 복원 애플리케이션을 활성화시키도록 구성되며; 그리고
    상기 오류 정보 취득 서버는,
    상기 오류 신원을 운반하는 상기 오류 보고를 수신하며, 그리고
    상기 오류 신원과 연관된 복원 애플리케이션을 상기 클라이언트로 발행하도록 구성된, 런타임 오류 복원 시스템.
  16. 제15항에 있어서,
    상기 오류 정보 취득 서버는:
    덤프 파일 정보를 획득하기 위해서 상기 오류 파일을 분석하고, 그리고
    상기 획득한 덤프 파일 정보가 미리 설정된 플러그-인 필드를 포함하면, 상기 복원 애플리케이션을 상기 클라이언트로 발행할 때에 상기 런-타인 오류가 외부 요인들에 의한 것이라는 것을 표시하는 메시지를 운반하도록 더 구성된, 런타임 오류 복원 시스템.
  17. 제15항 또는 제16항에 있어서,
    상기 클라이언트는:
    오류 보고 모듈; 및
    복원 모듈을 포함하며,
    상기 오류 보고 모듈은,
    상기 런타임 오류가 발생한 애플리케이션의 덤프 파일 정보 및 버전 정보를 획득하고,
    상기 오류 신원을 얻기 위해서 미리 설정된 알고리즘에 따라서 상기 획득한 덤프 파일 정보 및 버전 정보를 계산하고, 그리고
    상기 오류 신원을 운반하는 상기 오류 보고를 상기 오류 정보 취득 서버로 송신하도록 구성되며; 그리고
    상기 복원 모듈은,
    상기 오류 신원에 따라서 상기 오류 정보 취득 서버에 의해 발행된 복원 애플리케이션을 수신하며, 그리고
    복원을 수행하기 위해서 상기 복원 애플리케이션을 활성화시키도록 구성된, 런타임 오류 복원 시스템.
  18. 제15항 또는 제16항에 있어서,
    상기 오류 정보 취득 서버는:
    수신 모듈;
    복원 애플리케이션 질의 모듈;
    오류 보고 저장 모듈; 및
    송신 모듈을 포함하며,
    상기 수신 모듈은,
    상기 클라이언트로부터 송신된, 상기 오류 신원을 운반하는 오류 보고를 수신하고, 그리고
    그 오류 보고를 복원 애플리케이션 질의 모듈로 송신하도록 구성되며;
    상기 복원 애플리케이션 질의 모듈은,
    상기 오류 신원과 연관된 복원 애플리케이션이 로컬에 저장되어있는지 여부를 질의하고, 그리고
    상기 오류 신원과 연관된 상기 복원 애플리케이션이 로컬에 저장되어 있을 때에, 상기 복원 애플리케이션을 상기 송신 모듈로 송신하도록 구성되며;
    상기 오류 보고 저장 모듈은 상기 수신한 오류 보고 및 상기 오류 신원을 저장하도록 구성되며; 그리고
    상기 송신 모듈은 수신한 정보를 상기 클라이언트로 송신하도록 구성된, 런타임 오류 복원 시스템.
KR1020157002809A 2012-07-02 2013-07-02 런타임 오류 복원 방법, 디바이스 및 시스템 KR20150033711A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201210224763.5A CN103530199B (zh) 2012-07-02 2012-07-02 一种修复软件运行错误的方法、装置及系统
CN201210224763.5 2012-07-02
PCT/CN2013/078641 WO2014005506A1 (zh) 2012-07-02 2013-07-02 一种修复运行错误的方法、装置及系统

Publications (1)

Publication Number Publication Date
KR20150033711A true KR20150033711A (ko) 2015-04-01

Family

ID=49881337

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157002809A KR20150033711A (ko) 2012-07-02 2013-07-02 런타임 오류 복원 방법, 디바이스 및 시스템

Country Status (7)

Country Link
US (1) US9575830B2 (ko)
KR (1) KR20150033711A (ko)
CN (1) CN103530199B (ko)
HK (1) HK1192020A1 (ko)
MY (1) MY173137A (ko)
TW (1) TWI540424B (ko)
WO (1) WO2014005506A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170047931A (ko) * 2015-10-26 2017-05-08 에스케이텔레콤 주식회사 어플리케이션 관리 장치 및 방법

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902452A (zh) * 2014-04-01 2014-07-02 浙江大学 针对软件多点故障的自修复算法
US10892939B2 (en) * 2014-05-27 2021-01-12 Telecom Italia S.P.A. System and method for network apparatus management
CN105335277A (zh) * 2014-06-27 2016-02-17 可牛网络技术(北京)有限公司 一种故障信息处理方法及装置、终端
CN105511973B (zh) * 2014-09-22 2018-11-23 深圳Tcl新技术有限公司 终端故障修复方法和系统
CN104809030A (zh) * 2015-05-19 2015-07-29 上海斐讯数据通信技术有限公司 一种基于Android的异常处理系统及处理方法
CN105045617B (zh) * 2015-07-03 2019-11-12 Tcl集团股份有限公司 一种Android系统的应用恢复方法及系统
US9684556B2 (en) 2015-10-12 2017-06-20 Bank Of America Corporation Method and apparatus for a self-adjusting calibrator
US9703624B2 (en) * 2015-10-12 2017-07-11 Bank Of America Corporation Event correlation and calculation engine
US10235227B2 (en) 2015-10-12 2019-03-19 Bank Of America Corporation Detection, remediation and inference rule development for multi-layer information technology (“IT”) structures
CN105373446B (zh) * 2015-10-15 2019-02-22 佛山市云端容灾信息技术有限公司 一种基于自动演练的系统自动修复方法和装置
JP6724338B2 (ja) * 2015-10-30 2020-07-15 ブラザー工業株式会社 通信機器
CN105915365A (zh) * 2015-12-25 2016-08-31 乐视致新电子科技(天津)有限公司 一种控制崩溃数据上报的方法、服务器及客户端
TWI603204B (zh) * 2016-05-18 2017-10-21 群邁通訊股份有限公司 雲端裝置、終端裝置及異常處理方法
CN108008972A (zh) * 2016-10-27 2018-05-08 北京京东尚科信息技术有限公司 客户端的应用程序的修复方法、装置及系统
CN106557402B (zh) * 2016-10-31 2019-09-06 努比亚技术有限公司 移动终端及异常信息处理方法
US10585788B2 (en) 2017-02-21 2020-03-10 Microsoft Technology Licensing, Llc State-based remedial action generation
US10338991B2 (en) 2017-02-21 2019-07-02 Microsoft Technology Licensing, Llc Cloud-based recovery system
US10437663B2 (en) 2017-04-14 2019-10-08 Microsoft Technology Licensing, Llc Administrative user communication and error recovery
US10409685B2 (en) * 2017-07-24 2019-09-10 Uber Technologies, Inc. Recovery of application functions via analysis of application operational requests
CN107783795B (zh) * 2017-07-26 2021-05-28 深圳壹账通智能科技有限公司 应用程序启动方法、装置、计算机设备和存储介质
CN107578394A (zh) * 2017-10-11 2018-01-12 上海联影医疗科技有限公司 一种图像重建失败的修复方法和装置
CN107908172A (zh) * 2017-11-06 2018-04-13 南京力通达电气技术有限公司 智能箱变测控装置的远程诊断维护系统
US10831590B2 (en) * 2017-12-04 2020-11-10 International Business Machines Corporation Error handling
CN110032502B (zh) * 2018-01-11 2023-05-26 广州市康锦信息技术有限公司 一种异常处理的方法、装置及电子设备
US10733040B2 (en) * 2018-02-01 2020-08-04 Faro Technologies, Inc. Individual bug fixed messages for software users
US10846070B2 (en) * 2018-07-05 2020-11-24 At&T Intellectual Property I, L.P. Facilitating cloud native edge computing via behavioral intelligence
CN109684525B (zh) * 2018-12-20 2021-03-02 Oppo(重庆)智能科技有限公司 文档显示方法、装置、存储介质及测试设备
CN109933465B (zh) * 2019-03-12 2021-12-10 北京同城必应科技有限公司 异常处理方法、装置、服务器和存储介质
CN111858113B (zh) * 2019-04-30 2024-03-12 北京达佳互联信息技术有限公司 应用程序的修复方法、装置、业务系统及存储介质
CN110333985B (zh) * 2019-06-12 2023-04-28 东北石油大学 记录移动终端操作信息的方法和装置
CN110647450B (zh) * 2019-08-15 2023-02-07 平安普惠企业管理有限公司 业务流程断点修复方法、装置、计算机设备和存储介质
CN110727562A (zh) * 2019-09-20 2020-01-24 北京字节跳动网络技术有限公司 一种错误信息的处理方法、装置、介质和电子设备
CN111026581A (zh) * 2019-10-29 2020-04-17 口碑(上海)信息技术有限公司 应用程序的修复方法及装置、系统、存储介质、电子装置
CN111107080B (zh) * 2019-12-17 2022-06-14 政采云有限公司 一种错误信息推送方法、装置、设备及可读存储介质
CN111930550A (zh) * 2020-08-18 2020-11-13 政采云有限公司 一种客户端修复方法、装置、设备及介质
US11714699B2 (en) * 2021-06-22 2023-08-01 Microsoft Technology Licensing, Llc In-app failure intelligent data collection and analysis
KR20220158652A (ko) * 2022-01-17 2022-12-01 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 고장 정보 포지셔닝 방법, 장치, 기기 및 저장 매체
CN115080114B (zh) * 2022-08-23 2022-10-28 中科方德软件有限公司 应用程序的移植处理方法、装置和介质
CN115934940A (zh) * 2022-11-30 2023-04-07 南京晓庄学院 一种基于互联网信息技术的管理软件安全维护系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629267B1 (en) 2000-05-15 2003-09-30 Microsoft Corporation Method and system for reporting a program failure
US7146531B2 (en) * 2000-12-28 2006-12-05 Landesk Software Limited Repairing applications
US7237232B2 (en) * 2001-05-24 2007-06-26 Microsoft Corporation Method and system for recording program information in the event of a failure
US7421490B2 (en) * 2002-05-06 2008-09-02 Microsoft Corporation Uniquely identifying a crashed application and its environment
KR20030096695A (ko) 2002-06-17 2003-12-31 에임텍 주식회사 무선단말기 원격 애프터서비스 시스템
CN1470985A (zh) * 2002-07-24 2004-01-28 力捷电脑股份有限公司 应用于外围装置的错误回报及修正方法
JP3916232B2 (ja) 2002-11-27 2007-05-16 日本電気株式会社 ナレッジ型運用管理システム,方法およびプログラム
US7293201B2 (en) * 2003-01-17 2007-11-06 Microsoft Corporation System and method for active diagnosis and self healing of software systems
US20050038832A1 (en) * 2003-08-14 2005-02-17 International Business Machines Corporation Application error recovery using solution database
US7490268B2 (en) * 2004-06-01 2009-02-10 The Trustees Of Columbia University In The City Of New York Methods and systems for repairing applications
US20060190770A1 (en) * 2005-02-22 2006-08-24 Autodesk, Inc. Forward projection of correlated software failure information
JP4591191B2 (ja) 2005-05-16 2010-12-01 日本電気株式会社 無線通信システム及び無線通信システムの制御方法
US7577879B2 (en) * 2005-06-07 2009-08-18 Microsoft Corporation Patching a mobile computing device software error
US7861120B2 (en) * 2007-12-14 2010-12-28 Sap Ag Method and apparatus for runtime error handling
JP2009259161A (ja) * 2008-04-21 2009-11-05 Nec Corp ナレッジ型障害復旧支援システム、ユーザ端末、中継サーバ及びナレッジ提供サーバ並びにデータ中継方法
CN101621818A (zh) * 2008-07-05 2010-01-06 中兴通讯股份有限公司 一种处理错误告警的处理方法和装置
CN102056202A (zh) * 2009-10-29 2011-05-11 中兴通讯股份有限公司 移动终端错误处理方法及系统
CN102023906B (zh) * 2010-11-22 2013-02-13 杭州海康威视数字技术股份有限公司 便携式终端的微处理器、便携式终端及其修复方法
US8645763B2 (en) * 2011-09-12 2014-02-04 Microsoft Corporation Memory dump with expanded data and user privacy protection
US9262250B2 (en) * 2011-12-12 2016-02-16 Crashlytics, Inc. System and method for data collection and analysis of information relating to mobile applications
US8473251B1 (en) * 2012-05-18 2013-06-25 Google Inc. Collecting application crashes on resource-constrained devices
US9436533B2 (en) * 2014-05-30 2016-09-06 Apteligent, Inc. System for monitoring and tracking application crashes occurring on different mobile devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170047931A (ko) * 2015-10-26 2017-05-08 에스케이텔레콤 주식회사 어플리케이션 관리 장치 및 방법

Also Published As

Publication number Publication date
CN103530199B (zh) 2015-12-02
MY173137A (en) 2019-12-31
TWI540424B (zh) 2016-07-01
TW201407341A (zh) 2014-02-16
US9575830B2 (en) 2017-02-21
US20150193296A1 (en) 2015-07-09
HK1192020A1 (en) 2014-08-08
WO2014005506A1 (zh) 2014-01-09
CN103530199A (zh) 2014-01-22

Similar Documents

Publication Publication Date Title
KR20150033711A (ko) 런타임 오류 복원 방법, 디바이스 및 시스템
US11360842B2 (en) Fault processing method, related apparatus, and computer
KR102268355B1 (ko) 클라우드 배치 기반구조 검증 엔진
US9626277B2 (en) Anomaly analysis for software distribution
CN107807877B (zh) 一种代码性能测试的方法和装置
US20160132420A1 (en) Backup method, pre-testing method for environment updating and system thereof
US10180893B2 (en) System and method for providing additional functionality to developer side application in an integrated development environment
CN106980565B (zh) 升级过程监控方法及装置
CN106776243B (zh) 一种针对监控软件的监控方法及装置
CN109218407B (zh) 基于日志监控技术的代码管控方法及终端设备
US20130111018A1 (en) Passive monitoring of virtual systems using agent-less, offline indexing
WO2015120687A1 (zh) 一种诊断及解决移动终端故障的方法及装置
CN102439568A (zh) 计算设备的系统健康和性能看护
CN111211929A (zh) 故障定位方法、故障定位装置、控制设备及智能设备
US9935867B2 (en) Diagnostic service for devices that employ a device agent
GB2532076A (en) Backup method, pre-testing method for environment updating and system thereof
US11671440B1 (en) Detection failure monitoring system
US9372746B2 (en) Methods for identifying silent failures in an application and devices thereof
CN112558982A (zh) 代码检测方法、装置及计算机设备
JP5578487B2 (ja) 障害解析装置、障害解析方法、及びプログラム
CN112905199A (zh) 代码更新检测方法及装置
JP5268820B2 (ja) 監視装置用プログラムの書き換え方法
CN115333923B (zh) 一种故障点溯源分析方法、装置、设备及介质
CN110008114B (zh) 配置信息维护方法、装置、设备及可读存储介质
EP2990950B1 (en) Monitoring activities of a software application

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application