KR20150049201A - 어플리케이션 에러 관리를 위한 장치 및 방법 - Google Patents

어플리케이션 에러 관리를 위한 장치 및 방법 Download PDF

Info

Publication number
KR20150049201A
KR20150049201A KR1020130129446A KR20130129446A KR20150049201A KR 20150049201 A KR20150049201 A KR 20150049201A KR 1020130129446 A KR1020130129446 A KR 1020130129446A KR 20130129446 A KR20130129446 A KR 20130129446A KR 20150049201 A KR20150049201 A KR 20150049201A
Authority
KR
South Korea
Prior art keywords
error
application
sensitivity
information
message
Prior art date
Application number
KR1020130129446A
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 에스케이텔레콤 주식회사
Priority to KR1020130129446A priority Critical patent/KR20150049201A/ko
Publication of KR20150049201A publication Critical patent/KR20150049201A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 어플리케이션 에러 관리를 위한 장치 및 방법에 관한 것으로서, 이러한 본 발명은 에러 관리를 위한 장치는, 어플리케이션에 대한 에러 발생 여부를 실시간으로 모니터링하는 에러 모니터링부, 네트워크 감도를 모니터링하는 네트워크 감도 모니터링부, 에러 발생한 어플리케이션에 대한 에러 정보를 생성하는 에러 정보 생성부, 에러 모니터링부를 통해 어플리케이션에 대한 에러 발생이 모니터링되면, 네트워크 감도 모니터링부를 통해 네트워크 감도를 확인하고, 확인한 네트워크 감도가 미리 설정된 감도 이상이면 에러 정보 생성부를 통해 생성된 에러가 발생한 어플리케이션에 대한 에러 정보를 포함하는 에러 메시지를 생성하고, 생성한 에러 메시지를 미리 설정된 방식의 알고리즘을 기반으로 인코딩하는 에러 메시지 처리부를 포함하는 것을 특징으로 한다.

Description

어플리케이션 에러 관리를 위한 장치 및 방법{Apparatus and Method for managing error of Application}
본 발명은 어플리케이션 에러 관리를 위한 장치 및 방법에 관한 것으로서, 더욱 상세하게는 단말에서 실행되는 어플리케이션에 대한 에러를 실시간으로 모니터링하고, 어플리케이션에 대한 에러 발생 시 통신 네트워크 환경에 따라 어플리케이션의 에러 정보를 서비스 서버로 전송하여 에러를 처리하는 어플리케이션 에러 관리를 위한 장치 및 방법에 관한 것이다.
최근 들어, 다양한 모바일 어플리케이션이 개발됨에 따라 사용자들은 앱 스토어와 같이 어플리케이션(Application)을 제공하는 서버를 통해 메일, 일정 관리, 게임과 같은 어플리케이션을 자신의 단말에 다운받아 이용하고 있다.
한편, 단말을 통해 어플리케이션을 이용할 시 에러가 발생했을 시, 에러에 대한 처리를 위한 방식이 개발자 별, error 별, App별로 서로 다르기 때문에, 어플리케이션 개발 이후의 운영 시점에서 에러를 통합하여 파악하기가 어렵다. 또한, 대부분의 에러처리 로직은 어플리케이션 내의 이벤트 처리로직과 결합되어 있기 때문에 추가적인 에러가 발생했을 시 시스템 전체를 수정해야 하는 단점이 존재한다. 따라서 어플리케이션 운영뿐 아니라 그 외 유지보수에도 어려움이 있다.
또한, 에러가 발생했을 시 정확한 에러 발생 지점 및 재현 경로를 파악하기가 어렵다. 일반적으로 단말에서 비정상 종료를 포함하여 불특정 타이밍에 에러가 발생했을 경우, 어플리케이션 소스코드를 디버그 모드로 컴파일한 후, 재현이 된 다음에야 로그정보를 확보하여 에러 원인 파악이 가능해진다. 그러므로, 재현이 되지 않는 에러는 원인 파악이 불가능하며, 재현이 된 이후에도 소스코드 위치를 보고 원인에 대한 부분을 유추하여 파악을 해야만 한다. 정확한 원인 파악이 어렵기 때문에 추측하여 수정을 한다고 해도, 사이드 효과(side effect)가 발생할 수 있다.
이뿐만 아니라, 에러의 원인 파악이 가능하려면 에러가 발생한 시점에 사용자가 전화 또는 메일과 같은 방식을 통해 어플리케이션 운영자 측에 알려야 하고, 운영자는 이를 접수 받아 에러 케이스를 재현을 한 후, 에러가 발생했을 때의 로그를 보고 원인을 유추해야 한다. 즉, 현재에는 단말에서 에러가 발생했을 때, 자동으로 알람을 해주는 시스템이 없기 때문에 에러의 원인 파악까지의 시간이 오래 걸리는 문제점이 있다.
상기한 바와 같이 현재 모바일 어플리케이션 에러 발생 시 에러를 처리하는 방식이 일원화되어 있지 않고, 에러 원인에 대한 정확한 파악이 어려울 뿐 아니라, 에러 원인 파악까지의 시간이 오래 걸리는 문제점을 해결하기 위한 기술 개발이 절실히 요구된다.
한국공개특허 10-2012-0013172, 2012년 08월 23일 공개 (명칭: 소프트웨어 오류 실시간 모니터링 시스템)
본 발명은 전술한 종래 기술의 문제점을 해결하기 위하여 제안된 것으로, 단말에서 어플리케이션 에러가 발생했을 시, 에러에 대한 처리를 위한 방식을 개발자, 에러 종류, 어플리케이션 종류와 관계없이 일원화시켜 에러를 관리할 수 있도록 하기 위한 어플리케이션 에러 관리를 위한 장치 및 방법을 제공함에 있다.
또한, 본 발명은 단말에서 어플리케이션 에러가 발생했을 시, 에러 원인을 정확하게 파악할 수 있도록 하기 위한 어플리케이션 에러 관리를 위한 장치 및 방법을 제공함에 있다.
또한, 본 발명은 단말에서 어플리케이션 에러가 발생했을 시, 에러 원인 파악까지의 시간을 최소화할 수 있도록 하기 위한 어플리케이션 에러 관리를 위한 장치 및 방법을 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 어플리케이션 에러 처리장치는 어플리케이션에 대한 에러 발생 여부를 실시간으로 모니터링하는 에러 모니터링부; 네트워크 감도를 모니터링하는 네트워크 감도 모니터링부; 에러 발생한 어플리케이션에 대한 에러 정보를 생성하는 에러 정보 생성부; 상기 에러 모니터링부를 통해 어플리케이션에 대한 에러 발생이 모니터링되면, 상기 네트워크 감도 모니터링부를 통해 네트워크 감도를 확인하고, 상기 확인한 네트워크 감도가 미리 설정된 감도 이상이면 상기 에러 정보 생성부를 통해 생성된 에러가 발생한 어플리케이션에 대한 에러 정보를 포함하는 에러 메시지를 생성하고, 상기 생성한 에러 메시지를 서비스 서버로 전송하는 에러 메시지 처리부를 포함하는 것을 특징으로 한다.
또한, 본 발명에서의 어플리케이션 에러 처리장치의 에러 메시지 처리부는, 상기 확인한 네트워크 감도가 미리 설정된 감도 미만이면, 상기 생성한 에러 정보를 저장하고, 상기 네트워크 감도 모니터링부를 통해 실시간으로 네트워크 감도를 모니터링하여 네트워크 감도가 미리 설정된 감도 이상이면 상기 저장한 에러 정보를 포함하는 에러 메시지를 생성하고, 상기 생성한 에러 메시지를 상기 서비스 서버로 전송하는 것을 특징으로 한다.
또한, 본 발명에서의 어플리케이션 에러 처리장치의 에러 메시지 처리부는 상기 발생한 에러 정보를 에러 종류별 또는 발생 빈도별로 누적 저장하는 것을 특징으로 한다.
여기서, 상기 에러 정보는, 에러 타입, 어플리케이션 아이디, 에러 발생 소스 코드 파일 이름, 에러 발생 소스 코드 위치, 에러 발생한 콜 스텍(call stack) 중 적어도 하나 이상을 포함하는 정보인 것을 특징으로 한다.
또한, 본 발명에서의 어플리케이션 에러 처리장치에서 상기 에러 모니터링부, 상기 네트워크 감도 모니터링부, 상기 에러 정보 생성부, 상기 에러 메시지 처리부는 라이브러리(library) 형태로 구현되는 것을 특징으로 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 서비스 서버는, 통신망을 통해 송수신되는 신호를 처리하기 위한 서버 통신부; 에러 처리를 위한 적어도 하나 이상의 에러 처리 객체를 저장하고, 에러 타입 별로 상기 에러 처리 객체를 각각 매핑시켜 저장하는 서버 저장부; 에러 정보를 포함하는 에러 메시지가 수신되면, 수신한 에러 메시지에 포함된 에러 타입에 매핑되어 있는 에러 처리 객체를 확인하고, 확인한 에러 처리 객체를 이용하여 에러를 처리하는 서버 제어부를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 서비스 서버에서의 서버 저장부는, 상기 수신한 인코딩된 에러 메시지에 대하여 디코딩하기 위한 알고리즘을 저장하고, 서버 제어부는 상기 에러 메시지 수신 시 상기 저장된 알고리즘을 기반으로 디코딩한 후 디코딩한 에러 메시지에 포함된 에러 타입에 매핑되어 있는 에러 처리 객체를 확인하는 것을 특징으로 한다.
또한, 본 발명에 따른 서비스 서버에서의 서버 제어부는, 상기 에러 메시지를 수신하면, 기 등록된 관리자 단말을 확인하여 확인된 관리자 단말로 미리 설정된 방식으로 상기 에러 메시지 수신을 알리도록 제어하는 것을 특징으로 한다.
또한, 본 발명에 따른 서비스 서버에서의 서버 저장부는, 에러 타입에 대응되는 등급 정보, 상기 등급에 따라 상기 에러 메시지 수신을 알리기 위한 관리자 단말 정보를 저장하고, 상기 서버 제어부는 상기 관리자 단말로 상기 에러 메시지 수신을 알릴 시 상기 에러 타입에 대응되는 등급을 확인하고, 확인된 등급에 따라 미리 설정된 관리자 단말로 상기 에러 메시지 수신을 알리도록 제어하는 것을 특징으로 한다.
여기서, 상기 미리 설정된 방식은 메일(Mail), 단문 메시지(SMS), 멀티 메시지 서비스(MSS) 중 적어도 하나의 방식인 것을 특징으로 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명에 따른 단말에서의 에러 관리 방법은 단말에 저장된 어플리케이션에 대한 에러를 실시간으로 모니터링하는 과정; 상기 모니터링하는 중 어플리케이션에 대한 에러가 발생하면, 상기 에러가 발생한 어플리케이션에 대한 에러 정보를 확인하는 과정; 네트워크 감도를 확인하는 과정과; 상기 확인한 네트워크 감도가 미리 설정된 감도 이상이면 상기 에러 정보를 포함하는 에러 메시지를 생성하고, 생성한 에러 메시지를 상기 서비스 서버로 전송하는 과정을 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 단말에서의 에러 관리 방법은 상기 확인한 네트워크 감도가 미리 설정된 감도 미만이면 상기 에러 정보를 에러 종류별 또는 발생 빈도별로 누적 저장하는 과정; 상기 저장하는 과정 수행 후 상기 네트워크 감도를 모니터링하여 상기 네트워크 감도가 미리 설정된 감도 이상이 되면 상기 저장된 에러 정보를 포함하는 에러 메시지를 생성하고, 생성한 에러 메시지를 상기 서비스 서버로 전송하는 과정을 더 포함하는 것을 특징으로 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명에 따른 서비스 서버에서의 에러 관리 방법은 에러 처리를 위한 적어도 하나 이상의 에러 처리 객체를 저장하고, 에러 타입 별로 상기 에러 처리 객체를 각각 매핑시켜 저장하는 과정; 상기 단말로부터 에러 정보를 포함하는 에러 메시지가 수신되면, 상기 수신한 에러 메시지에 포함된 에러 타입에 매핑되어 있는 에러 처리 객체를 확인하는 과정; 상기 확인한 에러 처리 객체를 이용하여 에러를 처리하는 과정을 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 단말에서의 에러 관리 방법은 상기 에러 처리 객체를 확인하는 과정 전에, 상기 단말로부터 수신한 인코딩된 에러 메시지에 대하여 디코딩하기 위한 알고리즘을 저장하는 과정을 더 포함하고, 상기 에러 처리 객체를 확인하는 과정은, 상기 단말로부터 에러 정보를 포함하는 에러 메시지가 수신되면, 상기 저장된 알고리즘을 기반으로 상기 수신한 에러 메시지를 디코딩한 후 디코딩한 에러 메시지에 포함된 에러 타입을 확인하고, 확인된 에러 타입에 매핑되어 있는 에러 처리 객체를 확인하는 과정인 것을 특징으로 한다.
또한, 본 발명에 따른 단말에서의 에러 관리 방법은 상기 단말로부터 에러 정보를 포함하는 에러 메시지가 수신되면, 기 등록된 관리자 단말을 확인하여 확인된 관리자 단말로 상기 에러 메시지 수신을 알리기 위한 알림 메시지를 전송하는 과정을 더 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 단말에서의 에러 관리 방법에서 상기 알림 메시지를 전송하는 과정은, 상기 단말로부터 에러 정보를 포함하는 에러 메시지가 수신되면, 상기 에러 메시지에 포함된 에러 타입에 대응되는 등급을 확인하는 단계; 상기 확인된 등급에 따라 미리 설정된 관리자 단말을 확인하는 단계; 상기 확인된 관리자 단말로 미리 설정된 방식으로 상기 에러 메시지 수신을 알리기 위한 알림 메시지를 전송하는 단계를 포함하는 것을 특징으로 한다.
상술한 바와 같이 본 발명은 단말에 저장한 모든 어플리케이션에 대해서 에러 관리를 위한 모듈을 구비하므로 에러 처리 로직이 수정될 경우 어플리케이션 전체를 다시 업그레이드 하지 않고, 에러 관리를 위한 모듈만을 업데이트시키면 되므로, 단말 구조에 관계없이 에러처리방식을 일원화할 수 있는 이점이 있다.
또한, 본 발명에 따른 단말은 어플리케이션 에러 발생 시 에러 정보를 생성하여 서비스 서버로 전송하기 때문에, 에러에 대한 정확한 원인 파악이 가능하고, 이에 따라 발생한 에러를 사이드 효과(side effect) 없이 정확하게 수정해낼 수 있는 이점이 있다.
또한, 본 발명에 따른 단말은 어플리케이션 에러 발생 시 실시간으로 감지하여 서비스 서버로 전송하고, 서비스 서버는 수신한 에러 정보를 바로 담당자들에게 메일이나 메시지로 전송하여 에러 발생을 알리도록 함으로써 에러 발생 이후 원인파악까지의 시간을 획기적으로 단축할 수 있는 이점이 있다.
또한, 본 발명은 발생할 수 있는 에러에 대한 종류 들이 추가가 되어도 에러 처리 객체를 통해 에러를 처리하는 방식이기 때문에 프레임 워크(framework) 전체가 수정되지 않고, 에러 처리 객체만 신규로 생성해주면 되므로, 어플리케이션에 대한 운영 및 유지 보수에도 이점을 가진다.
이뿐만 아니라, 본 발명에서는 단말에서 어플리케이션 에러 발생 시 네트워크 환경이 좋은 경우 서비스 서버로 에러 정보를 전송하도록 하고, 네트워크 환경이 나쁜 경우에는 에러 종류별, 발생 빈도 별로 단말 내에 누적 저장한 후 네트워크 환경을 실시간으로 모니터링하다가 다시 네트워크 환경이 좋아지면 저장된 에러 정보를 서비스 서버로 전송하도록 한다. 이렇게 함으로써, 무선 네트워크 환경에서도 안정성 있는 에러 관리를 할 수 있게 된다.
또한, 단말에서 에러 정보를 서비스 서버로 전송할 시 에러 정보를 포함하는 에러 메시지를 미리 설정된 알고리즘을 기반으로 인코딩하여 압축한 후 서비스 서버로 전송하고, 서비스 서버는 수신한 에러 메시지를 디코딩하여 에러 정보를 분석한다. 이렇게 함으로써, 무선 네트워크 특성상 발생할 수 있는 정보 유출과 같은 보안의 취약점을 보완할 수 있는 이점이 있다.
도 1은 본 발명의 실시예에 따른 어플리케이션 에러 처리 장치의 주요 구성을 도시한 블록도이다.
도 2는 본 발명의 실시 예에 따른 어플리케이션 에러 처리 장치를 구비하는 단말, 서비스 장치 간의 어플리케이션 에러 관리를 위한 무선 통신 시스템의 구성을 나타낸 블록도이다.
도 3은 본 발명의 실시 예에 따른 어플리케이션 에러 처리 모듈을 포함하는 단말의 구성을 도시한 블록도이다.
도 4는 본 발명의 실시 예에 따른 어플리케이션 에러 관리를 위한 서비스 서버의 구성을 보다 상세히 나타낸 블록도이다.
도 5는 본 발명의 실시 예에 따른 어플리케이션 에러 관리를 위한 무선 통신 시스템에서 어플리케이션 에러 관리를 위한 단말, 서비스 서버 및 관리자 단말 간의 송수신되는 신호 흐름도이다.
도 6은 본 발명의 실시 예에 따른 단말에서 어플리케이션 에러 처리 과정을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시 예에 따른 서비스 서버에서 어플리케이션 에러 처리 과정을 설명하기 위한 흐름도이다.
이하 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
도 1은 본 발명의 실시예에 따른 어플리케이션 에러 처리 장치의 주요 구성을 도시한 블록도이다.
어플리케이션 에러 처리장치(10)는 어플리케이션 에러를 관리하는 구성으로, 에러 모니터링부(21), 네트워크 감도 모니터링부(22), 에러 정보 생성부(23), 에러 메시지 처리부(24)를 포함하여 구성할 수 있다.
에러 모니터링부(21)는 적어도 하나 이상의 어플리케이션에 대한 에러를 실시간으로 감지한다.
네트워크 감도 모니터링부(22)는 네트워크 감도를 모니터링하기 위한 구성으로 현재 네트워크 환경이 메시지 전송이 가능한 상태인지를 모니터링한다. 이러한 네트워크 감도 모니터링부(22)는 수신 감도 측정을 통해 네트워크 감도를 모니터링할 수 있을 것이다. 예를 들어, 수신 감도는 수신 신호 세기(RSSI, Received Signal Strength Indicator) 또는 패킷 에러율(PER, Packet Error Rate)를 통해 확인할 수 있다.
에러 정보 생성부(23)은 에러 모니터링부(21)를 통해 에러 발생이 감지되면 에러 발생한 어플리케이션에 대한 에러 정보를 생성한다. 여기서 에러 정보는, 에러 타입, 어플리케이션 아이디, 에러 발생 소스 코드 파일 이름, 에러 발생 소스 코드 위치, 에러 발생한 콜 스텍(call stack) 중 적어도 하나 이상을 포함하는 정보일 수 있다.
또한, 에러 정보 생성부(23)는 네트워크 감도 모니터링부(22)를 통해 감지한 감도가 미리 설정된 감도 미만이면 생성한 에러 정보를 저장한다. 이때, 에러 정보 생성부(23)는 발생한 에러 정보를 에러 종류별 또는 발생 빈도별로 누적 저장할 수 있다.
에러 메시지 처리부(24)는 네트워크 감도 모니터링부(22)를 통해 감지한 감도가 미리 설정된 감도 이상이면 생성한 에러 정보를 포함하는 에러 메시지를 생성하고, 생성한 에러 메시지를 서비스 서버(120)로 전송한다. 이때, 생성한 에러 메시지를 미리 설정된 방식의 알고리즘을 기반으로 인코딩한 후 전송할 수도 있을 것이다. 이하, 본 발명의 설명에서는 에러 메시지를 인코딩하여 전송하고, 이를 수신한 서비스 서버(120)에서는 디코딩하여 에러 메시지를 분석하는 것으로 설명하도록 한다. 하지만, 설정에 따라 인코딩 동작 및 디코딩 동작 없이 에러 메시지를 송수신할 수도 있을 것이다.
또한, 에러 메시지 처리부(24)는 저장된 에러 정보가 있는 경우 네트워크 감도 모니터링부(22)를 통해 실시간으로 네트워크 감도를 감지하고, 감지한 네트워크 감도가 미리 설정된 감도 이상이 되면 저장한 에러 정보를 포함하는 에러 메시지를 생성하고, 인코딩한 후 서비스 서버(120)로 전송한다.
이러한 어플리케이션 에러 처리 모듈(10)은 라이브러리(library) 형태로 상기 어플리케이션의 소스 코드에 임포트(import)되고, Java, objective, c와 같은 언어로 설계함으로써 다양한 오퍼레이션 시스템(OS) 환경에 대입하여 적용할 수 있도록 할 뿐 아니라, 기타 OS로도 쉽게 확장할 수 있을 것이다. 또한, OS에 의존(dependency)적이지 않는 제3자(3rd party) 입장에서 개발되므로, 다양한 개발자들을 통해 각사 환경에 맞도록 커스트마이징(customizing)이 가능할 것이다.
또한, 상기와 같은 어플리케이션 에러 처리 모듈(10) 라이브러리(library) 형태로 어플리케이션의 소스 코드에 임포트(import)됨으로써 에러 처리 루틴이 추가 또는 수정될 시 라이브러리(library)만을 업데이트하면 된다. 만약, 에러 처리 로직이 어플리케이션 마다 별도로 구현되어 있다면, 로직이 수정될 때마다 어플리케이션을 업그레이드 또는 재설치 해야 하므로 이를 방지하기 위해 본 발명에서는 상기와 같이 라이브러리(library) 형태로 에러 처리 로직을 일원화시킬 수 있다.
상기와 같은 어플리케이션 에러 처리장치(10)는 소프트웨어 프로그램 형태 또는 소프트웨어와 하드웨어의 조합의 형태로 모듈로 구현될 수 있을 것이다. 이하의 설명에서는 어플리케이션 에러 처리장치(10)가 단말 내에 장착되는 경우에는 어플리케이션 에러 처리모듈로 설명하도록 한다.
이와 같은 어플리케이션 에러 처리장치(10)가 모듈 형태로 단말에 구비될 수 있는데, 어플리케이션 에러 처리장치(10)를 구비한 단말에서 실행되는 어플리케이션에 대한 에러 정보를 서비스 서버로 전송하는 시스템에 대하여 도 2를 참조하여 살펴보도록 한다.
도 2를 참조하여 본 발명의 실시 예에 따라 어플리케이션 에러를 처리하기 위한 단말 및 서비스 서버를 포함하는 무선 통신 시스템을 개략적으로 살펴보도록 한다.
도 2는 본 발명의 실시 예에 따른 어플리케이션 에러 관리를 위한 무선 통신 시스템의 구성을 나타낸 블록도이다.
도 2를 참조하면, 본 발명의 실시예에 따른 어플리케이션 에러 관리를 위한 무선 통신 시스템은 단말(100), 서비스 장치(120), 관리자 단말(130) 및 통신망(110)을 포함하여 구성될 수 있다.
단말(100)은 사용자측 장치로서, 통신망(110)에 접속 가능하면서 어플리케이션 서비스를 실행시킬 수 있는 장치라면 어떤 것이라도 적용 가능하다. 예를 들어, 단말 장치(100)는 휴대폰, 스마트 폰과 같은 휴대 전화 장치뿐만 아니라, 전화 기능을 갖는 타블렛 PC, 스마트 TV, IP 기반 전화 기능을 갖는 데스크탑 컴퓨터, 노트북 컴퓨터를 포함할 수 있다. 더 구체적으로, 2G 및 3G 이동통신망을 기반으로 이동통신서비스 혹은 VoLTE의 경우, 상기 단말(100)은 휴대폰이나 스마트폰이 될 수 있으며, VoIP 서비스의 경우, 상기 단말 장치(100)는 VoIP 클라이언트 어플리케이션이 설치된 데스크탑 컴퓨터, 노트북 컴퓨터 및 스마트 TV, 스마트 폰, 태블릿 PC 등이 될 수 있다. 특히, 본 발명에 따른 단말(100)은 어플리케이션 에러 처리 모듈을 구비하여 단말 내 어플리케이션 에러 발생 시, 에러 관련 정보인 에러 발생 파일, 에러 발생 위치, 에러 타입, 앱 종류를 확인하고, 확인된 에러 정보를 포함하는 에러 메시지를 생성하여 이를 서비스 서버(120)로 전송한다.
본 발명에서 어플리케이션 에러 발생 시 에러 처리 동작을 수행하는 어플리케이션 에러 처리 모듈은 프레임워크(framework) 형태로 개발하고 모듈화할 수 있다. 이와 같이 프레임워크(framework)를 단말(100)에 내장하고, 어플리케이션 에러 발생 시 호출함으로써, 에러 종류, 어플리케이션 종류에 관계없이 동일한 로직을 사용하여 에러를 처리하는 구조를 확립할 수 있을 것이다.
이러한 어플리케이션 에러 처리 모듈의 구체적인 내부 구성 및 동작에 대해서는 하기의 도 2의 설명에서 구체적으로 살펴보도록 한다.
또한, 서비스 서버(120)는 단말(100) 내에서 발생하는 어플리케이션 에러에 대하여 처리를 수행하는 구성으로, 특히 본 발명에 따른 서비스 서버(120)는 단말(100)로부터 에러 정보를 포함하는 에러 메시지가 수신되면, 수신한 에러 메시지에 포함된 에러 타입에 매핑되어 있는 에러 처리 객체를 확인하고, 확인한 에러 처리 객체를 이용하여 에러를 처리한다. 또한, 서비스 서버(120)는 에러 메시지 수신 시 에러 타입별로 미리 설정된 관리자 단말로 에러 메시지가 수신됨을 알린다. 이러한 서비스 서버(120)는 에러를 처리할 수 있는 에러 처리 객체의 추가 및 삭제를 관리하다. 즉, 본 발명에서의 서비스 서버(120)는 에러에 대한 실제 처리를 에러 처리 객체들이 담당하고 있기 때문에 업데이트할 에러 처리 동작이 발생할 경우 해당 에러 처리 객체만을 추가하면 된다.
또한, 서비스 서버(120)는 어플리케이션 에러 관리를 위한 동작을 스탠드얼론(Standalone)으로 구동 중이며, 단말(100)에서 불특정 타이밍에 에러 메시지를 전송하더라도 이를 수집하여 큐잉(queueing) 할 수 있도록 한다.
상기의 단말(100), 서비스 서버(120) 및 관리자 단말(130)을 연결하는 통신망(110)은 현재 사용되고 있는 통신망뿐만 아니라 향후 사용 예정인 다양한 형태의 통신망을 포함한다. 예를 들어, 통신망(110)은, 3세대 이동통신, 4세대 이동통신, WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신 방식 또는 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coaxial Cable), FTTC(Fiber to The Curb), FTTH(Fiber To The Home), 일반 전화 교환망(PSTN) 등의 유선 통신 방식을 이용할 수 있으며, 이들의 조합으로 구현될 수도 있다.
상기와 같이 구성되는 어플리케이션 에러 처리장치(10)는 단말(100)에 구비되어 단말에 저장된 어플리케이션에 대한 에러 발생 시 어플리케이션의 소스 코드에 임포트 되어 에러가 발생한 어플리케이션 에러 정보를 확인하여 이를 서비스 서버(120)로 전송할 수 있다. 이와 같이 어플리케이션 에러 처리장치(10)가 단말(100)에 구비되어 단말 내의 어플리케이션 에러를 관리하기 위한 단말(100)의 구성에 대하여 도 3을 참조하여 살펴보도록 한다.
도 3은 본 발명의 실시 예에 따른 어플리케이션 에러 처리 모듈을 포함하는 단말의 구성을 도시한 블록도이다.
도 3은 본 발명의 실시예에 따른 단말(100)의 주요 구성을 도시한 블록도이다.
도 3에 나타낸 단말(100)의 주요 구성은, 기능적으로 구분되는 요소들을 나타낸 것으로서, 실제 물리적으로는 서로 통합 구현될 수도 있다.
도 3을 참조하면, 본 발명의 실시예에 따른 단말(100)은, 제어부(300), 통신부(310), 저장부(320), 출력부(330) 및 입력부(340)를 포함하여 구성될 수 있다.
여기서, 단말(100)을 구성하는 제어부(300), 통신부(310), 저장부(320), 출력부(330) 및 입력부(340)는 발명에서 기술하는 기능을 수행하기 위해 도 2에 도시된 바와 같이, 상호 기능적으로 연결된다.
그러면, 각 구성 요소에 대해 보다 구체적으로 설명하도록 한다.
먼저, 제어부(300)는 단말(100)의 전반적인 제어를 수행하는 것으로, 예컨대 단말(100)을 구성하는 각 구성 요소에 전원 공급 및 기능 수행을 위한 신호의 흐름을 제어하게 된다. 특히, 본 발명에 따른 제어부(300)는 어플리케이션 에러 처리모듈(10)을 구비하여, 단말 내 저장된 어플리케이션에 대한 에러 발생 시 상기 에러 처리모듈(10)을 통해 에러가 발생한 어플리케이션의 에러 정보를 서비스 서버(120)로 전송하기 위한 어플리케이션 에러 처리장치(10)를 포함한다.
상기와 같이 본 발명에서는 네트워크 감도를 실시간으로 모니터링하다가 일정 감도 이상의 네트워크 환경이 되었을 때 단말(100)이 서비스 서버(120)로 에러 메시지를 전송하도록 하고, 일정 감도 미만의 네트워크 환경일 경우에는 단말(100)내에 에러 정보를 누적 저장하도록 한다. 즉, 본 발명에서는 네트워크 환경을 고려해서 에러 메시지를 전송할 시점의 네트워크 환경이 메시지를 전송할 수 있는 환경일 경우에만 전송함으로써, 네트워크 단절이나 신호감도 약화 등으로 인해 네트워크 기반의 메시지 전달이 실패할 가능성을 줄일 수 있도록 한다.
또한, 본 발명에서는 에러 메시지를 전송할 시 인코딩하여 전송함으로써 무선 네트워크 특성상 보안에 취약할 수 있는 단점을 보완하도록 한다.
다시 도 3으로 돌아서가서 설명하면, 통신부(310)는 무선 방식뿐만 아니라 다양한 통신 방식을 통해서 데이터를 송수신할 수 있다. 더하여, 통신부(310)는 하나 이상의 통신 방식을 사용하여 데이터를 송수신할 수 있으며, 이를 위하여 통신부(310)는 각각 서로 다른 통신 방식에 따라서 데이터를 송수신하는 복수의 통신 모듈을 포함할 수 있다.
저장부(320)는 단말(100)의 동작과 관련된 프로그램 및 사용자 데이터를 저장하기 위한 구성으로서, 특히 본 발명의 저장부(320)는 적어도 하나 이상의 어플리케이션(321)을 저장하고, 어플리케이션의 에러 정보를 에러 종류별 또는 발생 빈도별로 누적 저장한다. 이러한 저장부(320)는 크게 프로그램 영역과 데이터 영역을 포함할 수 있다. 프로그램 영역은 단말(100)을 부팅시키는 운영체제(OS)와 같은 단말(100) 구동과 관련된 정보들을 저장한다. 데이터 영역은 단말(100)의 사용에 따라 발생되는 데이터가 저장되는 영역이다. 또한, 저장부(320)는 플래시 메모리(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로(multimedia card micro) 타입의 메모리(예컨대, SD 또는 XD 메모리 등), 램(RAM), 롬(ROM) 등의 저장매체를 포함하여 구성될 수 있다.
출력부(330)는 단말(100)의 기능 수행 중에 발생하는 일련의 동작 상태 및 동작 결과 등에 대한 정보를 표시한다. 이러한, 출력부(330)는 입력부(340)와 함께 하나의 터치스크린의 형태로 구현될 수도 있으며, 입력부(340)와 함께 터치 스크린으로 구현되는 경우, 사용자의 기 설정된 동작, 터치 입력에 따라 발생되는 다양한 정보들을 표시할 수 있다. 또한 출력부(330)는 표시부(도면 미도시.)와 음성 처리부(도면 미도시.)를 포함하여 구성될 수 있다. 표시부는 단말(100)의 동작 상태 및 동작 결과를 표시하거나 소정의 정보를 사용자에게 제공하기 위한 출력 수단으로서, 각종 메뉴를 비롯하여 사용자가 입력한 정보 또는 사용자에게 제공하는 정보를 출력한다. 이러한 표시부는 액정 표시 장치(Liquid Crystal Display), OLED(Organic Light Emitted Diode) 등의 평판 표시 패널의 형태로 형성될 수 있다. 또한, 표시부는 제조 형태에 따라 표시 패널과 터치 패널을 포함하는 구조로 제작될 수 있다. 그리고, 음성 처리부는 마이크 및 스피커 등의 가청음 인식 수단이나 가청음 출력 수단에 연결되어, 인식된 음성을 음성 데이터로 변환하여 제어부(300)로 출력하거나, 제어부(300)를 통해 입력된 음성 데이터를 스피커를 통해 가청음으로 출력되도록 처리한다.
입력부(340)는 사용자로부터 입력되는 숫자 및 문자 정보 등의 다양한 정보가 입력되는 신호를 제어부(300)로 전달한다. 이러한 입력부(340)는 키보드나 키패드와 같은 키 입력 수단, 터치센서나 터치 패드와 같은 터치 입력 수단, 음성 입력 수단, 자이로 센서, 지자기 센서, 가속도 센서와 근접 센서, 그리고 카메라 중 적어도 하나 이상을 포함하여 이루어지는 제스처 입력 수단 중 하나 이상을 포함할 수도 있으며, 이 외에도 현재 개발 중이거나 향후 개발될 수 있는 모든 형태의 입력 수단이 포함될 수 있다.
도 4는 본 발명의 실시 예에 따른 어플리케이션 에러 관리를 위한 서비스 서버의 구성을 보다 상세히 나타낸 블록도이다.
도 4를 참조하면, 본 발명의 서비스 서버(120)는 서버 제어부(400), 서버 통신부(410) 및 서버 저장부(420)의 구성을 포함할 수 있다. 추가로 서비스 서버(120)는 관리자에 의한 장치 운용 제어나 정보 입력 등을 위한 입력부, 표시부 등을 더 포함할 수도 있을 것이다.
이와 같은 구성의 서비스 서버(120)는 서버 통신부(410)를 통하여 통신망(110) 접속을 수행하고, 통신망(110)을 통해 단말(100) 및 관리자 단말(130)과의 신호 송수신을 수행할 수 있다.
서버 저장부(420)는 어플리케이션 에러 처리 동작과 관련된 정보를 저장한다. 특히 본 발명에 따른 서버 저장부(420)는 에러 처리를 위한 적어도 하나 이상의 에러 처리 객체를 저장하고, 에러 타입 별로 상기 에러 처리 객체를 각각 매핑시켜 저장하고, 단말(100)로부터 수신한 인코딩된 에러 메시지에 대하여 디코딩하기 위한 알고리즘을 저장한다. 또한, 서버 저장부(420)는 에러 타입에 대응되는 등급 정보, 등급에 따라 에러 메시지 수신을 알리기 위한 관리자 단말 정보를 저장한다. 이러한 서버 저장부(420)는 플래시 메모리(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로(multimedia card micro) 타입의 메모리(예컨대, SD 또는 XD 메모리 등), 램(RAM), 롬(ROM) 등의 저장매체를 포함하여 구성될 수 있다.
서버 제어부(400)는 서비스 서버(120)의 운용을 위한 다양한 신호 처리와 데이터 처리를 지원하는 구성이다. 특히, 본 발명에 따른 서버 제어부(400)는 단말(100)로부터 에러 정보를 포함하는 에러 메시지가 수신되면, 서버 저장부(420) 저장된 알고리즘을 기반으로 디코딩한 후 디코딩한 에러 메시지에 포함된 에러 타입에 매핑되어 있는 에러 처리 객체를 확인한다. 이후, 서버 제어부(300)는 확인한 에러 타입에 매핑되어 있는 에러 처리 객체를 확인하고, 확인한 에러 처리 객체를 이용하여 에러를 처리한다.
이러한, 서버 제어부(400)는 업데이트 할 신규 에러 종류가 있으면, 에러 타입과 에러 타입에 매핑된 에러 처리 객체만 제작하면 되므로 확장성 있게 에러 처리가 가능하게 될 것이다.
또한, 서버 제어부(400)는 단말(100)로부터 에러 메시지를 수신하면, 기 등록된 관리자 단말을 확인하여 확인된 관리자 단말로 미리 설정된 방식으로 에러 메시지 수신을 알리도록 제어한다. 여기서, 미리 설정된 방식은 메일(Mail), 단문 메시지(SMS), 멀티 메시지 서비스(MSS) 중 적어도 하나의 방식이 될 수 있다. 하지만, 에러 메시지 수신을 알리기 위한 알림 메시지 전송 방식은 메시지 수신을 알릴 수 있는 방식이라면 어떠한 방식도 적용이 가능하므로, 상기에서 언급한 방식에 한정되는 것은 아니다.
이때, 서버 제어부(400)는 관리자 단말로 에러 메시지 수신을 알릴 시 에러 타입에 대응되는 등급을 확인하고, 확인된 등급에 따라 미리 설정된 관리자 단말로 에러 메시지 수신을 알리도록 제어할 수 있을 것이다.
상기한 바와 같이 본 발명에 따른 서버 제어부(400)는 에러를 등급별로 우선순위를 매겨 관리하고, 우선순위별 즉 등급별로 정해진 담당자에게 에러 메시지 수신을 알리도록 한다. 즉, 우선순위에 따라 에러 메시지 수신을 알리기 위한 담당자 레벨이 정해져 있다. 예를 들어, 1급은 본부장 이상, 2급은 팀장레벨, 3급은 일반 운영자 레벨로 정하고, 에러 등급에 따라 정해진 관리자 단말에게 알리도록 하는 것이다.
도 5는 본 발명의 실시 예에 따른 어플리케이션 에러 관리를 위한 무선 통신 시스템에서 어플리케이션 에러 관리를 위한 단말, 서비스 서버 및 관리자 단말 간의 송수신되는 신호 흐름도이다.
우선, 단말(100)은 어플리케이션에 대한 에러가 발생하면, 네트워크 감도를 확인한다.(S500)
만약, 확인한 네트워크 감도가 미리 설정된 감도 이상이면, 단말(100)은 에러가 발생한 어플리케이션에 대한 에러 정보를 포함하는 에러 메시지를 생성하고, 생성한 에러 메시지를 미리 설정된 방식의 알고리즘을 기반으로 인코딩한 후 서비스 서버(120)로 전송한다.(S503)
하지만, 만약 확인한 네트워크 감도가 미리 설정된 감도 미만이면, 단말(100)은 에러 정보를 에러 종류별 또는 발생 빈도별로 누적 저장한다.(S502) 이와 같이 네트워크 환경이 메시지를 안전하게 전송하지 못할 정도의 환경인 경우에는 실시간으로 네트워크 환경을 모니터링하다가 네트워크 감도가 미리 설정된 감도 이상 즉, 네트워크 환경이 좋아지게 되면, 단말(100)은 저장된 에러 정보를 포함하는 에러 메시지를 서비스 서버(120)로 전송한다. 이때, 전송되는 에러 메시지는 보안을 위해 미리 설정된 설정된 방식의 알고리즘을 기반으로 인코딩한 후 서비스 서버(120)로 전송할 수 있을 것이다.
이와 같이 단말(100)로부터 에러 메시지를 수신한 서비스 서버(120)는 에러 메시지에 포함된 에러 타입을 분석한다.(S504) 이때, 단말(100)로부터 수신한 에러 메시지가 특정 알고리즘을 기반으로 인코딩된 에러 메시지인 경우 인코딩 시 사용한 알고리즘을 이용하여 에러 메시지를 디코딩한 후 디코딩한 에러 메시지에 포함된 에러 타입을 분석해야 할 것이다. 이를 위해서는 서비스 서버(120)는 단말(100)로부터 수신한 인코딩된 에러 메시지에 대하여 디코딩하기 위한 알고리즘을 미리 저장하고 있어야 할 것이다.
이후, 서비스 서버(120)는 에러 타입에 대응되는 등급에 따라 미리 설정된 관리자 단말(130)로 에러 메시지 수신을 알리기 위한 알림 메시지를 전송한다.(S504 ~ S506) 이때, 알림 메시지에는 에러 정보를 포함시켜 전송할 수 있을 것이다.
이후, 서비스 서버(120)는 분석한 에러 타입에 매핑되어 있는 에러 처리를 위한 에러 처리 객체를 확인하고, 확인된 에러 처리 객체를 이용하여 에러를 처리한다.(S508 ~ S510)
그러면 이제 도 6을 참조하여 본 발명의 실시 예에 따른 단말(100)에서 어플리케이션 에러 처리 과정을 설명하도록 한다.
도 6을 참조하면, 단말(100)은 저장된 어플리케이션에 대한 에러를 실시간으로 모니터링하고, 모니터링하는 중 어플리케이션에 대한 에러가 발생하면, 에러가 발생한 어플리케이션에 대한 에러 정보를 확인한다.(S600 ~ S604)
이후, 단말(100)은 네트워크 감도를 확인하고, 확인한 네트워크 감도가 미리 설정된 감도 이상이면 에러 정보를 포함하는 에러 메시지를 미리 설정된 방식의 알고리즘을 기반으로 인코딩한 후 서비스 서버(120)로 전송한다.(S605 ~ S607)
하지만, S605단계 검사 결과 네트워크 감도가 미리 설정된 감도 미만이면 상기 에러 정보를 에러 종류별 또는 발생 빈도별로 누적 저장하고, 네트워크 감도를 실시간으로 모니터링한다. 만약, 네트워크 감도가 미리 설정된 감도 이상이 되면 단말(100)은 저장된 에러 정보를 포함하는 에러 메시지를 생성하고, 생성한 에러 메시지를 미리 설정된 방식의 알고리즘을 기반으로 인코딩한 후 서비스 서버(120)로 전송한다.
다음으로, 도 7을 참조하여 본 발명의 실시 예에 따른 서비스 서버(120)에서 어플리케이션 에러 처리 과정을 설명하도록 한다.
본 발명에 따른 서비스 서버(120)는 에러 처리를 위한 적어도 하나 이상의 에러 처리 객체를 저장하고, 에러 타입 별로 상기 에러 처리 객체를 각각 매핑시켜 미리 저장한다. 또한, 서비스 서버(120)는 단말(100)로부터 수신한 인코딩된 에러 메시지에 대하여 디코딩하기 위한 알고리즘을 미리 저장한다.
도 7을 참조하면, 서비스 서버(120)는 단말(100)로부터 에러 메시지가 수신되면, 수신한 에러 메시지에 포함된 에러 정보를 확인한다. 이때, 서비스 서버(120)는 단말(100)로부터 인코딩된 에러 메시지 수신 시 미리 저장된 알고리즘을 기반으로 수신한 에러 메시지를 디코딩한 후 에러 정보를 확인할 것이다. 또한, 에러 정보는 에러 타입, 어플리케이션 아이디, 에러 발생 소스 코드 파일 이름, 에러 발생 소스 코드 위치, 에러 발생한 콜 스텍(call stack) 중 적어도 하나 이상을 포함하는 정보이다. 따라서, 서비스 서버(120)는 이와 같은 에러 정보 중 에러 타입을 분석한다.(S702)
서비스 서버(120)는 에러 타입에 대응되는 등급을 확인하고, 확인된 등급에 따라 미리 설정된 관리자 단말로 에러 메시지 수신을 알리기 위한 알림 메시지를 전송한다.(S704) 이때, 전송되는 알림 메시지는 에러 정보를 포함한 메시지일 수 있다.
이후, 서비스 서버(120)는 에러 타입에 매핑되어 있는 에러 처리 객체를 확인하고, 확인한 에러 처리 객체를 이용하여 에러를 처리한다.(S706 ~ S708)
본 발명에 따른 어플리케이션 에러 관리를 위한 방법은 다양한 컴퓨터 수단을 통하여 판독 가능한 소프트웨어 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM, Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다.
아울러, 본 발명에 따른 장치는 하나 이상의 프로세서로 하여금 앞서 설명한 기능들과 프로세스를 수행하도록 하는 명령에 의하여 구동될 수 있다. 예를 들어 그러한 명령으로는, 예컨대 JavaScript나 ECMAScript 명령 등의 스크립트 명령과 같은 해석되는 명령이나 실행 가능한 코드 혹은 컴퓨터로 판독 가능한 매체에 저장되는 기타의 명령이 포함될 수 있다. 나아가 본 발명에 따른 장치는 서버 팜(Server Farm)과 같이 네트워크에 걸쳐서 분산형으로 구현될 수 있으며, 혹은 단일의 컴퓨터 장치에서 구현될 수도 있다.
또한, 본 발명에 따른 장치에 탑재되고 본 발명에 따른 어플리케이션 에러 관리를 위한 방법을 실행하는 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일 되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.
아울러, 본 발명에 따른 어플리케이션 에러 관리를 위한 방법을 설명하는데 있어서, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.
본 발명은 어플리케이션 에러 관리를 위한 장치 및 방법에 관한 것으로서, 이러한 본 발명은 더욱 상세하게는 단말에 저장된 모든 어플리케이션에 대한 에러를 실시간으로 모니터링할 수 있는 모듈을 구비하고, 이 모듈을 통해 어플리케이션에 대한 에러 발생 시 발생한 어플리케이션의 에러 정보를 서비스 서버로 전송하여 에러를 처리함과 아울러 관리자에게 이를 알리도록 하여 에러에 대한 처리를 위한 방식을 일원화시켜 관리할 수 있고, 에러 정보를 통해 에러 원인을 정확하게 파악할 수 있을 뿐 아니라, 에러 원인 파악까지의 시간을 최소화시킴으로써 모바일 어플리케이션에 대한 오류 관리 기술을 발전시킬 수 있다.
10: 어플리케이션 에러 처리장치 21: 에러 모니터링부
22: 네트워크 감도 모니터링부 23: 에러 정보 생성부
24: 에러 메시지 처리부 100: 단말
110: 통신망 120: 서비스 서버
130: 관리자 단말 300: 제어부
310: 통신부 320: 저장부
321: 어플리케이션 330: 출력부
340: 입력부 400: 서버 제어부
410: 서버 통신부 420: 서버 저장부

Claims (7)

  1. 어플리케이션에 대한 에러 발생 여부를 실시간으로 모니터링하는 에러 모니터링부;
    네트워크 감도를 모니터링하는 네트워크 감도 모니터링부;
    에러 발생한 어플리케이션에 대한 에러 정보를 생성하는 에러 정보 생성부;
    상기 에러 모니터링부를 통해 어플리케이션에 대한 에러 발생이 모니터링되면, 상기 네트워크 감도 모니터링부를 통해 네트워크 감도를 확인하고, 상기 확인한 네트워크 감도가 미리 설정된 감도 이상이면 상기 에러 정보 생성부를 통해 생성된 에러가 발생한 어플리케이션에 대한 에러 정보를 포함하는 에러 메시지를 생성하여 서비스 서버로 전송하는 에러 메시지 처리부;
    를 포함하는 것을 특징으로 하는 어플리케이션 에러 처리장치.
  2. 제1항에 있어서, 상기 에러 메시지 처리부는,
    상기 확인한 네트워크 감도가 미리 설정된 감도 미만이면, 상기 생성한 에러 정보를 저장하고, 상기 네트워크 감도 모니터링부를 통해 실시간으로 네트워크 감도를 모니터링하여 네트워크 감도가 미리 설정된 감도 이상이 되면 상기 저장한 에러 정보를 포함하는 에러 메시지를 생성하고, 상기 생성한 에러 메시지를 상기 서비스 서버로 전송하는 것을 특징으로 하는 어플리케이션 에러 처리장치.
  3. 제1항에 있어서, 상기 에러 정보는,
    에러 타입, 어플리케이션 아이디, 에러 발생 소스 코드 파일 이름, 에러 발생 소스 코드 위치, 에러 발생한 콜 스텍(call stack) 중 적어도 하나 이상을 포함하는 정보인 것을 특징으로 하는 어플리케이션 에러 처리장치.
  4. 통신망을 통해 송수신되는 신호를 처리하기 위한 서버 통신부;
    에러 처리를 위한 적어도 하나 이상의 에러 처리 객체를 저장하고, 에러 타입 별로 상기 에러 처리 객체를 각각 매핑시켜 저장하는 서버 저장부;
    에러 정보를 포함하는 에러 메시지가 수신되면, 수신한 에러 메시지에 포함된 에러 타입에 매핑되어 있는 에러 처리 객체를 확인하고, 확인한 에러 처리 객체를 이용하여 에러를 처리하는 서버 제어부;
    를 포함하는 것을 특징으로 하는 서비스 서버.
  5. 단말에서 실행중인 어플리케이션에 대한 에러를 실시간으로 모니터링하는 과정;
    상기 모니터링하는 중 어플리케이션에 대한 에러가 발생하면, 상기 에러가 발생한 어플리케이션에 대한 에러 정보를 확인하는 과정;
    네트워크 감도를 확인하는 과정과;
    상기 확인한 네트워크 감도가 미리 설정된 감도 이상이면 상기 에러 정보를 포함하는 에러 메시지를 생성하고, 생성한 에러 메시지를 서비스 서버로 전송하는 과정;
    을 포함하는 것을 특징으로 하는 단말에서의 에러 관리 방법.
  6. 제5항에 있어서,
    상기 확인한 네트워크 감도가 미리 설정된 감도 미만이면 상기 에러 정보를 에러 종류별 또는 발생 빈도별로 누적 저장하는 과정;
    상기 저장하는 과정 수행 후 상기 네트워크 감도를 모니터링하여 상기 네트워크 감도가 미리 설정된 감도 이상이 되면 상기 저장된 에러 정보를 포함하는 에러 메시지를 생성하고, 생성한 에러 메시지를 상기 서비스 서버로 전송하는 과정;
    을 더 포함하는 것을 특징으로 하는 단말에서의 에러 관리 방법.
  7. 에러 처리를 위한 적어도 하나 이상의 에러 처리 객체를 저장하고, 에러 타입 별로 상기 에러 처리 객체를 각각 매핑시켜 저장하는 과정;
    에러 정보를 포함하는 에러 메시지가 수신되면, 상기 수신한 에러 메시지에 포함된 에러 타입에 매핑되어 있는 에러 처리 객체를 확인하는 과정;
    상기 확인한 에러 처리 객체를 이용하여 에러를 처리하는 과정;
    을 포함하는 것을 특징으로 하는 서비스 서버에서의 에러 관리 방법.
KR1020130129446A 2013-10-29 2013-10-29 어플리케이션 에러 관리를 위한 장치 및 방법 KR20150049201A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130129446A KR20150049201A (ko) 2013-10-29 2013-10-29 어플리케이션 에러 관리를 위한 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130129446A KR20150049201A (ko) 2013-10-29 2013-10-29 어플리케이션 에러 관리를 위한 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20150049201A true KR20150049201A (ko) 2015-05-08

Family

ID=53387331

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130129446A KR20150049201A (ko) 2013-10-29 2013-10-29 어플리케이션 에러 관리를 위한 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20150049201A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180037342A (ko) * 2016-10-04 2018-04-12 주식회사 리나소프트 어플리케이션 에러 모니터링 및 통계관리 서비스 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180037342A (ko) * 2016-10-04 2018-04-12 주식회사 리나소프트 어플리케이션 에러 모니터링 및 통계관리 서비스 및 방법

Similar Documents

Publication Publication Date Title
CN109040316B (zh) Http服务处理方法和装置
KR101093459B1 (ko) 이동 디바이스를 위한 애플리케이션 로깅 인터페이스
CN106708734B (zh) 软件异常检测方法及装置
US10176327B2 (en) Method and device for preventing application in an operating system from being uninstalled
CN107329901B (zh) 数据包抓取方法、终端、服务器和存储介质
US11301313B2 (en) Collaborative application testing
US10142035B2 (en) Information transmission method, apparatus and system
US9407586B2 (en) Method and system for cross device notification
US11990130B2 (en) Method, apparatus, device and computer storage medium for processing voices
CN110881224B (zh) 一种网络长连接方法、装置、设备及存储介质
CN105389241B (zh) 移动终端防骚扰工具的性能测试方法及***
KR20150079379A (ko) 중간자(MITM: man in the middle) 연결을 인식하기 위한 장치, 시스템, 및 방법
KR20150049201A (ko) 어플리케이션 에러 관리를 위한 장치 및 방법
CN109558732A (zh) 一种防止应用程序文件被篡改的方法及服务器
WO2020165789A1 (en) Monitoring process on iot device
CN105978878A (zh) 网页验证方法及装置
CN109783261A (zh) 终端应用的崩溃处理方法及装置、电子设备、存储介质
CN114020513A (zh) 一种处理日志信息的方法和装置
CN105791253B (zh) 一种获取网站的认证信息的方法和装置
KR20140082395A (ko) 파일 이름 제어 방법 및 그 전자 장치
KR20180105965A (ko) 긴급 호를 제공하는 전자 장치 및 방법, 그리고 이를 위한 서버
CN111382381B (zh) 一种用户数据共享方法、装置、移动终端及存储介质
CN109960659A (zh) 用于检测应用程序的方法和装置
KR102086590B1 (ko) 전자통신기기를 보호하는 보호 시스템, 장치, 및 그 방법
CN110489276B (zh) 基于业务页面的验证服务的容灾方法和装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X601 Decision of rejection after re-examination