WO2014025090A1 - Method of handling program error, server performing the same and storage media storing the same - Google Patents

Method of handling program error, server performing the same and storage media storing the same Download PDF

Info

Publication number
WO2014025090A1
WO2014025090A1 PCT/KR2012/008344 KR2012008344W WO2014025090A1 WO 2014025090 A1 WO2014025090 A1 WO 2014025090A1 KR 2012008344 W KR2012008344 W KR 2012008344W WO 2014025090 A1 WO2014025090 A1 WO 2014025090A1
Authority
WO
WIPO (PCT)
Prior art keywords
error
program
user terminal
access
access code
Prior art date
Application number
PCT/KR2012/008344
Other languages
French (fr)
Inventor
Sung Gook Jang
Kwang Hee Yoo
Joo Hyun Sung
Hye Jin Jin
Yoon Hyung Lee
Original Assignee
Neowiz Games Co., Ltd.
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 Neowiz Games Co., Ltd. filed Critical Neowiz Games Co., Ltd.
Publication of WO2014025090A1 publication Critical patent/WO2014025090A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • 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

Definitions

  • the present invention relates to a method of handling program error and more particularly, a method of handling program error and a server performing the method enabling a program developer to quickly track and handle a process causing a program error by receiving from a user terminal which has caused the program error a user terminal identifier and at least one program access code associated with a process which has accessed the corresponding program and generating access error information.
  • the Korean Patent Registration No. 10-0890546 relates to a memory error detection technology and more particularly, a memory error detection method capable of detecting memory errors easily by generating an initial block specifying variable for specifying an initial memory block from a memory area allocated for variables included in a computer program and detecting an memory error by using a target block specifying variable for specifying a target memory block before accessing the allocated memory area and the initial block specifying variable.
  • the Korean Laid-open Patent Publication No. 10-2008-0009923 relates to an error detection technology and more particularly, a micro-computing device comprising a first storage unit storing a start address of a target subroutine among a plurality of subroutines; a second storage unit consisting of areas corresponding to addresses configured by variables and storing the plurality of subroutines; a micro-controller accessing a subroutine corresponding to the start address stored in the first storage unit from the second storage unit; and an error detection unit outputting an interrupt signal notifying the micro-controller of an error if it is detected that the micro-controller accesses the address configured by the variable with reference to the first storage unit.
  • the prior technologies provide technologies of detecting errors through a block specifying variable or an address configured by a variable.
  • the prior technologies do not provide a technology for analyzing and handling causes of errors from a viewpoint of a program developer.
  • the present invention has been made in an effort to provide a method of handling program error and a server performing the method enabling a program developer to quickly track and handle a process causing a program error by receiving from a user terminal which has caused the program error a user terminal identifier and at least one program access code associated with a process which has accessed the corresponding program and generating access error information.
  • the present invention attempts to provide a method of handling program error and a server performing the method enabling a program developer to deal with a program error in a specific way by receiving system information of a user terminal at the time of occurrence of the program error and storing the system information by incorporating it into access error information.
  • the present invention attempts to provide a method of handling program error and a server performing the method capable of providing the user with a cause for a program error quickly by determining a process which causes the corresponding program error based on an error access code and an access error code associated with an error process causing the error of the corresponding program.
  • a method of handling a program error is carried out in an error handling server capable of connecting to a user terminal which causes program errors.
  • the method of handling a program error comprises receiving a user terminal identifier from the user terminal; receiving from the user terminal at least one program access code associated with a process which has accessed the program at the time of occurrence of the corresponding program error; and generating access error information by associating the received at least one program access code with the user terminal identifier.
  • the program access code may include a handle data associated with a process which has accessed the program.
  • the receiving at least one program access code further comprises allowing the user terminal to collect the at least one program access code if the error of the corresponding program is an access error.
  • the method of handling a program error further comprises receiving from the user terminal system information of the user terminal at the time of occurrence of the program error and incorporating the received system information into the access error information.
  • the receiving system information of the user terminal further comprises allowing the user terminal to collect particular system information.
  • system information of the user terminal includes at least one of process information, network information, screen display information at the time of occurrence of the program error and specification information of the user terminal.
  • the method of handling a program error further comprises determining at least one process which has accessed the program based on the received at least one program access code and providing the determined at least one process to the user terminal.
  • the method of handling a program error further comprises generating at least one error access code associated with an error process generating an error of the corresponding program; and determining at least one process which has caused the program error against the user terminal based on the generated at least one error access code and the access error information.
  • the generating at least one error access code further comprises determining a common access code included in a program access code associated with other user terminals from among the received at least one program access code; and determining a process corresponding to the determined common access code as the error process.
  • an error handling server may be connected to user terminals which cause program errors.
  • the error handling server comprises a user terminal identifier receiving unit receiving a user terminal identifier from the user terminal; a program access code receiving unit receiving from the user terminal at least one program access code associated with a process which has accessed the program at the time of occurrence of the corresponding program error; and an access error information generation unit generating access error information by associating the received at least one program access code with the user terminal identifier.
  • the program access code may include a handle data associated with a process which has accessed the program.
  • the program access code receiving unit allows the user terminal to collect the at least one program access code if the error of the corresponding program is an access error.
  • the error handling server includes a system information receiving unit receiving from the user terminal system information of the user terminal at the time of occurrence of the program error and the access error information generation unit incorporates the received system information into the access error information.
  • system information receiving unit allows the user terminal to collect particular system information.
  • system information of the user terminal includes at least one of process information, network information, screen display information at the time of occurrence of the program error and specification information of the user terminal.
  • the error handling server includes an access process provision unit determining at least one process which has accessed the program based on the received at least one program access code and providing the determined at least one process to the user terminal.
  • the error handling server includes an error process determination unit generating at least one error access code associated with an error process generating an error of the corresponding program; and determining at least one process which has caused the program error against the user terminal based on the generated at least one error access code and the access error information.
  • the error process determination unit determines a common access code included in a program access code associated with other user terminals from among the received at least one program access code; and determines a process corresponding to the determined common access code as the error process.
  • a storage medium storing a computer program about a method of handling a program error carried out in an error handling server comprises receiving a user terminal identifier from the user terminal; receiving from the user terminal at least one program access code associated with a process which has accessed the program at the time of occurrence of error of the corresponding program; and generating access error information by associating the received at least one program access code with the user terminal identifier.
  • a method of handling a program error according to one embodiment of the present invention and technologies related to the method enable a program developer to quickly track and handle a process causing a program error by receiving from a user terminal which has caused the program error a user terminal identifier and at least one program access code associated with a process which has accessed the corresponding program and generating access error information.
  • a method of handling a program error according to one embodiment of the present invention and technologies related to the method enable a program developer to deal with a program error in a specific way by receiving system information of a user terminal at the time of occurrence of the program error and storing the system information by incorporating it into access error information.
  • a method of handling a program error can provide the user with a cause for a program error quickly by determining a process which causes the corresponding program error based on an error access code and an access error code associated with an error process causing the error of the corresponding program.
  • FIG. 1 illustrates an error handling system according to one embodiment of the present invention
  • FIG. 2 is a block diagram illustrating the error handling server of FIG. 1;
  • FIG. 3 is a flow diagram illustrating an error handling process carried out in an error handling server
  • FIG. 4 is a flow diagram illustrating an error handling process carried out in an error handling server according to one embodiment of the present invention
  • FIG. 5 is a flow diagram illustrating an error handling process carried out in an error handling server according to another embodiment of the present invention.
  • FIG. 6 is a flow diagram illustrating an error handling process carried out in an error handling server according to yet another embodiment of the present invention.
  • first”, “second” and the like have been introduced to distinguish one from the other components; therefore, the technical scope of the present invention should not be limited by those terminologies.
  • a first component may be referred to as a second component and vice versa.
  • Identifying symbols for example, a, b, c, and the like
  • symbols are introduced for the convenience of description; the symbols are not meant to indicate the order of carrying out the corresponding steps and thus individual steps may be carried out according to the order different from a specified order unless otherwise indicated explicitly. In other words, individual steps may be carried out in the same order as specified or actually performed simultaneously or in a reverse order.
  • the present invention may be implemented in the form of computer-readable program codes in a computer-readable storage medium.
  • the computer-readable storage medium includes all kinds of storage devices in which data readable by a computer system are stored. Examples of a storage medium readable by a computer includes ROM, RAM, CD-ROM, magnetic tapes, floppy disks, optical data storage devices, and so on.
  • a storage medium implemented in the form of a carrier wave (for example, data transfer through the Internet) is also included in the examples.
  • a computer-readable storage medium may be distributed across computer systems connected to each other through a network and computer-readable program codes may be stored and carried out in a distributed manner.
  • Terminologies used in this document possess the same meaning as understood by those skilled in the art to which the present invention belongs. Those terminologies defined in a general-use dictionary should be interpreted to coincide with a contextual meaning used in a related technology. Unless otherwise explicitly defined in this document, those terminologies should not be interpreted to possess an ideal or excessively formal meaning.
  • FIG. 1 illustrates a system handling abnormal termination according to one embodiment of the present invention.
  • an error handling system comprises a user terminal 110 and an error handling server 120.
  • the user terminal 110 can be connected to the error handling server 120 through a network (in particular, the Internet).
  • the user terminal 110 includes a computing device capable of carrying out a program by the user.
  • the user terminal 110 may correspond to a desktop computer, a laptop computer, a smart phone, or a tablet personal computer (PC).
  • PC personal computer
  • the user terminal 110 includes an error code detection module.
  • the error code detection module detects an error code by using a GetLastError function at the time of occurrence of a program error.
  • the error code corresponds to a code associated with a cause of the program error.
  • the error code detection module checks the error code for the error of the corresponding program by using the GetLastError function and determines whether the error code corresponds to the one (for example, error code 5) associated with an access error.
  • the user terminal 110 includes a program access code collection module.
  • the program access code collection module if a detected error code corresponds to the error code corresponding to an access error, collects at least one program access code associated with a process which has accessed the corresponding program at the time of occurrence of the program error.
  • the program access code may include handle data.
  • the handle is an integer value assigned by operating system, which corresponds to data permitting indirect access to a kernel object associated with a particular process.
  • the program access code correspond to the data enabling identifying a process which has used a file associated with the corresponding program at the time of occurrence of the program error.
  • the error code detection module checks an error code for an error of the corresponding program by using the GetLastError function and determines that the error code corresponds to the one (for example, error code 5) associated with an access error
  • the program access code collection module collects at least one handle data associated with a process which has accessed the corresponding program at the time of occurrence of the corresponding program error.
  • the user terminal 110 includes a program access code transmission module.
  • the program access code transmission module can transmit at least one program access code to the error handling server 120.
  • the user terminal 110 includes a system information transmission module.
  • the system information transmission module collects system information at the time of occurrence of the corresponding program error and transmits the collected system information to the error handling server 120.
  • the system information includes at least one of process information (for example, process ID and name), network information (for example, network utilization rate or the amount of input and output packet), screen output information (for example, screen shot), and specification information of the user terminal (for example, CPU, RAM, OS information, graphic card, and main board) at the time of occurrence of the program error.
  • process information for example, process ID and name
  • network information for example, network utilization rate or the amount of input and output packet
  • screen output information for example, screen shot
  • specification information of the user terminal for example, CPU, RAM, OS information, graphic card, and main board
  • the error handling server 120 corresponds to a computing device which can be connected to the user terminal 110 through a network.
  • the error handling server 120 can be managed by a program developer company, a program provision service company, or a program management service company.
  • the error handling server 120 will be described with reference to FIG. 2.
  • the error handling server 120 provides the user terminal 110 with an error handling program comprising an error code detection module, a program access code collection module, a program access code transmission module, and a system information transmission module.
  • the error handling program may be implemented in a computer-readable storage medium.
  • FIG. 2 is a block diagram illustrating the error handling server of FIG. 1.
  • the error handling server 120 comprises a user terminal identifier receiving unit 210, a program access code receiving unit 220, an access error information generation unit 230, a system information receiving unit 240, an access process provision unit 250, an error process determination unit 260, and a controller 270.
  • the user terminal identifier receiving unit 210 receives a user terminal identifier from the user terminal 110.
  • the user terminal identifier may include at least one of account information of the user (for example, a user ID), IP (Internet Protocol) address of the user terminal, and MAC (Media Access Control) address of the user terminal.
  • account information of the user for example, a user ID
  • IP Internet Protocol
  • MAC Media Access Control
  • the program access code receiving unit 220 receives at least one program access code from the user terminal 110.
  • the program access code may correspond to a handle data of the user terminal 110, the handle data being associated with a process which has accessed the corresponding program at the time of occurrence of the program error.
  • the handle is an integer value assigned by operating system, which corresponds to data permitting indirect access to a kernel object associated with a particular process.
  • the program access code correspond to the data enabling identifying a process which has used a file associated with the corresponding program at the time of occurrence of the program error.
  • the program access code receiving unit 220 allows the user terminal 110 to collect at least one program access code if the corresponding program error is an access error.
  • the program access code receiving unit 220 transmits a signal corresponding to approval of program access code collection to the user terminal 110 and if the error code detected by the program access code collection module of the user terminal 110 is the one corresponding to access error, allows collecting at least one program access code associated with a process which has accessed the corresponding program at the time of occurrence of the program error.
  • the access error information generation unit 230 generates access error information by associating the received at least one program access code with the user terminal identifier.
  • the access error information generation unit 230 generates access error information by associating at least one program access code received for distinguishing from program access codes of other user terminals 110 with the user terminal identifier.
  • the access error information may be implemented by data including the user terminal identifier and at least one program access code.
  • the access error information generation unit 230 may generate access error information as the data corresponding to ⁇ user1, a, b, c ⁇ by associating the program access code with the user terminal identifier.
  • each of a, b, and c is only an example of the program access code (for example, handle data) and examples of a program access code introduced below for description of the present invention are not meant for limiting the technical scope of the present invention.
  • program access codes denoted by the same alphabet letter correspond to the same program access code while program access codes denoted by a different alphabet letter correspond to a different program access code.
  • the system information receiving unit 240 receives from the user terminal 110 system information of the user terminal 110 at the time of occurrence of the corresponding program error.
  • the system information includes at least one of process information (for example, process ID and name), network information (for example, network utilization rate or the amount of input and output packet), screen output information (for example, screen shot), and specification information of the user terminal 110 (for example, CPU, RAM, OS information, graphic card, and main board) at the time of occurrence of the program error.
  • process information for example, process ID and name
  • network information for example, network utilization rate or the amount of input and output packet
  • screen output information for example, screen shot
  • specification information of the user terminal 110 for example, CPU, RAM, OS information, graphic card, and main board
  • the system information receiving unit 240 allows the user terminal 110 to collect specific system information.
  • the system information receiving unit 240 transmits a signal corresponding to approval of system information collection to the user terminal 110; thereafter, the system information transmission module of the user terminal 110 collects system information at the time of occurrence of the corresponding program error and transmits the collected system information to the error handling server 120.
  • the system information receiving unit 240 is permitted to collect specific system information, a security problem related to collecting personal information can be solved and a program developer can obtain system information of his or her interest only.
  • the access error information generation unit 230 incorporates the received system information into the access error information. More specifically, the access error information generation unit 230 can incorporate the received system information into the access error information by associating the received system information with the user terminal identifier and at least one program access code.
  • the access error information generation unit 230 stores a program access code with which one can identify at least one process, which at the time of occurrence of a program error, has used a file of the corresponding program, together with system information of the user terminal, a program developer may be enabled to analyze the system environment at the time of occurrence of the program error and respond to the access error of the program in a specific manner.
  • the access process provision unit 250 determines at least one access process which has accessed the corresponding program at the time of occurrence of the corresponding program error.
  • the access process provision unit 250 determines at least one access process associated with at least one program access code included in the access error information.
  • the access process provision unit 250 can determine an access process corresponding to ⁇ vaccine process, messenger process ⁇ based on a program access code corresponding to ⁇ a, b ⁇ .
  • the access process provision unit 250 can provide the determined at least one access process to the user terminal 110.
  • the access process provision unit 250 determines at least one process which has used a file of the corresponding program at the time of occurrence of the corresponding program error and provides the determined process to the user terminal 110, the access process provision unit 250 can provide the user with an access process which may be a cause of the corresponding program error.
  • the error process determination unit 260 generates at least one error access code associated with an error process which generates the corresponding program error.
  • an error process refers to a process already determined to generate the corresponding program error and can be configured by a manager of the error handling server 120 beforehand or determined automatically by the error process determination unit 260.
  • the error process determination unit 260 can generate ⁇ c ⁇ and ⁇ a ⁇ corresponding to the handle data associated with the P2P process and the vaccine process as error access codes.
  • the error process determination unit 260 can determine at least one process which has caused a program error based on the generated at least one error access code and access error information generated by the error information generation unit 230.
  • the error process determination unit 260 extracts error access codes included in the access error information and determines the P2P process and the vaccine process, which correspond to the extracted error access codes, as the processes which have caused the program error.
  • the error process determination unit 260 generates a handle data for an error process which has been determined to cause an error of the corresponding program as an error access code and determines from the user terminal 110 whether a handle data associated with a process which has accessed at the time of occurrence of a program error corresponds to the error access code, the process causing a program error can be detected promptly.
  • the error process determination unit 260 from among program access codes received from the user terminal 110, can determine common access codes which are also included in the program access codes received from other user terminals 110.
  • the process corresponding to a determined common access code may be determined as the error process.
  • the error process determination unit 260 may determine a handle data corresponding to ⁇ a ⁇ as a common access code and determine a vaccine process which is associated with ⁇ a ⁇ as the error process. In other words, the error process determination unit 260 determines the process which has accessed commonly to a program at the time of occurrence of an error of the corresponding program in two or more user terminals 110 as the error process causing an error of the corresponding program. In this way, an error process can be determined by the error process determination unit 260, not by a manager of the error handling server 120.
  • the controller 270 controls operation and data flow of the user terminal identifier receiving unit 210, program access code receiving unit 220, access error information generation unit 230, system information receiving unit 240, access process provision unit 250, and error process determination unit 260.
  • FIG. 3 is a flow diagram illustrating an error handling process carried out in an error handling server.
  • the user terminal identifier receiving unit 210 receives a user terminal identifier from the user terminal 110, S310.
  • the user terminal identifier may include at least one of account information of the user, IP address of the user terminal, and MAC address of the user terminal.
  • the program access code receiving unit 220 receives at least one program access code from the user terminal 110, S320.
  • the program access code may correspond to a handle data of the user terminal 110, the handle data being associated with a process which has accessed the corresponding program at the time of occurrence of the program error.
  • the handle is an integer value assigned by operating system, which corresponds to data permitting indirect access to a kernel object associated with a particular process.
  • the program access code correspond to the data enabling identifying a process which has used a file associated with the corresponding program at the time of occurrence of the program error.
  • the program access code receiving unit 220 allows the user terminal 110 to collect at least one program access code if the corresponding program error is an access error.
  • the access error information generation unit 230 generates access error information by associating the received at least one program access code with the user terminal identifier S330.
  • the access error information generation unit 230 generates access error information by associating at least one program access code received for distinguishing from program access codes of other user terminals 110 with the user terminal identifier.
  • the access error information may be implemented by data including the user terminal identifier and at least one program access code.
  • the access error information generation unit 230 may generate access error information as the data corresponding to ⁇ user1, a, b, c ⁇ by associating the program access code with the user terminal identifier.
  • FIG. 4 is a flow diagram illustrating an error handling process carried out in an error handling server according to one embodiment of the present invention.
  • the user terminal identifier receiving unit 210 receives a user terminal identifier from the user terminal 110, S410.
  • the user terminal identifier may include at least one of account information of the user, IP address of the user terminal, and MAC address of the user terminal.
  • the program access code receiving unit 220 receives at least one program access code from the user terminal 110, S420.
  • the program access code may correspond to a handle data of the user terminal 110, the handle data being associated with a process which has accessed the corresponding program at the time of occurrence of the program error.
  • the access error information generation unit 230 generates access error information by associating the received at least one program access code with the user terminal identifier S430.
  • the access error information generation unit 230 generates access error information by associating at least one program access code received for distinguishing from program access codes of other user terminals 110 with the user terminal identifier.
  • the access error information may be implemented by data including the user terminal identifier and at least one program access code.
  • the system information receiving unit 240 receives from the user terminal 110 system information of the user terminal 110 at the time of occurrence of the corresponding program error S440.
  • the system information includes at least one of process information (for example, process ID and name), network information (for example, network utilization rate or the amount of input and output packet), screen output information (for example, screen shot), and specification information of the user terminal 110 (for example, CPU, RAM, OS information, graphic card, and main board) at the time of occurrence of the program error.
  • process information for example, process ID and name
  • network information for example, network utilization rate or the amount of input and output packet
  • screen output information for example, screen shot
  • specification information of the user terminal 110 for example, CPU, RAM, OS information, graphic card, and main board
  • the system information receiving unit 240 allows the user terminal 110 to collect specific system information.
  • the access error information generation unit 230 incorporates the received system information into the access error information S450.
  • the access error information generation unit 230 can incorporate the received system information into the access error information by associating the received system information with the user terminal identifier and at least one program access code.
  • the access error information generation unit 230 stores a program access code with which one can identify at least one process, which at the time of occurrence of a program error, has used a file of the corresponding program, together with system information of the user terminal, a program developer may be enabled to analyze the system environment at the time of occurrence of the program error and respond to the access error of the program in a specific manner.
  • FIG. 5 is a flow diagram illustrating an error handling process carried out in an error handling server according to another embodiment of the present invention.
  • the user terminal identifier receiving unit 210 receives a user terminal identifier from the user terminal 110, S510.
  • the user terminal identifier may include at least one of account information of the user, IP address of the user terminal, and MAC address of the user terminal.
  • the program access code receiving unit 220 receives at least one program access code from the user terminal 110, S520.
  • the program access code may correspond to a handle data of the user terminal 110, the handle data being associated with a process which has accessed the corresponding program at the time of occurrence of the program error.
  • the access error information generation unit 230 generates access error information by associating the received at least one program access code with the user terminal identifier S530.
  • the access error information generation unit 230 generates access error information by associating at least one program access code received for distinguishing from program access codes of other user terminals 110 with the user terminal identifier.
  • the access error information may be implemented by data including the user terminal identifier and at least one program access code.
  • the access process provision unit 250 determines at least one access process which has accessed the corresponding program at the time of occurrence of the corresponding program error S540.
  • the access process provision unit 250 determines at least one access process associated with at least one program access code included in the access error information.
  • the access process provision unit 250 can determine an access process corresponding to ⁇ vaccine process, messenger process ⁇ based on a program access code corresponding to ⁇ a, b ⁇ .
  • the access process provision unit 250 can provide the determined at least one access process to the user terminal 110, S550.
  • the access process provision unit 250 determines at least one process which has used a file of the corresponding program at the time of occurrence of the corresponding program error and provides the determined process to the user terminal 110, the access process provision unit 250 can provide the user with an access process which may be a cause of the corresponding program error.
  • FIG. 6 is a flow diagram illustrating an error handling process carried out in an error handling server according to yet another embodiment of the present invention.
  • the user terminal identifier receiving unit 210 receives a user terminal identifier from the user terminal 110, S610.
  • the user terminal identifier may include at least one of account information of the user, IP address of the user terminal, and MAC address of the user terminal.
  • the program access code receiving unit 220 receives at least one program access code from the user terminal 110, S620.
  • the program access code may correspond to a handle data of the user terminal 110, the handle data being associated with a process which has accessed the corresponding program at the time of occurrence of the program error.
  • the access error information generation unit 230 generates access error information by associating the received at least one program access code with the user terminal identifier S630.
  • the access error information generation unit 230 generates access error information by associating at least one program access code received for distinguishing from program access codes of other user terminals 110 with the user terminal identifier.
  • the access error information may be implemented by data including the user terminal identifier and at least one program access code.
  • the error process determination unit 260 generates at least one error access code associated with an error process which generates the corresponding program error S640.
  • an error process refers to a process already determined to generate the corresponding program error and can be configured by a manager of the error handling server 120 beforehand or determined automatically by the error process determination unit 260.
  • the error process determination unit 260 can generate ⁇ c ⁇ and ⁇ a ⁇ corresponding to the handle data associated with the P2P process and the vaccine process as error access codes.
  • the error process determination unit 260 can determine at least one process which has caused a program error based on the generated at least one error access code and access error information generated by the error information generation unit 230, S650.
  • the error process determination unit 260 extracts error access codes included in the access error information and determines the P2P process and the vaccine process, which correspond to the extracted error access codes, as the processes which have caused the program error.
  • the error process determination unit 260 generates a handle data for an error process which has been determined to cause an error of the corresponding program as an error access code and determines from the user terminal 110 whether a handle data associated with a process which has accessed at the time of occurrence of a program error corresponds to the error access code, the process causing a program error can be detected promptly.
  • the error process determination unit 260 from among program access codes received from the user terminal 110, can determine common access codes which are also included in the program access codes received from other user terminals 110.
  • the process corresponding to a determined common access code may be determined as the error process.
  • the error process determination unit 260 may determine a handle data corresponding to ⁇ a ⁇ as a common access code and determine a vaccine process which is associated with ⁇ a ⁇ as the error process. In other words, the error process determination unit 260 determines the process which has accessed commonly to a program at the time of occurrence of an error of the corresponding program in two or more user terminals 110 as the error process causing an error of the corresponding program. In this way, an error process can be determined by the error process determination unit 260, not by a manager of the error handling server 120.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

A method of handling a program error is carried out in an error handling server capable of being connected to a user terminal which has caused a program error. The method of handling a program error comprises receiving a user terminal identifier from the user terminal; receiving from the user terminal at least one program access code associated with a process which has accessed the program at the time of occurrence of the corresponding program error; and generating access error information by associating the received at least one program access code with the user terminal identifier.

Description

[Rectified under Rule 91 23.10.2012] METHOD OF HANDLING PROGRAM ERROR, SERVER PERFORMING THE SAME AND STORAGE MEDIA STORING THE SAME
The present invention relates to a method of handling program error and more particularly, a method of handling program error and a server performing the method enabling a program developer to quickly track and handle a process causing a program error by receiving from a user terminal which has caused the program error a user terminal identifier and at least one program access code associated with a process which has accessed the corresponding program and generating access error information.
Encountering a program error, users first of all request solving the problem upon the developer of the program and the program developer attempts to solve the problem through one-to-one correspondence with individual users. However, from a standpoint of the developer, trying to solve problems of individual users through one-to-one correspondence unavoidably involves waste of time and resources due to overlap between individual problem-handling processes and from a standpoint of the user, too, dissatisfaction occurs as a response from the program developer is delayed.
To overcome such a situation, program developer companies collect a dump file which extracts the whole or part of a program and debug unexpected errors for the purposes of program error correction, data check and backup, and so on; however, since a source code, version, runtime environment of a program differ from each other depending on individual users or service providers, efficient handling of a program error is rather a formidable task.
In particular, in case an access error occurs as another process utilizes a file associated with the corresponding program while the program is carried out, it is hard for a program developer to quickly determine the process causing the error and provide the users with a solution.
Various technologies have been developed to handle program errors. The patents introduced below are all related to the technologies mentioned above.
The Korean Patent Registration No. 10-0890546 relates to a memory error detection technology and more particularly, a memory error detection method capable of detecting memory errors easily by generating an initial block specifying variable for specifying an initial memory block from a memory area allocated for variables included in a computer program and detecting an memory error by using a target block specifying variable for specifying a target memory block before accessing the allocated memory area and the initial block specifying variable.
The Korean Laid-open Patent Publication No. 10-2008-0009923 relates to an error detection technology and more particularly, a micro-computing device comprising a first storage unit storing a start address of a target subroutine among a plurality of subroutines; a second storage unit consisting of areas corresponding to addresses configured by variables and storing the plurality of subroutines; a micro-controller accessing a subroutine corresponding to the start address stored in the first storage unit from the second storage unit; and an error detection unit outputting an interrupt signal notifying the micro-controller of an error if it is detected that the micro-controller accesses the address configured by the variable with reference to the first storage unit.
The prior technologies provide technologies of detecting errors through a block specifying variable or an address configured by a variable. However, the prior technologies do not provide a technology for analyzing and handling causes of errors from a viewpoint of a program developer.
The present invention has been made in an effort to provide a method of handling program error and a server performing the method enabling a program developer to quickly track and handle a process causing a program error by receiving from a user terminal which has caused the program error a user terminal identifier and at least one program access code associated with a process which has accessed the corresponding program and generating access error information.
The present invention attempts to provide a method of handling program error and a server performing the method enabling a program developer to deal with a program error in a specific way by receiving system information of a user terminal at the time of occurrence of the program error and storing the system information by incorporating it into access error information.
The present invention attempts to provide a method of handling program error and a server performing the method capable of providing the user with a cause for a program error quickly by determining a process which causes the corresponding program error based on an error access code and an access error code associated with an error process causing the error of the corresponding program.
Among embodiments, a method of handling a program error is carried out in an error handling server capable of connecting to a user terminal which causes program errors. The method of handling a program error comprises receiving a user terminal identifier from the user terminal; receiving from the user terminal at least one program access code associated with a process which has accessed the program at the time of occurrence of the corresponding program error; and generating access error information by associating the received at least one program access code with the user terminal identifier. The program access code may include a handle data associated with a process which has accessed the program.
In one embodiment, the receiving at least one program access code further comprises allowing the user terminal to collect the at least one program access code if the error of the corresponding program is an access error.
In one embodiment, the method of handling a program error further comprises receiving from the user terminal system information of the user terminal at the time of occurrence of the program error and incorporating the received system information into the access error information.
Here, the receiving system information of the user terminal further comprises allowing the user terminal to collect particular system information.
In one embodiment, system information of the user terminal includes at least one of process information, network information, screen display information at the time of occurrence of the program error and specification information of the user terminal.
In one embodiment, the method of handling a program error further comprises determining at least one process which has accessed the program based on the received at least one program access code and providing the determined at least one process to the user terminal.
In one embodiment, the method of handling a program error further comprises generating at least one error access code associated with an error process generating an error of the corresponding program; and determining at least one process which has caused the program error against the user terminal based on the generated at least one error access code and the access error information. Here, the generating at least one error access code further comprises determining a common access code included in a program access code associated with other user terminals from among the received at least one program access code; and determining a process corresponding to the determined common access code as the error process.
Among embodiments, an error handling server may be connected to user terminals which cause program errors. The error handling server comprises a user terminal identifier receiving unit receiving a user terminal identifier from the user terminal; a program access code receiving unit receiving from the user terminal at least one program access code associated with a process which has accessed the program at the time of occurrence of the corresponding program error; and an access error information generation unit generating access error information by associating the received at least one program access code with the user terminal identifier. Here, the program access code may include a handle data associated with a process which has accessed the program.
In one embodiment, the program access code receiving unit allows the user terminal to collect the at least one program access code if the error of the corresponding program is an access error.
In one embodiment, the error handling server includes a system information receiving unit receiving from the user terminal system information of the user terminal at the time of occurrence of the program error and the access error information generation unit incorporates the received system information into the access error information.
In one embodiment, the system information receiving unit allows the user terminal to collect particular system information. At this time, system information of the user terminal includes at least one of process information, network information, screen display information at the time of occurrence of the program error and specification information of the user terminal.
In one embodiment, the error handling server includes an access process provision unit determining at least one process which has accessed the program based on the received at least one program access code and providing the determined at least one process to the user terminal.
In one embodiment, the error handling server includes an error process determination unit generating at least one error access code associated with an error process generating an error of the corresponding program; and determining at least one process which has caused the program error against the user terminal based on the generated at least one error access code and the access error information. Here, the error process determination unit determines a common access code included in a program access code associated with other user terminals from among the received at least one program access code; and determines a process corresponding to the determined common access code as the error process.
Among embodiments, a storage medium storing a computer program about a method of handling a program error carried out in an error handling server comprises receiving a user terminal identifier from the user terminal; receiving from the user terminal at least one program access code associated with a process which has accessed the program at the time of occurrence of error of the corresponding program; and generating access error information by associating the received at least one program access code with the user terminal identifier.
A method of handling a program error according to one embodiment of the present invention and technologies related to the method enable a program developer to quickly track and handle a process causing a program error by receiving from a user terminal which has caused the program error a user terminal identifier and at least one program access code associated with a process which has accessed the corresponding program and generating access error information.
A method of handling a program error according to one embodiment of the present invention and technologies related to the method enable a program developer to deal with a program error in a specific way by receiving system information of a user terminal at the time of occurrence of the program error and storing the system information by incorporating it into access error information.
A method of handling a program error according to one embodiment of the present invention and technologies related to the method can provide the user with a cause for a program error quickly by determining a process which causes the corresponding program error based on an error access code and an access error code associated with an error process causing the error of the corresponding program.
The accompany drawings, which are included to provide a further understanding of this document and are incorporated on and constitute a part of this specification illustrate embodiments of this document and together with the description serve to explain the principles of this document.
FIG. 1 illustrates an error handling system according to one embodiment of the present invention;
FIG. 2 is a block diagram illustrating the error handling server of FIG. 1;
FIG. 3 is a flow diagram illustrating an error handling process carried out in an error handling server;
FIG. 4 is a flow diagram illustrating an error handling process carried out in an error handling server according to one embodiment of the present invention;
FIG. 5 is a flow diagram illustrating an error handling process carried out in an error handling server according to another embodiment of the present invention; and
FIG. 6 is a flow diagram illustrating an error handling process carried out in an error handling server according to yet another embodiment of the present invention.
Since embodiments described in this document provide only structural or functional description of the present invention, one should not interpret the scope of the present invention to be limited to the embodiments described in this document. In other words, the embodiments can be modified in various ways; therefore, it should be understood that the scope of the present invention includes every possible equivalent which implements the technical principles of the present invention. Similarly, since purposes or effects of the present invention do not necessarily mandate a particular embodiment to support all of the purposes or reveals only the effects, one should understand the technical scope of the present invention is not limited to the purposes or effects described in this document.
Meanwhile, terminologies used in this document should be interpreted as follows.
Terminologies of “first”, “second” and the like have been introduced to distinguish one from the other components; therefore, the technical scope of the present invention should not be limited by those terminologies. For example, a first component may be referred to as a second component and vice versa.
When a component is said to be “connected” to another component, one should understand that a third component may exist to connect the two components even though the two components may be connected directly. On the other hand, when a component is said to be “connected directly” to another component, it should be interpreted that there is no further component between the two components. Meanwhile, other expressions describing relationships among components, that is, “between” and “immediately between” or “adjacent” and “directly adjacent” should also be understood in the same way as above.
Singular expression should be interpreted to include plural expressions unless otherwise stated explicitly. Terminologies such as “include” and “have” are meant to signify existence of embodied characteristics, numbers, steps, behavior, components, modules, and combinations thereof, which should be understood that possibility of existence or addition of one or more characteristics, numbers, steps, behavior, components, modules, and combinations thereof are not precluded beforehand.
Identifying symbols (for example, a, b, c, and the like) used for individual steps are introduced for the convenience of description; the symbols are not meant to indicate the order of carrying out the corresponding steps and thus individual steps may be carried out according to the order different from a specified order unless otherwise indicated explicitly. In other words, individual steps may be carried out in the same order as specified or actually performed simultaneously or in a reverse order.
The present invention may be implemented in the form of computer-readable program codes in a computer-readable storage medium. The computer-readable storage medium includes all kinds of storage devices in which data readable by a computer system are stored. Examples of a storage medium readable by a computer includes ROM, RAM, CD-ROM, magnetic tapes, floppy disks, optical data storage devices, and so on. A storage medium implemented in the form of a carrier wave (for example, data transfer through the Internet) is also included in the examples. Meanwhile, a computer-readable storage medium may be distributed across computer systems connected to each other through a network and computer-readable program codes may be stored and carried out in a distributed manner.
Terminologies used in this document, unless otherwise defined differently, possess the same meaning as understood by those skilled in the art to which the present invention belongs. Those terminologies defined in a general-use dictionary should be interpreted to coincide with a contextual meaning used in a related technology. Unless otherwise explicitly defined in this document, those terminologies should not be interpreted to possess an ideal or excessively formal meaning.
FIG. 1 illustrates a system handling abnormal termination according to one embodiment of the present invention.
With reference to FIG. 1, an error handling system comprises a user terminal 110 and an error handling server 120. Here, the user terminal 110 can be connected to the error handling server 120 through a network (in particular, the Internet).
The user terminal 110 includes a computing device capable of carrying out a program by the user. For example, the user terminal 110 may correspond to a desktop computer, a laptop computer, a smart phone, or a tablet personal computer (PC).
In one embodiment, the user terminal 110 includes an error code detection module. The error code detection module detects an error code by using a GetLastError function at the time of occurrence of a program error. Here, the error code corresponds to a code associated with a cause of the program error. For example, the error code detection module checks the error code for the error of the corresponding program by using the GetLastError function and determines whether the error code corresponds to the one (for example, error code 5) associated with an access error.
In one embodiment, the user terminal 110 includes a program access code collection module. The program access code collection module, if a detected error code corresponds to the error code corresponding to an access error, collects at least one program access code associated with a process which has accessed the corresponding program at the time of occurrence of the program error.
In one embodiment, the program access code may include handle data. Here, the handle is an integer value assigned by operating system, which corresponds to data permitting indirect access to a kernel object associated with a particular process. In other words, the program access code correspond to the data enabling identifying a process which has used a file associated with the corresponding program at the time of occurrence of the program error.
For example, if the error code detection module checks an error code for an error of the corresponding program by using the GetLastError function and determines that the error code corresponds to the one (for example, error code 5) associated with an access error, the program access code collection module collects at least one handle data associated with a process which has accessed the corresponding program at the time of occurrence of the corresponding program error.
In one embodiment, the user terminal 110 includes a program access code transmission module. Here, the program access code transmission module can transmit at least one program access code to the error handling server 120.
In one embodiment, the user terminal 110 includes a system information transmission module. The system information transmission module collects system information at the time of occurrence of the corresponding program error and transmits the collected system information to the error handling server 120.
At this time, the system information includes at least one of process information (for example, process ID and name), network information (for example, network utilization rate or the amount of input and output packet), screen output information (for example, screen shot), and specification information of the user terminal (for example, CPU, RAM, OS information, graphic card, and main board) at the time of occurrence of the program error.
The error handling server 120 corresponds to a computing device which can be connected to the user terminal 110 through a network. Here, the error handling server 120 can be managed by a program developer company, a program provision service company, or a program management service company. The error handling server 120 will be described with reference to FIG. 2.
In one embodiment, the error handling server 120 provides the user terminal 110 with an error handling program comprising an error code detection module, a program access code collection module, a program access code transmission module, and a system information transmission module. At this time, the error handling program may be implemented in a computer-readable storage medium.
FIG. 2 is a block diagram illustrating the error handling server of FIG. 1.
With reference to FIG. 2, the error handling server 120 comprises a user terminal identifier receiving unit 210, a program access code receiving unit 220, an access error information generation unit 230, a system information receiving unit 240, an access process provision unit 250, an error process determination unit 260, and a controller 270.
The user terminal identifier receiving unit 210 receives a user terminal identifier from the user terminal 110. At this time, the user terminal identifier may include at least one of account information of the user (for example, a user ID), IP (Internet Protocol) address of the user terminal, and MAC (Media Access Control) address of the user terminal. In other words, the user terminal identifier corresponds to an identifier which distinguishes a user terminal 100 from other user terminals 110.
The program access code receiving unit 220 receives at least one program access code from the user terminal 110. In one embodiment, the program access code may correspond to a handle data of the user terminal 110, the handle data being associated with a process which has accessed the corresponding program at the time of occurrence of the program error.
Here, the handle is an integer value assigned by operating system, which corresponds to data permitting indirect access to a kernel object associated with a particular process. In other words, the program access code correspond to the data enabling identifying a process which has used a file associated with the corresponding program at the time of occurrence of the program error.
In one embodiment, the program access code receiving unit 220 allows the user terminal 110 to collect at least one program access code if the corresponding program error is an access error.
More specifically, the program access code receiving unit 220 transmits a signal corresponding to approval of program access code collection to the user terminal 110 and if the error code detected by the program access code collection module of the user terminal 110 is the one corresponding to access error, allows collecting at least one program access code associated with a process which has accessed the corresponding program at the time of occurrence of the program error.
The access error information generation unit 230 generates access error information by associating the received at least one program access code with the user terminal identifier.
More specifically, the access error information generation unit 230 generates access error information by associating at least one program access code received for distinguishing from program access codes of other user terminals 110 with the user terminal identifier. Here, the access error information may be implemented by data including the user terminal identifier and at least one program access code.
For example, the access error information generation unit 230, if the user terminal identifier is {user1} and the program access code corresponds to {a, b, c}, may generate access error information as the data corresponding to {user1, a, b, c} by associating the program access code with the user terminal identifier.
Here, each of a, b, and c is only an example of the program access code (for example, handle data) and examples of a program access code introduced below for description of the present invention are not meant for limiting the technical scope of the present invention. In other words, program access codes denoted by the same alphabet letter correspond to the same program access code while program access codes denoted by a different alphabet letter correspond to a different program access code.
The system information receiving unit 240 receives from the user terminal 110 system information of the user terminal 110 at the time of occurrence of the corresponding program error.
In one embodiment, the system information includes at least one of process information (for example, process ID and name), network information (for example, network utilization rate or the amount of input and output packet), screen output information (for example, screen shot), and specification information of the user terminal 110 (for example, CPU, RAM, OS information, graphic card, and main board) at the time of occurrence of the program error.
In one embodiment, the system information receiving unit 240 allows the user terminal 110 to collect specific system information.
More specifically, the system information receiving unit 240 transmits a signal corresponding to approval of system information collection to the user terminal 110; thereafter, the system information transmission module of the user terminal 110 collects system information at the time of occurrence of the corresponding program error and transmits the collected system information to the error handling server 120. In other words, as the system information receiving unit 240 is permitted to collect specific system information, a security problem related to collecting personal information can be solved and a program developer can obtain system information of his or her interest only.
In one embodiment, the access error information generation unit 230 incorporates the received system information into the access error information. More specifically, the access error information generation unit 230 can incorporate the received system information into the access error information by associating the received system information with the user terminal identifier and at least one program access code.
In other words, since the access error information generation unit 230 stores a program access code with which one can identify at least one process, which at the time of occurrence of a program error, has used a file of the corresponding program, together with system information of the user terminal, a program developer may be enabled to analyze the system environment at the time of occurrence of the program error and respond to the access error of the program in a specific manner.
The access process provision unit 250, based on access error information, determines at least one access process which has accessed the corresponding program at the time of occurrence of the corresponding program error.
More specifically, the access process provision unit 250 determines at least one access process associated with at least one program access code included in the access error information.
For example, in case a handle data associated with a vaccine process is {a} and a handle data associated with a messenger process is {b} and a program access code corresponding to {a, b} is included in the generated access error information, the access process provision unit 250 can determine an access process corresponding to {vaccine process, messenger process} based on a program access code corresponding to {a, b}. Here, the access process provision unit 250 can provide the determined at least one access process to the user terminal 110.
In other words, as the access process provision unit 250 determines at least one process which has used a file of the corresponding program at the time of occurrence of the corresponding program error and provides the determined process to the user terminal 110, the access process provision unit 250 can provide the user with an access process which may be a cause of the corresponding program error.
In one embodiment, the error process determination unit 260 generates at least one error access code associated with an error process which generates the corresponding program error. Here, an error process refers to a process already determined to generate the corresponding program error and can be configured by a manager of the error handling server 120 beforehand or determined automatically by the error process determination unit 260.
For example, in case an error process, which has already been determined to generate an error of the corresponding program, corresponds to a P2P (Peer to Peer) process and a vaccine process, the error process determination unit 260 can generate {c} and {a} corresponding to the handle data associated with the P2P process and the vaccine process as error access codes.
At this time, the error process determination unit 260 can determine at least one process which has caused a program error based on the generated at least one error access code and access error information generated by the error information generation unit 230.
For example, in case the generated error access codes are {c} and {a} and access error information is {user1, a, b, c}, the error process determination unit 260 extracts error access codes included in the access error information and determines the P2P process and the vaccine process, which correspond to the extracted error access codes, as the processes which have caused the program error.
In other words, as the error process determination unit 260 generates a handle data for an error process which has been determined to cause an error of the corresponding program as an error access code and determines from the user terminal 110 whether a handle data associated with a process which has accessed at the time of occurrence of a program error corresponds to the error access code, the process causing a program error can be detected promptly.
In one embodiment, the error process determination unit 260, from among program access codes received from the user terminal 110, can determine common access codes which are also included in the program access codes received from other user terminals 110. Here, the process corresponding to a determined common access code may be determined as the error process.
More specifically, in case access error information associated with the user terminal 110 is {user1, a, b, c} and access error information associated with another user terminal 110 is {user2, a, d, e}, the error process determination unit 260 may determine a handle data corresponding to {a} as a common access code and determine a vaccine process which is associated with {a} as the error process. In other words, the error process determination unit 260 determines the process which has accessed commonly to a program at the time of occurrence of an error of the corresponding program in two or more user terminals 110 as the error process causing an error of the corresponding program. In this way, an error process can be determined by the error process determination unit 260, not by a manager of the error handling server 120.
The controller 270 controls operation and data flow of the user terminal identifier receiving unit 210, program access code receiving unit 220, access error information generation unit 230, system information receiving unit 240, access process provision unit 250, and error process determination unit 260.
FIG. 3 is a flow diagram illustrating an error handling process carried out in an error handling server.
The user terminal identifier receiving unit 210 receives a user terminal identifier from the user terminal 110, S310. At this time, the user terminal identifier may include at least one of account information of the user, IP address of the user terminal, and MAC address of the user terminal.
The program access code receiving unit 220 receives at least one program access code from the user terminal 110, S320. In one embodiment, the program access code may correspond to a handle data of the user terminal 110, the handle data being associated with a process which has accessed the corresponding program at the time of occurrence of the program error.
Here, the handle is an integer value assigned by operating system, which corresponds to data permitting indirect access to a kernel object associated with a particular process. In other words, the program access code correspond to the data enabling identifying a process which has used a file associated with the corresponding program at the time of occurrence of the program error.
In one embodiment, the program access code receiving unit 220 allows the user terminal 110 to collect at least one program access code if the corresponding program error is an access error.
The access error information generation unit 230 generates access error information by associating the received at least one program access code with the user terminal identifier S330.
More specifically, the access error information generation unit 230 generates access error information by associating at least one program access code received for distinguishing from program access codes of other user terminals 110 with the user terminal identifier. Here, the access error information may be implemented by data including the user terminal identifier and at least one program access code.
For example, the access error information generation unit 230, if the user terminal identifier is {user1} and the program access code corresponds to {a, b, c}, may generate access error information as the data corresponding to {user1, a, b, c} by associating the program access code with the user terminal identifier.
FIG. 4 is a flow diagram illustrating an error handling process carried out in an error handling server according to one embodiment of the present invention.
The user terminal identifier receiving unit 210 receives a user terminal identifier from the user terminal 110, S410. At this time, the user terminal identifier may include at least one of account information of the user, IP address of the user terminal, and MAC address of the user terminal.
The program access code receiving unit 220 receives at least one program access code from the user terminal 110, S420. In one embodiment, the program access code may correspond to a handle data of the user terminal 110, the handle data being associated with a process which has accessed the corresponding program at the time of occurrence of the program error.
The access error information generation unit 230 generates access error information by associating the received at least one program access code with the user terminal identifier S430.
More specifically, the access error information generation unit 230 generates access error information by associating at least one program access code received for distinguishing from program access codes of other user terminals 110 with the user terminal identifier. Here, the access error information may be implemented by data including the user terminal identifier and at least one program access code.
The system information receiving unit 240 receives from the user terminal 110 system information of the user terminal 110 at the time of occurrence of the corresponding program error S440.
In one embodiment, the system information includes at least one of process information (for example, process ID and name), network information (for example, network utilization rate or the amount of input and output packet), screen output information (for example, screen shot), and specification information of the user terminal 110 (for example, CPU, RAM, OS information, graphic card, and main board) at the time of occurrence of the program error.
In one embodiment, the system information receiving unit 240 allows the user terminal 110 to collect specific system information.
The access error information generation unit 230 incorporates the received system information into the access error information S450.
More specifically, the access error information generation unit 230 can incorporate the received system information into the access error information by associating the received system information with the user terminal identifier and at least one program access code.
In other words, since the access error information generation unit 230 stores a program access code with which one can identify at least one process, which at the time of occurrence of a program error, has used a file of the corresponding program, together with system information of the user terminal, a program developer may be enabled to analyze the system environment at the time of occurrence of the program error and respond to the access error of the program in a specific manner.
FIG. 5 is a flow diagram illustrating an error handling process carried out in an error handling server according to another embodiment of the present invention.
The user terminal identifier receiving unit 210 receives a user terminal identifier from the user terminal 110, S510. At this time, the user terminal identifier may include at least one of account information of the user, IP address of the user terminal, and MAC address of the user terminal.
The program access code receiving unit 220 receives at least one program access code from the user terminal 110, S520. In one embodiment, the program access code may correspond to a handle data of the user terminal 110, the handle data being associated with a process which has accessed the corresponding program at the time of occurrence of the program error.
The access error information generation unit 230 generates access error information by associating the received at least one program access code with the user terminal identifier S530.
More specifically, the access error information generation unit 230 generates access error information by associating at least one program access code received for distinguishing from program access codes of other user terminals 110 with the user terminal identifier. Here, the access error information may be implemented by data including the user terminal identifier and at least one program access code.
The access process provision unit 250, based on access error information, determines at least one access process which has accessed the corresponding program at the time of occurrence of the corresponding program error S540.
More specifically, the access process provision unit 250 determines at least one access process associated with at least one program access code included in the access error information.
For example, in case a handle data associated with a vaccine process is {a} and a handle data associated with a messenger process is {b} and a program access code corresponding to {a, b} is included in the generated access error information, the access process provision unit 250 can determine an access process corresponding to {vaccine process, messenger process} based on a program access code corresponding to {a, b}.
The access process provision unit 250 can provide the determined at least one access process to the user terminal 110, S550.
In other words, as the access process provision unit 250 determines at least one process which has used a file of the corresponding program at the time of occurrence of the corresponding program error and provides the determined process to the user terminal 110, the access process provision unit 250 can provide the user with an access process which may be a cause of the corresponding program error.
FIG. 6 is a flow diagram illustrating an error handling process carried out in an error handling server according to yet another embodiment of the present invention.
The user terminal identifier receiving unit 210 receives a user terminal identifier from the user terminal 110, S610. At this time, the user terminal identifier may include at least one of account information of the user, IP address of the user terminal, and MAC address of the user terminal.
The program access code receiving unit 220 receives at least one program access code from the user terminal 110, S620. In one embodiment, the program access code may correspond to a handle data of the user terminal 110, the handle data being associated with a process which has accessed the corresponding program at the time of occurrence of the program error.
The access error information generation unit 230 generates access error information by associating the received at least one program access code with the user terminal identifier S630.
More specifically, the access error information generation unit 230 generates access error information by associating at least one program access code received for distinguishing from program access codes of other user terminals 110 with the user terminal identifier. Here, the access error information may be implemented by data including the user terminal identifier and at least one program access code.
The error process determination unit 260 generates at least one error access code associated with an error process which generates the corresponding program error S640. Here, an error process refers to a process already determined to generate the corresponding program error and can be configured by a manager of the error handling server 120 beforehand or determined automatically by the error process determination unit 260.
For example, in case an error process, which has already been determined to generate an error of the corresponding program, corresponds to a P2P (Peer to Peer) process and a vaccine process, the error process determination unit 260 can generate {c} and {a} corresponding to the handle data associated with the P2P process and the vaccine process as error access codes.
At this time, the error process determination unit 260 can determine at least one process which has caused a program error based on the generated at least one error access code and access error information generated by the error information generation unit 230, S650.
For example, in case the generated error access codes are {c} and {a} and access error information is {user1, a, b, c}, the error process determination unit 260 extracts error access codes included in the access error information and determines the P2P process and the vaccine process, which correspond to the extracted error access codes, as the processes which have caused the program error.
In other words, as the error process determination unit 260 generates a handle data for an error process which has been determined to cause an error of the corresponding program as an error access code and determines from the user terminal 110 whether a handle data associated with a process which has accessed at the time of occurrence of a program error corresponds to the error access code, the process causing a program error can be detected promptly.
In one embodiment, the error process determination unit 260, from among program access codes received from the user terminal 110, can determine common access codes which are also included in the program access codes received from other user terminals 110. Here, the process corresponding to a determined common access code may be determined as the error process.
More specifically, in case access error information associated with the user terminal 110 is {user1, a, b, c} and access error information associated with another user terminal 110 is {user2, a, d, e}, the error process determination unit 260 may determine a handle data corresponding to {a} as a common access code and determine a vaccine process which is associated with {a} as the error process. In other words, the error process determination unit 260 determines the process which has accessed commonly to a program at the time of occurrence of an error of the corresponding program in two or more user terminals 110 as the error process causing an error of the corresponding program. In this way, an error process can be determined by the error process determination unit 260, not by a manager of the error handling server 120.
Although the present invention has been described with reference to preferred embodiments, it should be understood by those skilled in the art that the present invention can be modified and changed in various ways without departing from the technical principles and scope of the present invention defined by the appended claims.

Claims (15)

  1. In a method of handling a program error carried out in an error handling server capable of being connected to a user terminal which has caused a program error, a method of handling a program error, comprising:
    receiving a user terminal identifier from the user terminal;
    receiving from the user terminal at least one program access code associated with a process which has accessed the program at the time of occurrence of the corresponding program error; and
    generating access error information by associating the received at least one program access code with the user terminal identifier.
  2. The method of claim 1, wherein the program access code includes a handle data associated with a process which has accessed the program.
  3. The method of claim 1, wherein the receiving at least one program access code further comprises allowing the user terminal to collect the at least one program access code if the error of the corresponding program is an access error.
  4. The method of claim 1, further comprising:
    receiving from the user terminal system information of the user terminal at the time of occurrence of the program error; and
    incorporating the received system information into the access error information.
  5. The method of claim 4, wherein the receiving system information of the user terminal further comprises allowing the user terminal to collect particular system information.
  6. The method of claim 1, further comprising:
    determining at least one process which has accessed the program based on the received at least one program access code; and
    providing the determined at least one process to the user terminal.
  7. The method of claim 1, further comprising:
    generating at least one error access code associated with an error process generating an error of the corresponding program; and
    determining at least one process which has caused the program error against the user terminal based on the generated at least one error access code and the access error information.
  8. In an error handling server capable of being connected to a user terminal which has caused a program error, an error handling server, comprising:
    a user terminal identifier receiving unit receiving a user terminal identifier from the user terminal;
    a program access code receiving unit receiving from the user terminal at least one program access code associated with a process which has accessed the program at the time of occurrence of the corresponding program error; and
    an access error information generation unit generating access error information by associating the received at least one program access code with the user terminal identifier.
  9. The server of claim 8, wherein the program access code includes a handle data associated with a process which has accessed the program.
  10. The server of claim 8, wherein the program access code receiving unit allows the user terminal to collect the at least one program access code if the error of the corresponding program is an access error.
  11. The server of claim 8, wherein a system information receiving unit receiving from the user terminal system information of the user terminal at the time of occurrence of the program error is included and the access error information generation unit incorporates the received system information into the access error information.
  12. The server of claim 11, wherein the system information receiving unit allows the user terminal to collect particular system information.
  13. The server of claim 8, wherein an access process provision unit is included, the access process provision unit determining at least one process which has accessed the program based on the received at least one program access code and providing the determined at least one process to the user terminal.
  14. The server of claim 8, wherein an error process determination unit is included, the error process determination unit generating at least one error access code associated with an error process generating an error of the corresponding program; and determining at least one process which has caused the program error against the user terminal based on the generated at least one error access code and the access error information.
  15. In a storage medium storing a computer program about a method of handling a program error carried out in an error handling server, a storage medium storing a computer program about a method of handling a program error, comprising:
    receiving a user terminal identifier from the user terminal;
    receiving from the user terminal at least one program access code associated with a process which has accessed the program at the time of occurrence of error of the corresponding program; and
    generating access error information by associating the received at least one program access code with the user terminal identifier.
PCT/KR2012/008344 2012-08-06 2012-10-12 Method of handling program error, server performing the same and storage media storing the same WO2014025090A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20120085698A KR101246369B1 (en) 2012-08-06 2012-08-06 Method of handling program error, server performing the same and storage media storing the same
KR10-2012-0085698 2012-08-06

Publications (1)

Publication Number Publication Date
WO2014025090A1 true WO2014025090A1 (en) 2014-02-13

Family

ID=48182378

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/008344 WO2014025090A1 (en) 2012-08-06 2012-10-12 Method of handling program error, server performing the same and storage media storing the same

Country Status (4)

Country Link
KR (1) KR101246369B1 (en)
CN (1) CN103092715A (en)
TW (1) TW201407342A (en)
WO (1) WO2014025090A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6012148A (en) * 1997-01-29 2000-01-04 Unisys Corporation Programmable error detect/mask utilizing bus history stack
JP2003316608A (en) * 2002-04-25 2003-11-07 Nec Corp Method and device for reporting application program abnormality
US20060075300A1 (en) * 2004-09-23 2006-04-06 Mukherjee Shubhendu S Vectoring process-kill errors to an application program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6012148A (en) * 1997-01-29 2000-01-04 Unisys Corporation Programmable error detect/mask utilizing bus history stack
JP2003316608A (en) * 2002-04-25 2003-11-07 Nec Corp Method and device for reporting application program abnormality
US20060075300A1 (en) * 2004-09-23 2006-04-06 Mukherjee Shubhendu S Vectoring process-kill errors to an application program

Also Published As

Publication number Publication date
KR101246369B1 (en) 2013-03-22
TW201407342A (en) 2014-02-16
CN103092715A (en) 2013-05-08

Similar Documents

Publication Publication Date Title
WO2013081282A1 (en) System and method for recommending application by using keyword
WO2016114601A1 (en) Method for disaster notification service not requiring collecting of location information, and disaster notification server and application system therefor
WO2016085180A1 (en) Method of managing cookie information for target advertisement and application for managing cookie information
WO2012108687A2 (en) Method of detecting arp spoofing attacks using arp locking and computer-readable recording medium storing program for executing the method
WO2015194829A2 (en) Method for detecting number of selected devices among plurality of client terminals on private network using same public ip by web server provided with additional non-specified domain name from internet access request traffic of client terminal making request for internet access, and selective detection system for device in state in which public ip is shared
WO2014112754A1 (en) Web service push method and web service push server and web service providing server performing same
WO2013024986A2 (en) Network identifier position determining system and method for same
WO2012060669A1 (en) Method for controlling remote device through sms and device therefor
WO2012081887A2 (en) Method and apparatus for providing advertisement service in mobile communication system
WO2014077458A1 (en) Method for distinguishing type of communication network and method for providing content using same
WO2014035194A1 (en) Push message service system and method
WO2015129983A1 (en) Device and method for recommending movie on basis of distributed mining of fuzzy association rules
WO2020258672A1 (en) Network access anomaly detection method and device
WO2023153730A1 (en) System and method for protecting leakage information
WO2012070900A2 (en) System for sharing event and data between personal devices
WO2014157826A1 (en) System and method for blocking attack of smart device-based malicious code
WO2016064024A1 (en) Abnormal connection detection device and method
WO2011065768A2 (en) Method for protecting application and method for executing application using the same
WO2013122362A1 (en) Method, system and recording medium for applying load reduction policy in wireless network
WO2019066099A1 (en) System for detecting abnormal behavior on basis of integrated analysis model, and method therefor
WO2014025090A1 (en) Method of handling program error, server performing the same and storage media storing the same
WO2016186326A1 (en) Search word list providing device and method using same
WO2016190485A1 (en) Method for blocking unauthorized access to data and computing device having same function
WO2017150841A1 (en) Electronic device, application execution system, and control method therefor
WO2021002485A1 (en) Database security device based on user identification via web application server

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12882838

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12882838

Country of ref document: EP

Kind code of ref document: A1