KR100600992B1 - Apparatus and method for logging history of mobile communication terminal - Google Patents

Apparatus and method for logging history of mobile communication terminal Download PDF

Info

Publication number
KR100600992B1
KR100600992B1 KR1020040106527A KR20040106527A KR100600992B1 KR 100600992 B1 KR100600992 B1 KR 100600992B1 KR 1020040106527 A KR1020040106527 A KR 1020040106527A KR 20040106527 A KR20040106527 A KR 20040106527A KR 100600992 B1 KR100600992 B1 KR 100600992B1
Authority
KR
South Korea
Prior art keywords
history
exception
state
ram
event
Prior art date
Application number
KR1020040106527A
Other languages
Korean (ko)
Other versions
KR20060067679A (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 KR1020040106527A priority Critical patent/KR100600992B1/en
Publication of KR20060067679A publication Critical patent/KR20060067679A/en
Application granted granted Critical
Publication of KR100600992B1 publication Critical patent/KR100600992B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/36Memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/60Details of telephonic subscriber devices logging of communication history, e.g. outgoing or incoming calls, missed calls, messages or URLs

Abstract

본 발명은 상태 변수 히스토리를 기록하여 이동 통신 단말기에서 발생한 문제의 원인을 추적할 수 있도록 하는 이동 통신 단말기의 히스토리 기록 장치 및 방법에 관한 것으로, 정상 동작중인 어플리케이션부의 상태 변경/이벤트 발생에 따라 생성되는 히스토리 데이터를 RAM에 저장하는 히스토리 업데이트부와; 예외 상황이 발생한 상기 어플리케이션부에 의해 호출되어 상기 어플리케이션에서 발생한 예외 상황을 처리하는 예외 처리부와; 상기 예외 처리부에 의해 호출되어 상기 RAM에 기록되어 있는 히스토리 데이터를 비휘발성 메모리로 덤프시키는 히스토리 로그부와; 상기 히스토리 로그부에 의해 호출되어 상기 비휘발성 메모리로 덤프된 히스토리 데이터를 상기 비휘발성 메모리에 기록하는 디바이스 드라이버를 구비하여 이루어지는 것이 바람직하다.The present invention relates to a history recording apparatus and method of a mobile communication terminal for recording a state variable history to track a cause of a problem occurring in a mobile communication terminal. A history updating unit which stores history data in RAM; An exception processing unit which is called by the application unit where an exception situation has occurred and processes the exception situation occurring in the application; A history log unit which is called by the exception processing unit and dumps the historical data recorded in the RAM to a nonvolatile memory; And a device driver for recording the historical data, which is called by the history log section and dumped to the nonvolatile memory, to the nonvolatile memory.

히스토리, 상태 변수, 이벤트, 마이크로 프로세서, 예외 처리부History, state variables, events, microprocessors, exception handlers

Description

이동 통신 단말기의 히스토리 기록 장치 및 방법{APPARATUS AND METHOD FOR LOGGING HISTORY OF MOBILE COMMUNICATION TERMINAL} Apparatus and method for recording history of mobile terminal {APPARATUS AND METHOD FOR LOGGING HISTORY OF MOBILE COMMUNICATION TERMINAL}             

도 1은 본 발명의 일 실시예에 따른 히스토리 기록 장치를 구비하는 이동 통신 단말기의 구성을 예시적으로 보인 도면.1 is a view showing the configuration of a mobile communication terminal having a history recording apparatus according to an embodiment of the present invention by way of example.

도 2는 본 발명의 일 실시예에 따른 이동 통신 단말기의 히스토리 기록 방법을 설명하기 위한 플로우챠트.2 is a flowchart illustrating a history recording method of a mobile communication terminal according to an embodiment of the present invention.

*** 도면의 주요 부분에 대한 부호의 설명 ****** Explanation of symbols for the main parts of the drawing ***

10. SRAM, 20. 플래시 메모리,10.SRAM, 20.Flash memory,

30. 어플리케이션부, 40. 히스토리 업데이트부,30. Application unit, 40. History update unit,

50. 예외 처리부, 60. 히스토리 로그부,50. Exception handling section, 60. History logging section,

70. 디바이스 드라이브70. Device Drive

본 발명은 이동 통신 단말기의 히스토리 기록 장치 및 방법에 관한 것으로 서, 특히 상태 변수 히스토리를 기록하여 이동 통신 단말기에서 발생한 문제의 원인을 추적할 수 있도록 하는 이동 통신 단말기의 히스토리 기록 장치 및 방법에 관한 것이다.The present invention relates to a history recording apparatus and method for a mobile communication terminal, and more particularly, to a history recording apparatus and method for recording a state variable history to track the cause of a problem occurring in the mobile communication terminal. .

이동 통신 단말기와 같이 대량 생산되는 임베디드 시스템(Embedded System)은 단말기 사용자가 사용하는 과정에서 소프트웨어 개발자가 예측하지 못한 이유로 문제점이 발견되곤 한다. 그러나, 대규모의 단말기 사용자가 사용하는 임베디드 시스템은 여러가지 이유로 소프트웨어의 동작 상태 등을 중앙 집권적인 방식으로 모니터링할 수 없다.In a mass-produced embedded system such as a mobile communication terminal, a problem is discovered in the process of being used by a terminal user for an unexpected reason by a software developer. However, embedded systems used by large terminal users cannot monitor the operating status of the software in a centralized manner for various reasons.

이에 따라, 현장에서 문제가 발견되고, 발견된 문제로 인하여 지속적으로 단말기를 사용하지 못하게 되어 서비스 센터로 단말기가 회수되기까지는 문제의 분석이 용이하지 않은 문제점이 있다.Accordingly, a problem is found in the field, and there is a problem in that the analysis of the problem is not easy until the terminal is recovered to the service center because the terminal cannot be continuously used due to the found problem.

발견된 문제 중에는, 해당 문제가 간단하게 재현되어 단말기 제조사 측에서 문제를 재현하고 이를 통해 문제점을 분석하여, 발견된 문제에 대한 해결이 비교적 간단하게 이루어지는 경우도 있지만, 문제점이 결과적으로 확인만 됐을 뿐 어떤 과정을 통해 문제가 발생하게 되었는 지를 알아내기 어려운 경우가 많다.Among the problems found, the problem is simply reproduced, and the problem is reproduced by the terminal manufacturer, and the problem can be solved relatively easily. However, the problem is only confirmed as a result. It's often difficult to know what went wrong.

전술한 바와 같이, 결과적으로 나타난 문제점을 확인한다 하더라도 문제의 원인을 파악하기 어려운 이유는, 발견된 문제점이 단기간에 나타나는 것이 아니고 어느 정도 오랜 기간 동안의 사용 과정을 통해 축적된 것이기 때문이다.As described above, even if the resulting problem is confirmed, it is difficult to determine the cause of the problem because the found problem does not appear in a short time, but is accumulated through a use process for a certain length of time.

한편, 문제점은 수백, 수천 가지의 양상으로 나타날 수 있어 대처 방안도 쉽 게 몇가지 방법으로 대응할 수 없는 경우가 많지만, 단말기를 구성하는 마이크로 프로세서 및 그에 상응하는 소프트웨어들은 어느 정도 최소한의 문제점에 대한 결과로 귀결되는 경우가 많다. 그 중 하나가 마이크로 프로세서의 예외 발생과 이를 처리하기 위한 소프트웨어 루틴인 예외 처리부(Exception Handler) 수행 결과이다.On the other hand, problems can appear in hundreds or thousands of ways, and the countermeasures are often difficult to cope with in several ways, but the microprocessors and the corresponding software constituting the terminal are the result of some minimal problems. It often comes down. One of them is the exception occurrence of the microprocessor and the execution result of the exception handler which is a software routine for handling the exception.

예를 들어, 단말기는 종종 잘못된 연산으로 인해 데이터 중단 예외가 발생되면, 이를 처리하기 위해 예외 처리부를 호출하고, 예외 처리부에서 데이터 중단 메시지를 출력하고 동작을 멈추도록 설계되어 있다.For example, a terminal is often designed to call an exception handler to handle a data interruption exception due to an invalid operation, output a data abort message from the exception handler, and stop the operation.

본 발명은 전술한 문제점을 해결하기 위해 안출된 것으로서, 예외 발생에 따라 호출된 예외 처리부에서 문제점이 발생한 원인을 찾아낼 수 있는 정보를 비휘발성 메모리에 저장함으로써, 개발자가 관찰할 수 없는 상황에서 발생된 문제의 발생 경로를 추적할 수 있는 일련의 데이터를 얻을 수 있도록 하는 이동 통신 단말기의 히스토리 기록 장치 및 방법을 제공함에 그 목적이 있다.
The present invention has been made to solve the above-described problem, by storing information in the non-volatile memory that can find the cause of the problem in the exception processing unit is called in accordance with the exception occurs, the situation can not be observed by the developer It is an object of the present invention to provide a history recording apparatus and a method of a mobile communication terminal to obtain a series of data for tracking the path of a problem.

전술한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 이동 통신 단말기의 히스토리 기록 장치는, 정상 동작중인 어플리케이션부의 상태 변경/이벤트 발생에 따라 생성되는 히스토리 데이터를 RAM에 저장하는 히스토리 업데이트부와; 예외 상황이 발생한 상기 어플리케이션부에 의해 호출되어 상기 어플리케이션에서 발생 한 예외 상황을 처리하는 예외 처리부와; 상기 예외 처리부에 의해 호출되어 상기 RAM에 기록되어 있는 히스토리 데이터를 비휘발성 메모리로 덤프시키는 히스토리 로그부와; 상기 히스토리 로그부에 의해 호출되어 상기 비휘발성 메모리로 덤프된 히스토리 데이터를 상기 비휘발성 메모리에 기록하는 디바이스 드라이버를 구비하여 이루어지는 것이 바람직하다.According to an aspect of the present invention, there is provided a history recording apparatus of a mobile communication terminal, comprising: a history updating unit for storing history data generated according to a state change / event occurrence of an application unit in a normal operation; An exception processing unit which is called by the application unit in which an exception situation has occurred and processes the exception situation occurring in the application; A history log unit which is called by the exception processing unit and dumps the historical data recorded in the RAM to a nonvolatile memory; And a device driver for recording the historical data, which is called by the history log section and dumped to the nonvolatile memory, to the nonvolatile memory.

한편, 본 발명의 일 실시예에 따른 이동 통신 단말기의 히스토리 기록 방법은, 문제점 분석에 필요한 요소를 상태 변수 집합(S)과 이벤트 집합(E) 중에서 어느 하나로 정의하는 과정과; 상기 상태 변수 집합(S)과 이벤트 집합(E)의 요소들 중에서 문제점 추적에 필요한 최소한의 요소들만을 선택하여 부분 집합(S, E)을 정의하는 과정과; 상기 정의된 부분 집합(S, E)을 구성하는 요소들의 변경에 따라 상기 요소들에 대한 히스토리(Hi)를 RAM에 업데이트하는 과정과; 상기 요소들에 대한 히스토리를 업데이트하던 중에 예외 상황이 발생하게 되면, 상기 예외 상황이 발생하기 전까지 상기 RAM에 저장된 히스토리 데이터(H={H1, H2, …, Hn})를 비휘발성 메모리로 덤프시켜 저장하는 과정을 포함하여 이루어지는 것이 바람직하다.On the other hand, the history recording method of the mobile communication terminal according to an embodiment of the present invention, the process for defining the element necessary for problem analysis to any one of the state variable set ( S ) and the event set ( E ); Defining a subset (S, E) by selecting only the minimum elements necessary for problem tracking among the elements of the state variable set ( S ) and the event set ( E ); Updating the history (H i ) for the elements in RAM according to the change of the elements constituting the defined subset (S, E); If an exception occurs while updating the history of the elements, the historical data (H = {H 1 , H 2 ,..., H n }) stored in the RAM is stored in the nonvolatile memory until the exception occurs. It is preferable to include a process of dumping and storing.

나아가, 상기 히스토리(Hi)는, 인덱스 i, 상태 변화 발생 유무 값, 발생 이벤트, 변경된 상태 값으로 이루어지는 것이 바람직하다.Further, the history (H i) is preferably made of the index i, the state change has occurred or not value, an event occurs, the changed status.

그리고, 상기 히스토리 업데이트 과정은, 이벤트(ei)가 발생하면, 상태 변화가 있는 지를 판단하는 단계와; 상기 판단결과 상태 변화가 있으면 상태 변수(si)에 변경된 상태 값을 반영시키고, 상태 변화 발생 유무를 나타내는 값(bi)을 참(True)으로 설정한 후, 히스토리(Hi)를 RAM에 업데이트시키는 단계와; 상기 판단결과 상태 변화가 없으면, 상태 변수(si)를 0으로 설정하고, 상태 변화 발생 유무를 나타내는 값(bi)을 거짓(False)으로 설정한 후, 히스토리(Hi)를 RAM에 업데이트시키는 단계와; 추가적인 상태 변화가 있는 지를 판단하여, 추가적인 상태 변화가 있으면, 인덱스(i)를 1증가시키고, 발생 이벤트 변수(ei)는 0으로 설정하고, 상태 변수(si)에 변경된 상태 값을 반영시키고, 상태 변화 발생 유무를 나타내는 값(bi)은 참(True)으로 설정한 후, 히스토리(Hi)를 RAM에 업데이트시키는 단계와; 상기 판단결과 추가적인 상태 변화가 없으면 인덱스(i)를 1증가시키고, 다음 이벤트 발생을 대기하는 단계를 포함하여 이루어지는 것이 바람직하다.The history updating process may include determining whether there is a state change when an event e i occurs; And then, if it is determined that the state change and reflect the modified state values for the state variable (s i), set to a true (True) the values (b i) that indicates the state change has occurred or not, a history of (H i) in the RAM Updating; If it is determined that the state change, the state variable (s i) to set to zero, and set to a value (b i) a false (False) indicating a status change has occurred and then, updates the history (H i) in the RAM Making a step; Determining if there is an additional state change, if there is an additional state change, increase the index (i) by 1, set the occurrence event variable (e i ) to 0, and reflect the changed state value in the state variable (s i ). Setting a value (b i ) indicating whether or not a state change has occurred to True, and then updating the history (H i ) to the RAM; If there is no additional state change as a result of the determination, the index i may be increased by one and waiting for the next event to occur.

이하에서는 첨부한 도면을 참조하여 본 발명의 바람직한 실시예에 따른 이동 통신 단말기의 히스토리 기록 장치 및 방법에 대해서 상세하게 설명한다.Hereinafter, a history recording apparatus and method of a mobile communication terminal according to a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 히스토리 기록 장치를 구비하는 이동 통신 단말기의 구성을 예시적으로 보인 도로, SRAM(10), 플래시 메모리(20), 어플리케이션부(30), 히스토리 업데이트부(40), 예외 처리부(50), 히스토리 로그부(60), 디바이스 드라이버(70)를 구비하여 이루어진다.1 illustrates a road, an SRAM 10, a flash memory 20, an application unit 30, and a history updater showing an exemplary configuration of a mobile communication terminal including a history recording device according to an embodiment of the present invention. 40), an exception processing section 50, a history log section 60, and a device driver 70.

이와 같은 구성에 있어서, SRAM(10)은 정상적으로 동작중인 어플리케이션부 (30)에서의 상태 변경 또는 이벤트 발생에 의해 생성되는 히스토리 데이터를 임시 저장하는 곳으로, 히스토리 데이터가 저장되는 RAM 영역의 크기는 단말기 하드웨어적인 전체 RAM의 크기와 소프트웨어의 복잡성에 따라 결정된다. 여기서, 히스토리 데이터가 저장되는 RAM 영역은 한정되어 있기 때문에 히스토리 데이터 저장 영역으로 할당된 영역에 데이터가 모두 기록된 경우에는 가장 오래된 데이터를 지우고 새로운 데이터를 저장하는 데, 새로운 데이터를 제일 끝에 추가하는 FIFO 방식의 큐(Queue)처럼 갱신되는 방식으로 업데이트할 수 있다.In such a configuration, the SRAM 10 temporarily stores history data generated by a state change or an event occurrence in the application unit 30 that is operating normally, and the size of the RAM area in which the history data is stored is determined by the terminal. It depends on the total amount of RAM in hardware and the complexity of the software. Here, since the RAM area in which the history data is stored is limited, when all the data is recorded in the area allocated as the history data storage area, the oldest data is deleted and the new data is stored. It can be updated in such a way that it is updated like a queue.

플래시 메모리(20)는 어플리케이션부(30)에서의 예외 상황 발생에 따라 SRAM(10)으로부터 덤프(Dump)된 히스토리 데이터를 기지정된 영역에 저장한다.The flash memory 20 stores historical data dumped from the SRAM 10 in a predetermined area in response to occurrence of an exception in the application unit 30.

전술한 바와 같이, 어플리케이션부(30)에서 발생한 히스토리 데이터를 처음부터 플래시 메모리(20)에 저장하지 않고, SRAM(10)에 먼저 저장했다가 예외 상황이 발생했을 때 플래시 메모리(20)로 덤프시켜 저장하는 이유는, 히스토리 기록이 단말기 소프트웨어의 동작에 부담을 주지 않도록 하기 위함이다.As described above, instead of storing the historical data generated in the application unit 30 in the flash memory 20 from the beginning, the data is first stored in the SRAM 10 and dumped to the flash memory 20 when an exception occurs. The reason for storing is to prevent the history record from burdening the operation of the terminal software.

한편, 어플리케이션부(30)는 정상 동작중에 상태 변경 또는 이벤트 발생이 일어나면 히스토리 업데이트부(40)를 통해 SRAM(10)에 히스토리 데이터를 저장하고, 예외 상황이 발생하게 되면 예외 처리부(50)를 호출하게 된다.On the other hand, the application unit 30 stores the history data in the SRAM 10 through the history update unit 40 when a state change or an event occurs during normal operation, and if an exception occurs, calls the exception processing unit 50. Done.

히스토리 업데이트부(40)는 정상 동작중인 어플리케이션부(30)에서 상태 변경 또는 이벤트 발생이 있으면 SRAM(10)에 히스토리 데이터를 저장한다.The history updater 40 stores history data in the SRAM 10 when a state change or an event occurs in the application unit 30 that is operating normally.

예외 처리부(50)는 예외 상황이 발생한 어플리케이션부(30)에 의해 호출되어 어플리케이션부(30)에서 발생한 예외 상황을 처리하고, 히스토리 로그부(60)를 호 출하여 예외 상황이 발생하기 직전까지 SRAM(10)에 기록된 히스토리 데이터를 플래시 메모리(20)로 덤프시킨다.The exception processing unit 50 is called by the application unit 30 in which the exception situation has occurred, processes the exception situation generated in the application unit 30, calls the history log unit 60, and the SRAM until just before the exception occurs. The history data recorded in (10) is dumped to the flash memory 20.

히스토리 로그부(60)는 예외 처리부(50)에 의해 호출되어 SRAM(10)에 저장되어 있는 히스토리 데이터를 플래시 메모리(20)로 덤프시킨다.The history log unit 60 is called by the exception processing unit 50 to dump the history data stored in the SRAM 10 to the flash memory 20.

디바이스 드라이버(70)는 히스토리 로그부(60)에 의해 호출되어 SRAM(10)에서 덤프된 히스토리 데이터를 플래시 메모리(20)에 저장시킨다.The device driver 70 is called by the history log unit 60 to store the history data dumped from the SRAM 10 in the flash memory 20.

본 발명에서 저 수준(Low Level)의 디바이스 드라이버(70)를 사용하는 이유를 살펴보면 다음과 같다.The reason for using the low level device driver 70 in the present invention is as follows.

일반적으로 단말기에서 소프트웨어가 정상적으로 동작하는 경우 비휘발성 메모리인 플래시 메모리(20)에 데이터를 저장하기 위해서는 파일 시스템(File System)을 사용하게 되나, 예외 상황이 발생한 경우에는 소프트웨어 실행 자체가 신뢰성이 없게 되므로, 파일 시스템과 같이 복잡한 소프트웨어는 정상 동작을 보장받을 수 없게 된다. 이에 따라, 소프트웨어의 정상 동작 여부에 의존하지 않는 방식으로 히스토리 데이터를 플래시 메모리(20)에 저장할 수 있어야 한다.In general, when the software operates normally in the terminal, a file system is used to store data in the flash memory 20 which is a nonvolatile memory. However, when an exception occurs, the software execution itself becomes unreliable. For example, complex software such as file systems cannot be guaranteed to work properly. Accordingly, the history data should be stored in the flash memory 20 in a manner that does not depend on whether the software is normally operated.

한편, 이동 통신 단말기에서 비휘발성 저장 장치로 많이 사용되고 있는 플래시 메모리는 비교적 간단한 방식으로 특정 데이터를 정해진 어드레스에 기록할 수 있다. 따라서, 본 발명에서는 디바이스 드라이버(70)를 사용하여 간단한 방식으로 플래시 메모리(20)를 동작시킨다.Meanwhile, a flash memory that is widely used as a nonvolatile storage device in a mobile communication terminal can write specific data at a predetermined address in a relatively simple manner. Therefore, in the present invention, the device driver 70 is used to operate the flash memory 20 in a simple manner.

이하에서는 본 발명의 일 실시예에 따른 이동 통신 단말기의 히스토리 기록 방법에 대해서 설명한다.Hereinafter, a history recording method of a mobile communication terminal according to an embodiment of the present invention will be described.

우선, 본 발명의 설명에 앞서, 마이크로 프로세서를 사용하는 이동 통신 단말기 소프트웨어의 경우, 소프트웨어의 오류 또는 하드웨어의 전기적 신호의 불안정성으로 인해 마이크로 프로세서 수준 실행 오류가 검출되면, 예외가 발생하게 되며, 예외가 발생하는 경우에는 미리 정의된 주소에 위치한 예외 처리부로 분기하게 되어 있다.First of all, prior to the description of the present invention, in the case of mobile communication terminal software using a microprocessor, if a microprocessor level execution error is detected due to an error in the software or an instability of the electrical signal of the hardware, an exception occurs. If it occurs, it branches to the exception handler located at the predefined address.

이에 따라, 각각의 예외 발생시마다 분기되는 예외 처리부 주소가 마이크로 프로세서의 예외 벡터 테이블에 저장되어 있다.Accordingly, an exception processor address branched at each exception occurrence is stored in the exception vector table of the microprocessor.

한편, 문제점을 재현하고 분석하기 위해서 개발자들에게 필요한 요소들이 단순한 형태로 통일되기는 쉽지 않지만, 본 발명에서는 단말기를 구성하고 문제점을 분석하기 위해 필요한 요소를 다음 두 가지로 정의한다. 이는 문제점의 양상과 새로운 기술 도입시 변경이 가능하지만, 어떤 것을 도입하든지 본 발명의 요지에는 영향을 주지 않는다.On the other hand, the elements necessary for developers to reproduce and analyze the problem is not easy to unify in a simple form, the present invention defines the elements necessary to configure the terminal and analyze the problem in the following two ways. This can be changed in the aspect of the problem and the introduction of new technology, but whatever is introduced does not affect the gist of the present invention.

S : 이동 통신 단말기의 소프트웨어 상태 변수에 대한 전체 집합(Full Set) S : Full set of software state variables of mobile communication terminal

예를 들어, UI(User Interface) 어플리케이션 위치, 저장된 사진의 개수, 현재 서비스중인 채널 등For example, the location of the UI (User Interface) application, the number of stored pictures, the channel currently being served, etc.

E : 이동 통신 단말기 내에서 발생하거나 외부에서 인가된 이벤트에 대한 전체 집합 E : whole set of events occurring in the mobile communication terminal or authorized externally

예를 들어, 사용자가 누른 키입력 이벤트, 착신호 발생, SMS 수신 등For example, key press events, incoming calls, SMS received, etc.

단, SE = ØWhere SE = Ø

여기서, SE는 단말기의 소프트웨어를 구성할 수 있는 모든 상태 변수와 이벤트를 모두 포함하는 집합이며, 이 집합에 속하지 않는 요소(Element)를 사용하여 단말기 소프트웨어의 상태를 기술할 수 없음을 밝힌다.Here, S and E are sets that include all state variables and events that can configure the software of the terminal, and state that the state of the terminal software cannot be described using an element that does not belong to this set.

앞서 설명한 바와 같이, SE는 단말기의 소프트웨어를 구성할 수 있는 모든 상태 변수와 이벤트를 모두 포함하는 전체 집합으로, 문제점을 추적하기 위해 SE에 속해 있는 모든 요소를 사용하는 것은 그 수가 너무 방대하기 때문에 현실적인 제약이 너무 많다.As mentioned earlier, S and E are a complete set that includes all the state variables and events that can configure the terminal's software, so using all the elements belonging to S and E to track problems is too many. There are too many realistic constraints because of the sheer volume.

이에 따라, 본 발명에서는 문제 추적에 필요한 최소한의 부분 집합(Sub Set)을 SE로부터 찾아내는 과정이 필요하다.Accordingly, in the present invention, a process of finding a minimum subset from S and E required for problem tracking is required.

즉, 다음과 같이 부분 집합 S와 E, 각 부분 집합에 속한 요소인 s와 e를 정의한다.That is, we define the subsets S and E and the elements s and e belonging to each subset as follows.

S⊂S, E⊂E S⊂ S , E⊂ E

si∈S, i=1, 2, …, ns i ∈S, i = 1, 2,... , n

ei∈@, i=1, 2, …, me i ∈ @, i = 1, 2,... , m

예를 들어, 카메라가 장착되어 있고, 그 밖의 기능은 일반적인 단말기와 동일한 단말기라면, S와 E를 다음과 같이 정의할 수 있다.For example, if a camera is mounted and other functions are the same terminal as a general terminal, S and E can be defined as follows.

S={UI 어플리케이션 ID, 저장된 사진의 개수, 저장된 SMS 개수, 남은 메모리 공간(Kbytes), 현재 서비스중인 채널 번호, 다운로드받은 어플리케이션 개수, 발신자 ID 데이터, 발신호 번호, 등}S = {UI application ID, number of saved photos, number of saved SMS, remaining memory space (Kbytes), channel number currently being serviced, number of downloaded applications, caller ID data, caller ID, etc.}

E={key1, key2, …, Send key, End key, 착신호, 발신 호, SMS 수신, 알람 파이어, 등}E = {key1, key2,... , Send key, End key, Incoming Call, Outgoing Call, SMS Receive, Alarm Fire, etc.}

이상에서 설명한 바와 같이, 결정된 부분 집합 S와 부분 집합 E에 속하는 요소들의 변경에 따라 히스토리(H)가 SRAM(10)에 저장되는 데, SRAM(10)에 저장되는 히스토리(H)는 변경된 개별 si, ei가 되며, si는 상태 값이 변경될 때마다, ei는 이벤트가 발생할 때마다 저장된다.As described above, the history H is stored in the SRAM 10 according to the change of the elements belonging to the determined subset S and the subset E, and the history H stored in the SRAM 10 is changed to individual s. i , e i , s i is stored whenever the status changes, and e i is stored whenever an event occurs.

에러 발생으로 인해 예외 상황이 발생했을 때 RAM 영역이 침범당하는 경우가 때문에 MMU(Memory Management Unit)나 메모리 보호(Memory Protection) 등이 지원되는 마이크로 프로세서를 사용하는 경우에는, RAM 영역을 감시 모드(Supervisor Mode) 권한으로만 억세스 가능하도록 해주는 것이 좋다. 이에 따라, 어플리케이션부(30)에서 SRAM(10)에 히스토리 데이터를 기록하기 위해 사용하는 API(Application Process Invocation)는 감시 모드에서 실행될 수 있어야 한다.If you use a microprocessor that supports Memory Management Unit (MMU), Memory Protection, etc., because the RAM area is invaded when an exception occurs due to an error, the RAM area may be monitored. It's a good idea to only allow access with Mode) privileges. Accordingly, the application process invocation (API) used by the application unit 30 to record the history data in the SRAM 10 should be able to be executed in the monitoring mode.

앞서 설명한 바와 같이, 부분 집합 S와 부분 집합 E에 속하는 요소들의 변경에 따라 히스토리(H)가 SRAM(10)에 저장되는 데, SRAM(10)에 저장되는 히스토리(H)는 다음과 같이 정의된다.As described above, the history H is stored in the SRAM 10 according to the change of the elements belonging to the subset S and the subset E, and the history H stored in the SRAM 10 is defined as follows. .

H={ei, sj}H = {e i , s j }

여기서, i=1~n중에서 변경된 인덱스, j=1~m중에서 변경된 인덱스Where index changed from i = 1 to n, index changed from j = 1 to m

그런데, 상태의 변경은 이벤트 발생보다 빈도수가 높지 않으므로, 히스토리(H)는 다음과 같이 구성되어 상태와 이벤트를 구분해준다.However, since the change of the state is not more frequent than the occurrence of the event, the history H is configured as follows to distinguish the state from the event.

Hi={인덱스 i, 상태 변화 발생 유무(부울 값), 발생 이벤트, [변경된 상태 값]}H i = {index i, presence or absence of state change (boolean value), occurrence event, [change state value]}

여기서, Hi∈H, i=1, 2, …, k(k는 SRAM에 저장되는 총 히스토리 개수)Where H i ∈ H, i = 1, 2,... , k (k is the total number of history stored in SRAM)

전술한 바와 같이, 각 요소가 변경될 때마다 어플리케이션부(30)가 히스토리 업데이트부(40)를 호출하여 생성된 히스토리 데이터를 SRAM(10)에 업데이트시키던 중에, 어플리케이션부(30)에서 예외 상황이 발생하게 되면, 앞서 SRAM(10)에 저장한 히스토리 데이터를 비휘발성 메모리인 플래시 메모리(20)에 저장하게 된다.As described above, an exception occurs in the application unit 30 while the application unit 30 calls the history update unit 40 to update the history data generated by the history update unit 40 each time an element is changed. When generated, the historical data stored in the SRAM 10 is stored in the flash memory 20 which is a nonvolatile memory.

도 2는 본 발명의 일 실시예에 따른 이동 통신 단말기의 히스토리 기록 방법을 설명하기 위한 플로우챠트이다.2 is a flowchart illustrating a history recording method of a mobile communication terminal according to an embodiment of the present invention.

우선, 히스토리 업데이트부(40)는 어플리케이션부(30)에 이벤트(ei)가 발생하게 되면(S10), 상태 변화가 있는 지를 판단하여(S12), 상태 변화가 있으면 상태 변수(si)를 변경된 상태 값으로 세팅하고, 상태 변화 발생 유무를 나타내는 부울값(bi)을 참(True)으로 설정한다(S14).First, when the event e i occurs in the application unit 30 (S10), the history updater 40 determines whether there is a state change (S12), and if there is a state change, the state variable si is selected. The state value is set to the changed state, and a boolean value b i indicating whether a state change occurs is set to true (S14).

한편, 상기한 과정 S12의 판단결과 상태 변화가 없으면 변경된 상태 값이 없으므로, 상태 변수(si)를 0으로 설정하고, 상태 변화 발생 유무를 나타내는 부울값(bi)을 거짓(False)으로 설정한다(S16).On the other hand, if there is no changed state value as a result of the determination of step S12, the state variable s i is set to 0, and a boolean value b i indicating whether or not a state change occurs is set to False. (S16).

이후에는, 상기한 과정 S14 또는 과정 S16을 통해 얻은 히스토리(Hi=i, bi, ei, si)를 SRAM(10)에 업데이트시키고(S18), 추가적인 상태 변화가 있는 지를 판단한다(S20).Thereafter, the history (H i = i, b i , e i , s i ) obtained through the above-described process S14 or process S16 is updated in the SRAM 10 (S18), and it is determined whether there is an additional state change ( S20).

상기한 과정 S20의 판단결과 추가적인 상태 변화가 존재하는 경우에는, 인덱스(i)를 1증가시키고, 새로 발생한 이벤트(ei)가 없으므로 발생 이벤트(ei)를 0으로 설정하고(S22), 상기한 과정 S14로 진행하여 상태 변수(si)에 변경된 상태 값을 반영시키고, 상태 변화 발생 유무를 나타내는 부울값(bi)을 참(True)으로 설정한다.In the case where there is an additional state change as a result of the determination of step S20, the index i is increased by 1, and since there is no new event e i , the occurrence event e i is set to 0 (S22). In step S14, the changed state value is reflected in the state variable s i , and a boolean value b i indicating whether a state change occurs is set to true.

한편, 상기한 과정 S20의 판단결과 추가적인 상태 변화가 존재하지 않는 경우에는, 인덱스(i)를 1증가시키고(S24), 상기한 과정 S10으로 진행하여 다음 이벤트(ei) 발생을 대기한다.On the other hand, if there is no additional state change as a result of the determination of the step S20, the index (i) is increased by one (S24), the process proceeds to the above step S10 and waits for the next event (e i ) generation.

상기한 과정 S10 내지 과정 S24를 반복 수행하여 SRAM(10)에 히스토리 데이터를 업데이트하던 중에, 어플리케이션부(30)에 예외 상황이 발생하게 되면(S26), 예외 상황이 발생한 어플리케이션부(30)에 의해 호출된 히스토리 로그부(60)에서 예외 상황이 발생하기 전까지 SRAM(10)에 기록된 히스토리 데이터(H={H1, H2, …, Hn})를 플래시 메모리(20)로 덤프시키고(S28), 디바이스 드라이버(70)를 호출하여 플래시 메모리(20)로 덤프된 히스토리 데이터를 플래시 메모리(20)에 저장한다(S30).If an exception occurs in the application unit 30 while updating the history data in the SRAM 10 by repeatedly performing the above steps S10 to S24 (S26), the application unit 30 in which the exception occurred has occurred. Dump the history data (H = {H 1 , H 2 ,..., H n }) recorded in the SRAM 10 to the flash memory 20 until an exception occurs in the called history log unit 60 ( In operation S28, the device driver 70 is called to store historical data dumped into the flash memory 20 in the flash memory 20 (S30).

이상에서 살펴본 바와 같이, 플래시 메모리(20)에 저장된 히스토리 데이터(H)는 추후 J-TAG나 특별히 제작된 툴(Tool)를 통해 출력될 수 있다. 예를 들어, PC에서 실행 가능한 히스토리 분석 툴을 사용하면 히스토리 데이터를 알아보기 쉬운 정보로 변경 가능하며 개발자는 이를 통해 문제가 발생한 단말기가 해당 문제점 에 도달하게 된 히스토리를 알게 됨으로써, 문제의 원인을 규명할 수 있게 된다.As described above, the history data H stored in the flash memory 20 may be output later through a J-TAG or a specially manufactured tool. For example, a history analysis tool that can be run on a PC can change the historical data into easy-to-understand information, which allows the developer to know the history of the terminal that caused the problem, thereby identifying the cause of the problem. You can do it.

본 발명의 이동 통신 단말기의 히스토리 기록 장치 및 방법은 전술한 실시예에 국한되지 않고 본 발명의 기술 사상이 허용하는 범위 내에서 다양하게 변형하여 실시할 수 있다.The history recording apparatus and method of the mobile communication terminal of the present invention are not limited to the above-described embodiments, and can be modified in various ways within the scope of the technical idea of the present invention.

이상에서 설명한 바와 같은 본 발명의 이동 통신 단말기의 히스토리 기록 장치 및 방법에 따르면, 정상 동작 중에 발생한 히스토리 데이터를 RAM에 업데이트하다가 예외 상황이 발생하게 되면 제어권을 넘겨받은 예외 처리부가 RAM에 저장되어 있는 히스토리 데이터를 비휘발성 메모리에 덤프시켜 저장함으로써, 개발자가 관찰할 수 없는 상황에서 발생된 문제의 발생 경로를 추적할 수 있는 일련의 데이터를 얻을 수 있게 된다. 이에 따라, 발견된 문제에 대해 보다 빠른 시간 내에 규명하고 대책을 세울 수 있게 되고, 문제점 추적을 위한 인력의 낭비나 시간 낭비를 줄일 수 있게 된다.According to the history recording apparatus and method of the mobile communication terminal of the present invention as described above, when an exception occurs when the history data generated during normal operation is updated in RAM, an exception processing unit, which is given control, is stored in RAM. By dumping data into non-volatile memory and storing it, you get a set of data that allows you to track the path of problems that occur in situations that developers cannot observe. As a result, it is possible to identify and take countermeasures to the problems found in a shorter time, and to reduce the waste of human resources or time for problem tracking.

Claims (4)

정상 동작중인 어플리케이션부의 상태 변경/이벤트 발생에 따라 생성되는 히스토리 데이터를 RAM에 저장하는 히스토리 업데이트부와;A history updating unit for storing history data generated according to a state change / event occurrence of the application unit in normal operation in a RAM; 예외 상황이 발생한 상기 어플리케이션부에 의해 호출되어 상기 어플리케이션에서 발생한 예외 상황을 처리하는 예외 처리부와;An exception processing unit which is called by the application unit where an exception situation has occurred and processes the exception situation occurring in the application; 상기 예외 처리부에 의해 호출되어 상기 RAM에 기록되어 있는 히스토리 데이터를 비휘발성 메모리로 덤프시키는 히스토리 로그부와;A history log unit which is called by the exception processing unit and dumps the historical data recorded in the RAM to a nonvolatile memory; 상기 히스토리 로그부에 의해 호출되어 상기 비휘발성 메모리로 덤프된 히스토리 데이터를 상기 비휘발성 메모리에 기록하는 디바이스 드라이버를 구비하여 이루어지는 이동 통신 단말기의 히스토리 기록 장치.And a device driver for recording the history data, which is called by the history log section and dumped to the nonvolatile memory, to the nonvolatile memory. 문제점 분석에 필요한 요소를 상태 변수 집합(S)과 이벤트 집합(E) 중에서 어느 하나로 정의하는 과정과;Defining an element necessary for problem analysis as one of a state variable set S and an event set E ; 상기 상태 변수 집합(S)과 이벤트 집합(E)의 요소들 중에서 문제점 추적에 필요한 최소한의 요소들만을 선택하여 부분 집합(S, E)을 정의하는 과정과;Defining a subset (S, E) by selecting only the minimum elements necessary for problem tracking among the elements of the state variable set ( S ) and the event set ( E ); 상기 정의된 부분 집합(S, E)을 구성하는 요소들의 변경에 따라 상기 요소들에 대한 히스토리(Hi)를 RAM에 업데이트하는 과정과;Updating the history (H i ) for the elements in RAM according to the change of the elements constituting the defined subset (S, E); 상기 요소들에 대한 히스토리를 업데이트하던 중에 예외 상황이 발생하게 되 면, 상기 예외 상황이 발생하기 전까지 상기 RAM에 저장된 히스토리 데이터(H={H1, H2, …, Hn})를 비휘발성 메모리로 덤프시켜 저장하는 과정을 포함하여 이루어지는 이동 통신 단말기의 히스토리 기록 방법.If an exception occurs while updating the history for the elements, the historical data (H = {H 1 , H 2 ,..., H n }) stored in the RAM is non-volatile until the exception occurs. A history recording method of a mobile communication terminal comprising dumping into a memory and storing the same. 제 2항에 있어서, 상기 히스토리(Hi)는,The method of claim 2, wherein the history (H i ), 인덱스 i, 상태 변화 발생 유무 값, 발생 이벤트, 변경된 상태 값으로 이루어지는 것을 특징으로 하는 이동 통신 단말기의 히스토리 기록 방법.And a status change occurrence value, an occurrence event, and a changed state value. 제 2항에 있어서, 상기 히스토리 업데이트 과정은,The method of claim 2, wherein the history update process comprises: 이벤트(ei)가 발생하면, 상태 변화가 있는 지를 판단하는 단계와;When an event e i occurs, determining whether there is a state change; 상기 판단결과 상태 변화가 있으면 상태 변수(si)에 변경된 상태 값을 반영시키고, 상태 변화 발생 유무를 나타내는 값(bi)을 참(True)으로 설정한 후, 히스토리(Hi)를 RAM에 업데이트시키는 단계와;And then, if it is determined that the state change and reflect the modified state values for the state variable (s i), set to a true (True) the values (b i) that indicates the state change has occurred or not, a history of (H i) in the RAM Updating; 상기 판단결과 상태 변화가 없으면, 상태 변수(si)를 0으로 설정하고, 상태 변화 발생 유무를 나타내는 값(bi)을 거짓(False)으로 설정한 후, 히스토리(Hi)를 RAM에 업데이트시키는 단계와;If it is determined that the state change, the state variable (s i) to set to zero, and set to a value (b i) a false (False) indicating a status change has occurred and then, updates the history (H i) in the RAM Making a step; 추가적인 상태 변화가 있는 지를 판단하여, 추가적인 상태 변화가 있으면, 인덱스(i)를 1증가시키고, 발생 이벤트 변수(ei)는 0으로 설정하고, 상태 변수(si)에 변경된 상태 값을 반영시키고, 상태 변화 발생 유무를 나타내는 값(bi)은 참(True)으로 설정한 후, 히스토리(Hi)를 RAM에 업데이트시키는 단계와;Determining if there is an additional state change, if there is an additional state change, increase the index (i) by 1, set the occurrence event variable (e i ) to 0, and reflect the changed state value in the state variable (s i ). Setting a value (b i ) indicating whether or not a state change has occurred to True, and then updating the history (H i ) to the RAM; 상기 판단결과 추가적인 상태 변화가 없으면 인덱스(i)를 1증가시키고, 다음 이벤트 발생을 대기하는 단계를 포함하여 이루어지는 것을 특징으로 하는 이동 통신 단말기의 히스토리 기록 방법.And if there is no additional state change as a result of the determination, increasing the index i by 1 and waiting for the next event to occur.
KR1020040106527A 2004-12-15 2004-12-15 Apparatus and method for logging history of mobile communication terminal KR100600992B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040106527A KR100600992B1 (en) 2004-12-15 2004-12-15 Apparatus and method for logging history of mobile communication terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040106527A KR100600992B1 (en) 2004-12-15 2004-12-15 Apparatus and method for logging history of mobile communication terminal

Publications (2)

Publication Number Publication Date
KR20060067679A KR20060067679A (en) 2006-06-20
KR100600992B1 true KR100600992B1 (en) 2006-07-13

Family

ID=37162216

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040106527A KR100600992B1 (en) 2004-12-15 2004-12-15 Apparatus and method for logging history of mobile communication terminal

Country Status (1)

Country Link
KR (1) KR100600992B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101654139B1 (en) * 2009-04-28 2016-09-06 삼성전자주식회사 Method and apparatus for managing ue history information at wireless communication network
KR101282891B1 (en) * 2011-06-15 2013-08-23 (주)유비쿼스 Optical Line Termination for managing reset database and the method

Also Published As

Publication number Publication date
KR20060067679A (en) 2006-06-20

Similar Documents

Publication Publication Date Title
CN104272787B (en) Technology for independently reverting to behavior checkpoint
US7765460B2 (en) Out-of-band change detection
EP1622306A2 (en) Event and dependency based failure identification management system and method
EP2859487A1 (en) Evaluating whether to block or allow installation of a software application
KR100733387B1 (en) A system for detecting harmful programs based on monitoring abnormal behaviors and the detection method used therefor
US20100257376A1 (en) System and method for management of plaintext data in a mobile data processing device
CN105094791A (en) Status bar notification storage method and status bar notification storage device
CN110309661A (en) A kind of sensitive data access right management method and device based on control stream
CN103218552A (en) Safety management method and device based on user behavior
CN109657485B (en) Authority processing method and device, terminal equipment and storage medium
CN116305290A (en) System log security detection method and device, electronic equipment and storage medium
KR100600992B1 (en) Apparatus and method for logging history of mobile communication terminal
CN111190761B (en) Log output method and device, storage medium and electronic equipment
CN109783261B (en) Crash processing method and device for terminal application, electronic equipment and storage medium
KR100456512B1 (en) System for detecting a kernel backdoor, method for detecting a kernel backdoor and method for recovering a kernel data using the same
CN115712468A (en) Time information processing method and device, computing equipment and storage medium
EP1146426B1 (en) Dynamic rule sets for generated logs in a network
CN100568812C (en) The Registry Protection method
CN111694676B (en) Processing method and device for key value observation mode
KR101153969B1 (en) Query tool control method for preventing inner users from leaking the personal information and query tool control system therefor
CN115357829A (en) Method and device for exposing and burying point of page control and storage medium
CN113518055B (en) Data security protection processing method and device, storage medium and terminal
CN112231290A (en) Method, device and equipment for processing local log and storage medium
US6581156B1 (en) Method for recording a data state in a data processing system
CN107566596B (en) Incoming call intercepting method and device

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130628

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140704

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150706

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160701

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee