KR20120048460A - Log management method - Google Patents

Log management method Download PDF

Info

Publication number
KR20120048460A
KR20120048460A KR1020110043125A KR20110043125A KR20120048460A KR 20120048460 A KR20120048460 A KR 20120048460A KR 1020110043125 A KR1020110043125 A KR 1020110043125A KR 20110043125 A KR20110043125 A KR 20110043125A KR 20120048460 A KR20120048460 A KR 20120048460A
Authority
KR
South Korea
Prior art keywords
message
recovery
serial number
receiving
representative
Prior art date
Application number
KR1020110043125A
Other languages
Korean (ko)
Other versions
KR101219190B1 (en
Inventor
안진호
Original Assignee
경기대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 경기대학교 산학협력단 filed Critical 경기대학교 산학협력단
Publication of KR20120048460A publication Critical patent/KR20120048460A/en
Application granted granted Critical
Publication of KR101219190B1 publication Critical patent/KR101219190B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PURPOSE: A log management method is provided to reduce the number of data messages through a core network by localizing a messaging log. CONSTITUTION: A representative process receives a message from a transmission process(315). In case the representative process is not the final receiver of the message, the representative process transmits the message to a local member process(317,320). The representative process receives a reception serial number about the message from the local member process(325). The representative process records complete log information in a non-volatile memory.

Description

로그 관리 방법{Log management method}Log management method

본 발명은 대규모 및 지리적으로 분산된 시스템에서 적은 비용으로 고장 발생시 신속하게 복구할 수 있는 메시지 로그 관리 방법에 관한 것이다.
The present invention relates to a message log management method that can quickly recover in the event of a failure at a low cost in a large and geographically dispersed system.

산재해(ubiquitous) 있으며 저가지만 높은 수행능력을 가진 소형 및 중형 컴퓨팅 장치들이 유무선으로 다른 컴퓨팅 장치들과 매우 쉽게 연결될 수 있게 됨으로써 분산 컴퓨팅 시스템에서 적지 않은 구조적 변화를 야기시킨다. 이러한 기술적 경향은 임의로 연결된 컴퓨팅 장치 모임이 일반 사용자들을 위해 저가의 고성능 컴퓨팅 환경을 제공할 수 있도록 한다. 그러나 이러한 기술적 다양성은 앞에서 언급한 현재의 분산시스템에 대해 해결하기 힘든 신뢰성 문제들을 발생시킬 수 있다. 기존에 소규모 클러스터 및 그리드 컴퓨팅 플랫폼 상에서 장기간 수행하는 분산 애플리케이션에게 결함포용성을 제공하기 위해 많은 복귀회복(rollback-recovery) 방법들이 제안되었다.Distributing (ubiquitous) and low-cost, but high-performance, small and medium computing devices can be connected very easily to other computing devices over wired and wireless, causing significant architectural changes in distributed computing systems. This technical trend allows randomly connected computing device communities to provide a low cost, high performance computing environment for the general user. However, this technical diversity can create reliability problems that are difficult to solve for the current distributed systems mentioned above. Many rollback-recovery methods have been proposed to provide fault tolerance for long-running distributed applications on small cluster and grid computing platforms.

그러한 방법들 중 검사점 기록과 결합된 송신자 기반 메시지 로깅 기법이 이러한 목적에 적용될 수 있는 가장 적은 비용의 결함포용 기법들 중 하나이다. 이 기법은 수신자 기반 메시지 로깅 기법이 동기적으로 메시지를 안전한 저장소에 로깅함으로써 발생되는 높은 정상 수행 시 비용을 매우 줄일 수 있다. 이러한 장점은 각 메시지 송신자의 휘발성 메모리를 메시지 로깅을 위한 저장소로써 사용하기 때문에 얻어진다. 그러나 송신자 기반 메시지 로깅 기법은 메시지 송신자가 해당 메시지 수신자로부터 그 메시지의 수신일련번호(RSN: Receive Sequence Number)를 얻은 후 이에 대해 수신자에게 알려주는데 요구되는 추가 통신비용과 각 고장 난 프로세스의 회복과정 복잡도 및 높은 수행시간을 발생시킬 수 있다.
Of those methods, the sender-based message logging technique combined with checkpoint recording is one of the least expensive fault tolerance techniques that can be applied for this purpose. This technique can significantly reduce the high normal performance costs caused by receiver-based message logging techniques synchronously logging messages to secure storage. This advantage is obtained because each message sender's volatile memory is used as a storage for message logging. However, the sender-based message logging technique requires the additional communication costs required for the message sender to obtain the Receive Sequence Number (RSN) of the message from the message receiver and informs the receiver about it, and the complexity of the recovery process for each failed process. And high execution time.

본 발명은 메시지 로깅과 회복과정을 최대한 지역화시킬 수 있는 로그 관리 방법을 제공하기 위한 것이다.The present invention is to provide a log management method that can localize the message logging and recovery process as much as possible.

이를 통해, 본 발명은 메시지 로깅 및 회복 과정시 코어 네트워크를 통한 제어 및 데이터 메시지들을 현저하게 줄일 수 있는 로그 관리 방법을 제공하기 위한 것이다.Through this, the present invention is to provide a log management method that can significantly reduce the control and data messages through the core network during the message logging and recovery process.

이에 따라, 결과적으로 본 발명은 임의의 프로세스 고장시 회복 과정에 따른 완료시간을 현저하게 단축할 수 있다.
As a result, the present invention can significantly shorten the completion time according to the recovery process in the event of any process failure.

본 발명의 일 측면에 따르면, 복수의 프로세스를 포함하는 시스템에서 송신자 기반 메시지의 로그를 관리하는 방법 및 그 방법을 수행하기 위한 프로그램을 기록한 기록매체가 제공된다.According to an aspect of the present invention, a method of managing a log of a sender-based message in a system including a plurality of processes and a recording medium recording a program for performing the method are provided.

본 발명의 일 실시예에 따르면, 복수의 프로세스를 포함하는 시스템에서 송신자 기반 메시지의 로그를 관리하는 방법에 있어서, 대표 프로세스가 송신 프로세스로부터 메시지를 수신하는 단계; 상기 대표 프로세스가 상기 메시지의 최종 수신자가 아닌 경우, 상기 메시지를 수신 프로세스로 전달하고, 상기 수신 프로세스로부터 상기 메시지에 대한 수신일련번호를 수신하는 단계; 및 상기 대표 프로세스가 상기 수신일련번호를 포함하는 완전 로그 정보를 휘발성 메모리에 기록하는 단계를 포함하는 로그 관리 방법이 제공될 수 있다.According to an embodiment of the present invention, there is provided a method of managing a log of a sender-based message in a system including a plurality of processes, the method comprising: a representative process receiving a message from a sending process; If the representative process is not the last recipient of the message, forwarding the message to a receiving process and receiving a serial number for the message from the receiving process; And writing, by the representative process, complete log information including the reception serial number to a volatile memory.

상기 송신 프로세스는 상기 메시지 발송에 상응하여 상기 메시지에 대한 부분적 로그 정보를 상기 송신 프로세스의 휘발성 메모리에 기록할 수 있다.The sending process may write partial log information for the message in volatile memory of the sending process corresponding to sending the message.

상기 부분적 로그 정보는 상기 메시지의 송신일련번호, 상기 송신 프로세스의 식별정보, 상기 수신 프로세스의 식별정보 및 메시지의 실제 데이터 중 적어도 하나이다.The partial log information is at least one of a transmission serial number of the message, identification information of the transmission process, identification information of the reception process, and actual data of the message.

상기 완전 로그 정보의 기록에 따라 상기 대표 프로세스는 상기 수신일련번호 수신에 따른 응답을 상기 수신 프로세스로 전송하는 단계; 및 상기 수신 프로세스는 상기 응답에 따라 후행하는 메시지를 다른 프로세스로 전송하는 단계를 할 수 있다.In response to recording the complete log information, the representative process sends a response according to the reception serial number reception to the reception process; And the receiving process may transmit the following message to another process according to the response.

고장난 프로세스를 재생성한 회복 프로세스는 다른 프로세스로 회복 요구 메시지를 브로드캐스트하는 단계; 상기 회복 프로세스가 상기 회복 요구 메시지에 대해 메시지 및 로그 정보를 포함하는 응답을 수신하면, 상기 회복 프로세스의 재연 버퍼에 상기 응답에 대한 완전 로그 정보를 수신일련번호 순으로 저장하는 단계; 상기 회복 프로세스가 상기 수신일련번호가 할당되지 않은 메시지에 대한 부분적 로그 정보를 저장하는 단계; 및 상기 회복 프로세스가 상기 재연 버퍼에 정렬된 순서대로 고장 전 보내진 모든 메시지들을 순서대로 재연하는 단계를 더 포함할 수 있다.The recovery process that recreates the failed process may include broadcasting a recovery request message to another process; When the recovery process receives a response including a message and log information to the recovery request message, storing complete log information of the response in a received serial number order in a replay buffer of the recovery process; The recovery process storing partial log information for a message to which the serial number is not assigned; And regenerating, in sequence, all messages sent before the failure in an order arranged in the replay buffer.

상기 회복 요구 메시지를 브로드캐스트하는 단계는, 상기 고장난 프로세스가 대표 프로세스이면, 상기 회복 프로세스는 지역 내외의 다른 프로세스로 상기 회복 요구 메시지를 브로드캐스트하는 단계; 및 상기 고장난 프로세스가 대표 프로세스가 아니면, 상기 회복 프로세스는 지역 내의 다른 프로세스로 상기 회복 요구 메시지를 브로드캐스트하는 단계를 포함할 수 있다.The step of broadcasting the recovery request message may include: if the failed process is a representative process, the recovery process broadcasts the recovery request message to another process in or out of a region; And if the failed process is not a representative process, the recovery process may include broadcasting the recovery request message to another process in the region.

상기 회복 요구 메시지에 대한 응답에 포함된 메시지의 최종 수신 프로세스가 상기 대표 프로세스가 아니면, 상기 회복 프로세스는 상기 메시지를 상기 최종 수신 프로세스로 전송하는 단계; 및 상기 회복 프로세스는 상기 최종 수신 프로세스로부터 수신일련번호를 수신하고, 상기 수신일련번호를 포함하는 완전 메시지 로그 절차를 수행하는 단계를 포함할 수 있다.If the final receiving process of the message included in the response to the recovery request message is not the representative process, then the recovery process sends the message to the final receiving process; And the recovery process may include receiving a reception serial number from the final reception process and performing a complete message logging procedure including the reception serial number.

상기 부분적 로그 정보는 선입선출 순으로 저장되어 처리된다.The partial log information is stored and processed in a first-in, first-out order.

상기 메시지들을 순서대로 재연하는 단계는, 상기 회복 프로세스가 지역내의 모든 프로세스로부터 상기 회복 요구 메시지에 대한 응답을 수신한 이후 수행될 수 있다.Replaying the messages in order may be performed after the recovery process has received a response to the recovery request message from all processes in the region.

본 발명의 다른 실시예에 따르면, 복수의 프로세스를 포함하는 시스템에서의 송신자 기반 메시지의 로그를 관리하는 방법을 수행하기 위해 전자장치에 의해 실행될 수 있는 명령어의 프로그램이 유형적으로 구현되어 있으며, 상기 전자장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서, 대표 프로세스가 송신 프로세스로부터 메시지를 수신하는 단계; 상기 대표 프로세스가 상기 메시지의 최종 수신자가 아닌 경우, 상기 메시지를 수신 프로세스로 전달하고, 상기 수신 프로세스로부터 상기 메시지에 대한 수신일련번호를 수신하는 단계; 및 상기 대표 프로세스가 상기 수신일련번호를 포함하는 완전 로그 정보를 휘발성 메모리에 기록하는 단계를 수행하는 프로그램을 기록한 기록매체가 제공될 수 있다.
According to another embodiment of the present invention, a program of instructions that can be executed by an electronic device to perform a method for managing a log of sender-based messages in a system including a plurality of processes is tangibly implemented. A recording medium having recorded thereon a program that can be read by an apparatus, the recording medium comprising: a representative process receiving a message from a transmission process; If the representative process is not the last recipient of the message, forwarding the message to a receiving process and receiving a serial number for the message from the receiving process; And a recording medium on which a program for performing the step in which the representative process writes the complete log information including the reception serial number in the volatile memory.

본 발명의 실시예에 따른 로그 관리 방법을 제공함으로써, 메시지 로깅과 회복과정을 최대한 지역화시킬 수 있다.By providing a log management method according to an embodiment of the present invention, it is possible to localize the message logging and recovery process as much as possible.

이를 통해, 본 발명은 메시지 로깅 및 회복 과정시 코어 네트워크를 통한 제어 및 데이터 메시지들을 현저하게 줄일 수 있으며, 임의의 프로세스 고장시 회복 과정에 따른 완료시간을 현저하게 단축할 수 있다.
Through this, the present invention can significantly reduce the control and data messages through the core network during the message logging and recovery process, and can significantly shorten the completion time according to the recovery process in case of any process failure.

도 1은 종래의 프로세스간 메시지 전달 과정을 나타낸 순서도.
도 2는 종래의 프로세스간 메시지 전달 과정을 나타낸 모식도.
도 3은 본 발명의 일 실시예에 따른 메시지 로그 관리 과정을 나타낸 순서도.
도 4는 본 발명의 일 실시예에 따른 송신자 기반 메시지 로그 관리 방법을 설명하기 위해 나타낸 모식도.
도 5는 본 발명의 일 실시예에 따른 정상 수행시의 송신자 기반 메시지 로그 과정을 정형적으로 표현한 도면.
도 6은 본 발명의 일 실시예에 따른 임의의 프로세스 고장에 따른 회복 과정을 설명하기 위해 나타낸 순서도.
도 7은 본 발명의 일 실시예에 따른 회복 과정에 따른 정형적인 표현을 나타낸 도면.
도 8은 본 발명의 일 실시예에 따른 대표 프로세스의 고장에 따른 회복 과정을 설명하기 위해 나타낸 순서도.
1 is a flow chart illustrating a conventional inter-process message transfer process.
2 is a schematic diagram showing a conventional inter-process message transfer process.
3 is a flowchart illustrating a message log management process according to an embodiment of the present invention.
4 is a schematic diagram illustrating a sender-based message log management method according to an embodiment of the present invention.
5 is a diagram schematically illustrating a sender-based message logging process during normal operation according to an embodiment of the present invention.
6 is a flow chart illustrating the recovery process of any process failure in accordance with one embodiment of the present invention.
7 illustrates a formal representation of a recovery process in accordance with one embodiment of the present invention.
8 is a flowchart illustrating a recovery process according to a failure of a representative process according to an embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.BRIEF DESCRIPTION OF THE DRAWINGS The present invention is capable of various modifications and various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all transformations, equivalents, and substitutes included in the spirit and scope of the present invention. In the following description of the present invention, if it is determined that the detailed description of the related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다.
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 일 실시예에 따른 송신자 기반 메시지의 로그를 관리하는 시스템은 n(n은 자연수)개의 순차적인 프로세스의 집합 P로 구성되고, 각 프로세스가 언제나 접근할 수 있는 안정된 저장소가 존재할 수 있다.A system for managing a log of a sender-based message according to an embodiment of the present invention is composed of a set P of n (n is a natural number) sequential processes, and there may be a stable storage that each process can always access.

또한, 시스템을 구성하는 컴퓨팅 장치는 여러 지역에 분산되어 위치할 수 있으며, 각 지역내에서 가장 자원을 많이 소유한 프로세스 또는 컴퓨팅 장치가 대표자로 선출된다. 본 명세서에서는 이해와 설명의 편의를 도모하기 위해 선출된 대표자를 대표 프로세스로 통칭하여 설명하기로 한다. 여기서, 자원은 CPU, 메모리, 저장소, 네트워크 중 적어도 하나 이상일 수 있다. In addition, the computing devices constituting the system may be distributed in various regions, and the most resource-owning process or computing device in each region is elected as a representative. In this specification, elected representatives will be collectively described as a representative process to facilitate understanding and explanation. Here, the resource may be at least one of a CPU, a memory, a storage, and a network.

이하, 본 명세서에서 송신자 기반 메시지의 로그를 관리하는 시스템은 이해와 설명의 편의를 도모하기 위해 세 지역으로 구성되고, 7개의 프로세스가 수행되고 있는 것을 가정하여 설명하기로 한다. 물론, 구현상에서 송신자 기반 로그 관리 시스템은 적어도 하나의 지역으로 구성되고, 복수의 프로세스가 수행되는 경우 모두 동일하게 적용될 수 있음은 당연하다.Hereinafter, in the present specification, a system for managing a log of a sender-based message will be described assuming three processes and seven processes are performed to facilitate understanding and explanation. Of course, in an implementation, the sender-based log management system may be configured with at least one region, and all of them may be equally applied when a plurality of processes are performed.

또한, 송신자 기반 메시지 로그 저장 방식에서 실패한 각 프로세스는 마지막 검사점 저장 당시의 상태로 롤백되고, 대표 프로세스에 저장된 복구 정보를 이용하여 검사점 저장 이후 실패한 프로세스가 전달받은 메시지들을 재연하는 특징이 있다. 이러한 특징 때문에, 우리는 어떤 프로세스의 실패시의 일관성 있는 복구를 위해서는 그 프로세스가 마지막 검사점을 저장하기 전에 전달받은 메시지에 대한 로그가 필요 없다는 것을 알 수 있다.
In addition, each process that fails in the sender-based message log storage method is rolled back to the state at the time of the last checkpoint storage, and has a characteristic of replaying messages received by the failed process after the checkpoint storage using recovery information stored in the representative process. Because of this feature, we can see that a consistent recovery in the event of a process failure does not require a log of messages delivered before the process saves the last checkpoint.

[도 1 설명][Description of Fig. 1]

도 1은 종래의 프로세스간 메시지 전달 과정을 나타낸 순서도이다. 이하에서는 이해와 설명의 편의를 도모하기 위해 메시지를 송신하는 주체를 송신 프로세스라 칭하기로 하고, 메시지를 수신하는 주체를 수신 프로세스로 통칭하여 설명하기로 한다.1 is a flowchart illustrating a conventional inter-process message transfer process. Hereinafter, for convenience of understanding and explanation, the subject that transmits a message will be referred to as a transmission process, and the subject that receives a message will be collectively described as a reception process.

단계 110에서 송신 프로세스는 수신 프로세스로의 메시지 송신에 상응하여 부분적 메시지 로그 정보를 송신 프로세스의 휘발성 메모리에 저장한다.In step 110 the transmission process stores partial message log information in the volatile memory of the transmission process corresponding to the message transmission to the reception process.

본 명세서에서 부분적 메시지 로그 정보는 메시지에 대한 완전한 로그가 이니라 로그 기록을 위해 설정된 정보들 중 일부 정보가 로그로 기록된 정보를 의미한다. In the present specification, the partial message log information is not a complete log of the message, but refers to information in which some of the information set for log recording is recorded as a log.

이에 따라, 메시지에 대한 로그 정보 중 일부 정보가 기록된 경우 해당 로그 정보를 부분적 메시지 로그 정보라 칭하고, 해당 로그 정보에 로그를 위한 모든 정보가 기록(또는 갱신)되면, 해당 로그 정보를 완전한 메시지 로그 정보라 칭하여 설명하기로 한다.Accordingly, when some information of the log information for a message is recorded, the log information is called partial message log information. When all information for the log is recorded (or updated) in the log information, the log information is converted into a complete message log. This will be referred to as information.

부분적 메시지 로그 정보는 송신일련번호, 수신 프로세스 식별정보, 송신 프로세스 식별정보 및 실제 데이터 중 적어도 하나를 포함한다.The partial message log information includes at least one of a transmission serial number, a reception process identification information, a transmission process identification information, and actual data.

여기서, 송신일련번호는 송신 프로세스가 송신한 메시지의 일련번호를 나타내고, 수신 프로세스 식별정보 및 송신 프로세스 식별정보는 각각 프로세스를 식별하기 위한 식별정보를 나타낸다.Here, the transmission serial number indicates the serial number of the message sent by the transmission process, and the reception process identification information and the transmission process identification information indicate identification information for identifying the process, respectively.

송신일련번호를 부여하는 방식은 선행하는 메시지의 송신일련번호가 후행하는 메시지의 송신일련번호보다 크도록 부여될 수도 있으며, 선행하는 메시지의 송신일련번호가 후행하는 메시지의 송신일련번호보다 작도록 부여될 수도 있다. 송신일련번호가 작다고 반드시 선행된 메시지를 나타내지 않을 수 있음은 자명하다The method of assigning a transmission serial number may be given such that the transmission serial number of the preceding message is larger than the transmission serial number of the following message, and the transmission serial number of the preceding message is smaller than the transmission serial number of the following message. May be Obviously, a small serial number may not necessarily indicate a preceding message.

또한, 선행하는 메시지와 후행하는 메시지간의 송신일련번호의 차이가 반드시 동일한 차이는 아닐수도 있음은 당연하다.In addition, it is obvious that the difference in transmission serial numbers between the preceding message and the following message may not necessarily be the same difference.

다만, 본 명세서에서는 이해와 설명의 편의를 도모하기 위해 송신일련번호가 작은 경우, 선행하는 메시지를 나타내는 것을 가정하여 설명하기로 한다.However, in the present specification, in order to facilitate understanding and explanation, when the transmission serial number is small, it is assumed that the preceding message is assumed to be described.

단계 115에서 송신 프로세스는 수신 프로세스로부터 송신된 메시지에 상응하는 수신일련번호를 수신한다.In step 115 the sending process receives a receiving serial number corresponding to the message sent from the receiving process.

여기서, 수신일련번호는 수신 프로세스가 수신받은 메시지의 일련번호를 나타낸다. 수신일련번호는 수신 프로세스가 메시지를 수신받은 순서대로 부여될 수 있다. 송신일련번호 부여 방식과 동일하게 수신일련번호도 부여될 수 있다. 즉, 송신일련번호와 마찬가지로 수신일련번호가 작다고 반드시 선행하여 수신한 메시지를 나타내는 것을 아닐 수도 있다. 다만, 이해와 설명의 편의를 도모하기 위해 본 명세서에서는 송신일련번호와 마찬가지로 수신일련번호가 작은 경우, 선행하여 수신된 메시지를 나타내는 것을 가정하여 설명하기로 한다.Here, the reception serial number represents the serial number of the message received by the reception process. The receiving serial number may be given in the order in which the receiving process received the message. The reception serial number may also be assigned in the same manner as the transmission serial number assigning method. That is, like the transmission serial number, the reception serial number may not necessarily indicate a message previously received. However, for convenience of understanding and explanation, in the present specification, like the transmission serial number, when the reception serial number is small, it will be described on the assumption that it indicates a previously received message.

단계 120에서 송신 프로세스는 완전한 메시지 로그 과정을 수행한다.In step 120 the sending process performs a complete message logging procedure.

여기서, 완전한 메시지 로그 과정은 수신일련번호를 포함하여 메시지 로그 정보를 갱신하는 과정이다.Here, the complete message logging process is a process of updating the message log information including the reception serial number.

단계 125에서 송신 프로세스는 완전한 메시지 로그 과정 수행 완료를 수신 프로세스로 통지한다.In step 125 the sending process notifies the receiving process of the completion of the complete message logging procedure.

이와 같이, 종래의 송신자 기반 메시지 로그 관리 방법은 이와 같은 종래의 송신자 기반 메시지 로그 관리 방법은 각 지역들의 프로세스간 통신이 빈번해지는 경우, 네트워크간 많은 통신이 발생하는 단점이 있다.
As described above, the conventional sender-based message log management method has a disadvantage in that a lot of communication between networks occurs when communication between processes in each region becomes frequent.

[도 2 설명][Description of Fig. 2]

도 2는 종래의 프로세스간 메시지 전달 과정을 나타낸 모식도이다. 이해와 설명의 편의를 도모하기 위해 분산 시스템에 3개의 지역에 분산되어 있으며, 각각의 지역내의 프로세스가 7개인 것을 가정하여 설명하기로 한다.2 is a schematic diagram showing a conventional inter-process message transfer process. For convenience of understanding and explanation, it is assumed that it is distributed in three regions in a distributed system, and that there are seven processes in each region.

또한, 도 2에서 m1 내지 m4는 각각의 송신 프로세스에서 수신 프로세스로 송신되는 메시지를 나타내고, p1 내지 p7은 분산 시스템상의 각 지역에서 구동된 프로세스를 나타낸다. In addition, in FIG. 2, m1 to m4 represent messages transmitted from each transmission process to a reception process, and p1 to p7 represent processes driven in each region on a distributed system.

도 2에 도시된 바와 같이, 각 프로세스는 메시지 송신 이후, 메시지를 수신받은 다른 프로세스로부터 수신일련번호가 획득되는 시점에 메시지를 송신한 프로세스에 완전한 메시지 로그 정보를 기록한다.As shown in Fig. 2, each process writes complete message log information to the process that sent the message after the message transmission, at the time when the reception serial number is obtained from another process receiving the message.

이에 따라, 도 2에 도시된 바와 같이, 각 지역들의 프로세스간 통신이 빈번해지는 경우, 네트워크간 많은 통신이 발생하는 단점이 있다. Accordingly, as shown in FIG. 2, when interprocess communication in each region becomes frequent, there is a disadvantage in that a lot of communication occurs between networks.

이해와 설명의 편의를 도모하기 위해 p7이 p5로 메시지를 송신한 후 해당 메시지에 대한 완전한 메시지 로그 정보를 기록하는 방법에 대해 설명하기로 한다.For ease of understanding and explanation, we will describe how p7 sends a message to p5 and then writes complete message log information for that message.

210에서 p7이 p5로의 메시지 송신에 따라 부분적 메시지 로그 정보를 p7의 휘발성 메모리에 기록한다. 전술한 바와 같이, 부분적 메시지 로그 정보는 메시지 송신일련번호, p7 식별정보 및 p5 식별정보 중 적어도 하나일 수 있다.At 210, p7 writes partial message log information to volatile memory at p7 as the message is sent to p5. As described above, the partial message log information may be at least one of a message transmission serial number, p7 identification information, and p5 identification information.

이어, 215에서 p5가 메시지 수신에 따라 수신일련번호를 부여하고, 이를 p7으로 전송한다. 따라서, p7은 p5로부터의 수신일련번호 수신에 따라 해당 수신일련번호를 부분적 메시지 로그 정보에 갱신하여 완전한 메시지 로그 과정을 수행한다.Then, at 215, p5 assigns a reception serial number according to the message reception, and transmits it to p7. Accordingly, p7 updates the reception serial number to partial message log information according to the reception serial number received from p5 to perform a complete message logging process.

220에서 p7은 완전한 메시지 로그 과정 수행을 p5로 통지한다. 이에 따라, p5는 메시지를 다른 프로세스로 전송할 수 있다. 이하, 도 2에서 m2, m3 및 m4를 송신하고 이에 따른 메시지 로그를 기록하는 방법은 동일하므로 중복되는 설명은 생략하기로 한다.At 220 p7 notifies p5 that the complete message logging process has been performed. Accordingly, p5 can send the message to another process. Hereinafter, since the method of transmitting m2, m3 and m4 and recording the message log according to the same in FIG. 2 is the same, overlapping description will be omitted.

도 2에서 m1, m2 및 m4의 메시지 로깅시, 지역 외부간 통신이 빈번하게 발생하는 것을 알 수 있다.
In FIG. 2, when logging messages of m1, m2, and m4, it can be seen that communication between regions occurs frequently.

[도 3 설명][Description of Fig. 3]

도 3은 본 발명의 일 실시예에 따른 메시지 로그 관리 과정을 나타낸 순서도이다. 이하, 본 발명의 일 실시예에 따른 분산 시스템에서는 메시지 로깅을 위한 저장소를 지역내의 대표 프로세스상에 구비하는 것을 가정하여 설명하기로 한다. 전술한 바와 같이, 대표 프로세스는 지역내에서 자원을 가장 많이 점유한 프로세스로 선정될 수 있다.3 is a flowchart illustrating a message log management process according to an embodiment of the present invention. Hereinafter, a description will be given on the assumption that a distributed system according to an embodiment of the present invention includes a storage for message logging on a representative process in a region. As described above, the representative process may be selected as the process that occupies the most resources in the region.

단계 310에서 송신 프로세스는 송신할 메시지의 송신일련번호, 송신자 프로세스 식별정보 및 수신자 프로세스 식별정보를 포함하는 부분적 메시지 로그 정보를 송신자 프로세스의 휘발성 메모리에 저장한다. 물론, 본 명세서에서 메시지는 각각 메시지의 실제 데이터를 포함할 수 있다. 이에 따라, 부분적 메시지 로그 정보 및 완전한 메시지 로그 정보는 각각 메시지의 실제 데이터를 더 포함할 수 있음은 당연하다.In step 310, the sending process stores partial message log information, including the transmission serial number, sender process identification, and receiver process identification of the message to be sent, in the volatile memory of the sender process. Of course, in this specification, each message may include actual data of the message. Accordingly, it is obvious that the partial message log information and the complete message log information may each contain further actual data of the message.

단계 315에서 송신 프로세스가 메시지를 수신자 프로세스가 속한 지역의 대표 프로세스(이해와 설명의 편의를 도모하기 위해 지역 대표 프로세스로 칭하기로 함)로 전송한다.In step 315, the sending process sends the message to a representative process in the region to which the receiver process belongs (to be referred to as a regional representative process for ease of understanding and explanation).

단계 315가 단계 310이전에 수행될 수도 있음은 당연하다.Naturally, step 315 may be performed before step 310.

단계 317에서 대표 프로세스는 송신 프로세스로부터의 메시지 수신에 따라 당해 대표 프로세스가 수신된 메시지의 최종 수신자인지 여부를 판단한다.In step 317, the representative process determines whether the representative process is the last recipient of the received message according to the reception of the message from the transmission process.

만일 대표 프로세스가 최종 수신자가 아니면, 단계 320에서 대표 프로세스는 송신자 프로세스로부터 수신된 메시지를 지역내의 멤버 프로세스로 전송한다.If the representative process is not the final recipient, then in step 320 the representative process sends a message received from the sender process to a member process in the region.

이어, 단계 325에서 대표 프로세스는 지역 멤버 프로세스로부터 전송한 메시지에 대한 수신일련번호를 수신하고, 수신된 수신일련번호를 포함하는 완전한 메시지 로그 정보를 당해 대표 프로세스의 휘발성 메모리에 저장한다.Subsequently, in step 325, the representative process receives the reception serial number for the message sent from the local member process, and stores complete message log information including the received reception serial number in the volatile memory of the representative process.

이어, 단계 330에서 대표 프로세스는 메시지 로그 정보 저장에 따라 수신일련번호 수신에 따른 응답을 지역내의 멤버 프로세스로 전송한다.In operation 330, the representative process transmits a response according to the reception serial number reception to the member process in the region according to the storage of the message log information.

그러나 만일 대표 프로세스가 최종 수신자이면, 단계 335에서 대표 프로세스는 수신된 메시지에 대해 수신일련번호를 할당하고, 할당된 수신일련번호를 해당 메시지를 송신한 송신 프로세스로 전송한다.However, if the representative process is the final recipient, then in step 335 the representative process assigns a reception serial number to the received message and sends the assigned reception serial number to the sending process that sent the message.

이와 같이, 완전한 메시지 로그 정보를 지역내의 대표 프로세스의 휘발성 메모리에 유지함으로써, 프로세스간 메시지 전달에 따른 메시지 로그 관리시 지역간 통신수가 현저하게 줄어드는 것을 알 수 있다.In this way, by maintaining the complete message log information in the volatile memory of the representative process in the region, it can be seen that the number of inter-regional communications significantly reduced when managing the message log according to the inter-process message transfer.

도 4에서 본 발명의 일 실시예에 따라 도 2와 동일한 순서에 의해 프로세스간 메시지를 전달하는 과정에 대해 상세히 설명하기로 한다.
In Figure 4 according to an embodiment of the present invention will be described in detail the process of transferring the inter-process message in the same order as in FIG.

[도 4 설명][Description of Fig. 4]

도 4는 본 발명의 일 실시예에 따른 송신자 기반 메시지 로그 관리 방법을 설명하기 위해 나타낸 모식도이다. 도 4에서 p1 내지 p7은 각각 프로세스를 나타내고, p3, p4 및 p6이 각 지역의 대표 프로세스인 것을 가정하기로 한다. 4 is a schematic diagram illustrating a sender-based message log management method according to an embodiment of the present invention. In FIG. 4, p1 to p7 represent processes, and it is assumed that p3, p4, and p6 are representative processes of respective regions.

도 4를 참조하면, 각 지역 외부간의 통신이 도 2에 비해 현저하게 줄어든 것을 알 수 있다.Referring to FIG. 4, it can be seen that communication between the outside of each region is significantly reduced compared to FIG. 2.

우선 이해와 설명의 편의를 도모하기 위해 제1 메시지 송신에 따라 메시지를 로깅하는 과정을 설명하기로 한다.First, for convenience of understanding and explanation, a process of logging a message according to the first message transmission will be described.

제3 지역의 p7은 제1 메시지를 제2 지역으로 송신에 따라 제1 메시지에 대한 부분적 메시지 로그 정보를 p7의 휘발성 메모리에 기록한다(410).P7 in the third region writes the partial message log information for the first message to the volatile memory of p7 as the first message is sent to the second region.

제2 지역의 대표 프로세스는 제1 메시지의 수신에 따라 당해 제1 메시지의 최종 수신자가 당해 대표 프로세스가 아닌 경우, 제1 메시지를 지역내의 수신 프로세스(p5)로 전송한다(415). The representative process of the second region sends (415) the first message to the reception process p5 in the region if the last recipient of the first message is not the representative process upon receipt of the first message.

이어, 제2 지역 대표 프로세스는 지역 내의 제1 메시지 수신 프로세스로부터 수신일련번호를 수신한다. 이에 따라 제2 지역 대표 프로세스는 제1 메시지의 수신일련번호를 포함하여 완전한 메시지 로그 정보를 대표 프로세스의 휘발성 메모리에 기록한다(420).The second regional representative process then receives a serial number from a first message receiving process in the region. Accordingly, the second local representative process writes complete message log information, including the serial number of the first message, to the volatile memory of the representative process (420).

제2 지역 대표 프로세스는 완전한 메시지 로그 과정 수행 완료를 지역 내의 수신 프로세스(p5)로 통지한다(425). 이에 따라 해당 수신 프로세스(p5)가 제2 메시지 전달 과정을 수행할 수 있다.The second area representative process notifies the receiving process p5 in the area of completion of the complete message logging process (425). Accordingly, the reception process p5 may perform a second message transfer process.

이하, 도 4의 제2 메시지, 제3 메시지 및 제4 메시지를 지역 내부 또는/및 지역 외부 프로세스간 전달에 따른 메시지 로깅 과정은 제1 메시지 전달에 따른 메시지 로깅 과정과 동일하므로 중복되는 설명은 생략하기로 한다.Hereinafter, since the message logging process according to the delivery of the second message, the third message, and the fourth message of FIG. 4 between an internal process and / or an external process is the same as the message logging process according to the first message delivery, a redundant description will be omitted. Let's do it.

이와 같이, 프로세스간 메시지 전달에 따른 완전한 메시지 로그 정보를 지역 내의 대표 프로세스에 유지하도록 함으로써, 메시지 전달에 따른 지역 외부로의 통신을 현저하게 줄일 수 있는 이점이 있다.
In this way, by maintaining the complete message log information according to the inter-process message delivery to the representative process in the region, there is an advantage that can significantly reduce the communication outside the region due to message delivery.

[도 5 설명][Description of Fig. 5]

도 5는 본 발명의 일 실시예에 따른 정상 수행시의 송신자 기반 메시지 로그 과정을 정형적으로 표현한 도면이다.5 is a diagram schematically illustrating a sender-based message logging process during normal operation according to an embodiment of the present invention.

도 5에서 Psndr는 송신 프로세스를 나타내고, Msg-Send(m)은 메시지를 송신하고 당해 Psndr의 휘발성 메모리에 송신된 메시지의 부분적 메시지 로그 정보를 기록하는 절차이다.In FIG. 5, P sndr represents a transmission process, and Msg-Send (m) is a procedure of transmitting a message and writing partial message log information of a message transmitted to the volatile memory of the P sndr .

BRAi는 Ai지역 대표 프로세스를 나타내고, Msg-Recv(m) of Broker BRAi은 Ai 지역 대표 프로세스가 메시지의 최종 수신자가 아닌 경우, 지역내의 최종 수신 프로세스로 메시지를 전달하고, 만일 지역 대표 프로세스가 메시지의 최종 수신자이면 수신일련번호를 할당하여 송신 프로세스로 전달하는 절차이다.BR Ai represents the Ai regional representative process, and Msg-Recv (m) of Broker BR Ai forwards the message to the final receiving process in the region if the Ai regional representative process is not the final recipient of the message. If the message is the final recipient, the procedure assigns a receiving serial number and sends it to the sending process.

Prcvr는 최종 수신 프로세스를 나타내고, Msg-Recv(m) of Receiver Prcvr은 최종 수신 프로세스가 메시지 수신에 따라 수신일련번호를 할당하고, 지역내의 대표 프로세스로 수신일련번호를 전달하는 절차이다.P rcvr represents a final receiving process, and Msg-Recv (m) of Receiver P rcvr is a procedure in which the last receiving process allocates a receiving serial number according to the message reception and delivers the receiving serial number to a representative process in the region.

RSN-Rcvr(RSN of m) 는 수신된 메시지m의 수신일련번호를 메시지 송신 프로세스 또는 대표 프로세스의 휘발성 메모리에 로그 정보를 갱신하는 절차이다. RSN-Rcvr (RSN of m) is a procedure for updating the log information in the volatile memory of the message transmission process or the representative process the reception serial number of the received message m.

RSN-Confirm(m)은 메시지 m의 수신 프로세스가 메시지 m의 송신 프로세스의 휘발성 메모리에 메시지 m에 대한 완전한 메시지 로그 정보의 기록을 통지하여 메시지 m 수신 이후 수신 프로세스로 하여금 송신될 예정인 메시지들이 실제 송신될 수 있도록 하는 절차이다.
RSN-Confirm (m) notifies the receiving process of message m to record the complete message log information for message m in the volatile memory of the sending process of message m so that after receiving message m, the receiving process is actually sending It is a procedure to make it possible.

[도 6 설명][Description of Fig. 6]

도 6은 본 발명의 일 실시예에 따른 임의의 프로세스 고장에 따른 회복 과정을 설명하기 위해 나타낸 순서도이고, 도 7은 본 발명의 일 실시예에 따른 회복 과정에 따른 정형적인 표현을 나타낸 도면이다. 이하에서는 임의의 지역내의 대표 프로세스가 아닌 지역내의 멤버 프로세스들 중 어느 하나가 고장난 것을 가정하여 설명하기로 한다. 6 is a flowchart illustrating a recovery process according to any process failure according to an embodiment of the present invention, and FIG. 7 is a view showing a formal representation according to a recovery process according to an embodiment of the present invention. In the following description, it is assumed that any one of the member processes in the region is not a representative process in any region.

단계 610에서 고장난 프로세스는 가용 가능한 다른 프로세스상에 재생성된다. 고장난 프로세스가 가용 가능한 다른 프로세스상에 재생성되는 방법은 당업자에게는 자명한 사항이므로 이에 대한 별도의 설명은 생략하기로 한다. 이하, 이해와 설명의 편의를 도모하기 위해 고장난 프로세스를 재생성한 프로세스를 회복 프로세스라 칭하기로 한다. The failed process in step 610 is regenerated on another available process. How the failed process is reproduced on other available processes is obvious to those skilled in the art, and thus a separate description thereof will be omitted. Hereinafter, the process of regenerating the failed process for the convenience of understanding and explanation will be referred to as a recovery process.

단계 615에서 회복 프로세스는 안전한 저장소에 유지되는 고장난 프로세스의 가장 최근 검사점부터 고장전 상태로 회복되고, 지역 멤버 프로세스로 회복 요구 메시지를 브로드캐스트한다.At step 615, the recovery process recovers to the pre-failure state from the most recent checkpoint of the failed process maintained in the secure store, and broadcasts a recovery request message to the local member process.

단계 620에서 회복 프로세스는 지역내의 다른 프로세스로부터 회복 요구 메시지에 상응하여 기송신된 메시지 및 로그 정보를 포함하는 답변 메시지를 수신한다. In step 620, the recovery process receives a response message including the message sent and the log information corresponding to the recovery request message from another process in the area.

단계 625에서 회복 프로세스는 로그 정보를 이용하여 수신일련번호 순으로 수신된 메시지를 재연버퍼에 저장한다. In step 625, the recovery process stores the received messages in the replay buffer using the log information.

이때, 회복 프로세스는 수신일련번호가 할당되지 않은 메시지가 수신된 경우, 선입선출 방식으로 메시지를 재연버퍼에 저장한다.At this time, the recovery process stores the message in the replay buffer in a first-in first-out manner when a message is received that is not assigned a reception serial number.

단계 630에서 회복 프로세스는 재연버퍼에 정렬된 순서대로 메시지들을 재연한다.In step 630 the recovery process replays the messages in the order arranged in the replay buffer.

도 7에는 회복 수행시의 송신자 기반 메시지 로그 과정을 정형적으로 표현한 도면이 도시되어 있다. 도 7에는 대표 프로세스가 아닌 지역내의 멤버 프로세스가 고장난 경우 회복 과정을 정형화하여 표현한 알고리즘이다.
FIG. 7 is a diagram schematically illustrating a sender-based message logging process when performing recovery. FIG. 7 illustrates an algorithm representing a recovery process when a member process in a region other than the representative process fails.

[도 8 설명][Description of Fig. 8]

도 8은 본 발명의 일 실시예에 따른 대표 프로세스의 고장에 따른 회복 과정을 설명하기 위해 나타낸 순서도이다. 이하에서는 가용 가능한 다른 프로세스상에 대표 프로세스가 재생성된 것을 가정하여 설명하기로 한다. 이해와 설명의 편의를 도모하기 위해 재생성된 대표 프로세스를 회복 프로세스라 통칭하여 설명하기로 한다.8 is a flowchart illustrating a recovery process according to a failure of a representative process according to an embodiment of the present invention. In the following description, it is assumed that a representative process is regenerated on another available process. In order to facilitate understanding and explanation, the regenerated representative process will be described collectively as a recovery process.

단계 810에서 회복 프로세스는 가장 최근 검사점부터 고장전 상태로 회복한다.In step 810 the recovery process recovers to the pre-failure state from the most recent checkpoint.

단계 815에서 회복 프로세스는 실패전 다른 프로세스로 회복 요구 메시지를 브로드캐스트한다. 이때, 회복 프로세스는 회복 요구 메시지를 지역 내 및 지역 외의 다른 프로세스로 브로드캐스트할 수 있다.In step 815 the recovery process broadcasts a recovery request message to another process before failure. At this point, the recovery process may broadcast a recovery request message to other processes in and out of the region.

단계 820에서 회복 프로세스는 다른 프로세스로부터 회복 요구 메시지에 상응하여 기송신된 메시지 및 로그 정보를 포함하는 답변 메시지를 수신한다.In step 820, the recovery process receives from the other process a reply message including the message sent and the log information corresponding to the recovery request message.

단계 825에서 회복 프로세스는 답변 메시지의 최종 수신자가 당해 회복 프로세스인지 여부를 판단한다.In step 825 the recovery process determines whether the final recipient of the reply message is the recovery process.

만일 답변 메시지의 최종 수신자가 당해 회복 프로세스이면, 단계 830에서 회복 프로세스는 로그 정보를 이용하여 수신일련번호 순으로 수신된 메시지를 재연버퍼에 저장한다. 물론, 회복 프로세스는 수신일련번호가 할당되지 않은 메시지가 수신된 경우, 선입선출 방식으로 메시지를 재연버퍼에 저장한다.If the last recipient of the reply message is the recovery process, then at step 830 the recovery process stores the received messages in the reception serial number in the replay buffer using the log information. Of course, the recovery process stores the message in the replay buffer on a first-in, first-out basis when a message is received that is not assigned a serial number.

이어, 단계 835에서 회복 프로세스는 재연버퍼에 정렬된 순서대로 메시지들을 재연한다.The recovery process then replays the messages in the order arranged in the replay buffer.

그러나 만일 답변 메시지의 최종 수신자가 회복 프로세스가 아니면, 단계 840에서 회복 프로세스는 메시지를 최종 수신 프로세스로 전송한다.However, if the last recipient of the reply message is not the recovery process, then at step 840 the recovery process sends the message to the final receiving process.

단계 845에서 회복 프로세스는 최종 수신 프로세스로부터 수신일련번호를 수신하고, 수신된 수신일련번호를 포함하여 완전 메시지 로그 정보 회복 과정을 수행한다. In step 845, the recovery process receives the reception serial number from the last reception process and performs a complete message log information recovery process including the received reception serial number.

한편, 본 발명의 실시예에 따른 송신자 기반 메시지 로그 절차를 수행하는 방법은 다양한 전자적으로 정보를 처리하는 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 저장 매체에 기록될 수 있다. 저장 매체는 프로그램 명령, 데이터 파일, 데이터 구조등을 단독으로 또는 조합하여 포함할 수 있다. Meanwhile, the method for performing the sender-based message logging procedure according to the embodiment of the present invention may be implemented in the form of program instructions that can be executed through various electronic means for processing information and recorded in the storage medium. The storage medium may include program instructions, data files, data structures, etc. alone or in combination.

저장 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 저장 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 상술한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. Program instructions to be recorded on the storage medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of software. Examples of storage media include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic-optical media such as floppy disks. hardware devices specifically configured to store and execute program instructions such as magneto-optical media and ROM, RAM, flash memory, and the like. In addition, the above-described medium may be a transmission medium such as an optical or metal wire, a waveguide, or the like including a carrier wave for transmitting a signal specifying a program command, a data structure, and the like. Examples of program instructions include not only machine code generated by a compiler, but also devices that process information electronically using an interpreter, for example, high-level language code that can be executed by a computer.

상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention as defined in the appended claims. It will be understood that the invention may be varied and varied without departing from the scope of the invention.

Claims (10)

복수의 프로세스를 포함하는 시스템에서 송신자 기반 메시지의 로그를 관리하는 방법에 있어서,
대표 프로세스가 송신 프로세스로부터 메시지를 수신하는 단계;
상기 대표 프로세스가 상기 메시지의 최종 수신자가 아닌 경우, 상기 메시지를 수신 프로세스로 전달하고, 상기 수신 프로세스로부터 상기 메시지에 대한 수신일련번호를 수신하는 단계; 및
상기 대표 프로세스가 상기 수신일련번호를 포함하는 완전 로그 정보를 휘발성 메모리에 기록하는 단계를 포함하는 로그 관리 방법.
A method of managing a log of sender-based messages in a system comprising a plurality of processes, the method comprising:
The representative process receiving the message from the sending process;
If the representative process is not the last recipient of the message, forwarding the message to a receiving process and receiving a serial number for the message from the receiving process; And
And the representative process writes complete log information including the received serial number to volatile memory.
제1 항에 있어서,
상기 송신 프로세스는 상기 메시지 발송에 상응하여 상기 메시지에 대한 부분적 로그 정보를 상기 송신 프로세스의 휘발성 메모리에 기록하는 것을 특징으로 하는 로그 관리 방법.
The method according to claim 1,
And wherein said sending process writes partial log information for said message in volatile memory of said sending process corresponding to sending said message.
제2 항에 있어서,
상기 부분적 로그 정보는 상기 메시지의 송신일련번호, 상기 송신 프로세스의 식별정보 및 상기 수신 프로세스의 식별정보 중 적어도 하나인 것을 특징으로 하는 로그 관리 방법.
The method of claim 2,
And the partial log information is at least one of a transmission serial number of the message, identification information of the transmission process, and identification information of the reception process.
제1 항에 있어서,
상기 완전 로그 정보의 기록에 따라 상기 대표 프로세스는 상기 수신일련번호 수신에 따른 응답을 상기 수신 프로세스로 전송하는 단계; 및
상기 수신 프로세스는 상기 응답에 따라 후행하는 메시지를 다른 프로세스로 전송하는 단계를 포함하는 로그 관리 방법.
The method according to claim 1,
In response to recording the complete log information, the representative process sends a response according to the reception serial number reception to the reception process; And
The receiving process includes the step of sending a subsequent message to another process according to the response.
제1 항에 있어서,
고장난 프로세스를 재생성한 회복 프로세스는 다른 프로세스로 회복 요구 메시지를 브로드캐스트하는 단계;
상기 회복 프로세스가 상기 회복 요구 메시지에 대해 메시지 및 로그 정보를 포함하는 응답을 수신하면, 상기 회복 프로세스의 재연 버퍼에 상기 응답에 대한 완전 로그 정보를 수신일련번호 순으로 저장하는 단계;
상기 회복 프로세스가 상기 수신일련번호가 할당되지 않은 메시지에 대한 부분적 로그 정보를 저장하는 단계; 및
상기 회복 프로세스가 상기 재연 버퍼에 정렬된 순서대로 고장 전 보내진 모든 메시지들을 순서대로 재연하는 단계를 포함하는 로그 관리 방법.
The method according to claim 1,
The recovery process that recreates the failed process may include broadcasting a recovery request message to another process;
When the recovery process receives a response including a message and log information to the recovery request message, storing complete log information of the response in a received serial number order in a replay buffer of the recovery process;
The recovery process storing partial log information for a message to which the serial number is not assigned; And
And the recovery process replays in sequence all the messages sent before the failure in the order arranged in the replay buffer.
제5 항에 있어서,
상기 회복 요구 메시지를 브로드캐스트하는 단계는,
상기 고장난 프로세스가 대표 프로세스이면, 상기 회복 프로세스는 지역 내외의 다른 프로세스로 상기 회복 요구 메시지를 브로드캐스트하는 단계; 및
상기 고장난 프로세스가 대표 프로세스가 아니면, 상기 회복 프로세스는 지역 내의 다른 프로세스로 상기 회복 요구 메시지를 브로드캐스트하는 단계를 포함하는 것을 특징으로 하는 로그 관리 방법.
The method of claim 5,
Broadcasting the recovery request message,
If the failed process is a representative process, the recovery process broadcasts the recovery request message to another process in or out of the region; And
If the failed process is not a representative process, the recovery process comprises broadcasting the recovery request message to another process in the region.
제5 항에 있어서,
상기 회복 요구 메시지에 대한 응답에 포함된 메시지의 최종 수신 프로세스가 상기 대표 프로세스가 아니면, 상기 회복 프로세스는 상기 메시지를 상기 최종 수신 프로세스로 전송하는 단계; 및
상기 회복 프로세스는 상기 최종 수신 프로세스로부터 수신일련번호를 수신하고, 상기 수신일련번호를 포함하여 로그 회복 절차를 수행하는 단계를 포함하는 로그 관리 방법.
The method of claim 5,
If the final receiving process of the message included in the response to the recovery request message is not the representative process, then the recovery process sends the message to the final receiving process; And
The recovery process includes receiving a reception serial number from the last reception process, and performing a log recovery procedure including the reception serial number.
제5 항에 있어서,
상기 부분적 로그 정보는 선입선출 순으로 저장되어 처리되는 것을 특징으로 하는 로그 관리 방법.
The method of claim 5,
The partial log information is stored and processed in a first-in, first-out order.
제5 항에 있어서,
상기 메시지들을 순서대로 재연하는 단계는,
상기 회복 프로세스가 지역내의 모든 프로세스로부터 상기 회복 요구 메시지에 대한 응답을 수신한 이후 수행되는 것을 특징으로 하는 로그 관리 방법.
The method of claim 5,
Reproducing the messages in order,
And the recovery process is performed after receiving a response to the recovery request message from all processes in the region.
복수의 프로세스를 포함하는 시스템에서의 송신자 기반 메시지의 로그를 관리하는 방법을 수행하기 위해 전자장치에 의해 실행될 수 있는 명령어의 프로그램이 유형적으로 구현되어 있으며, 상기 전자장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서
대표 프로세스가 송신 프로세스로부터 메시지를 수신하는 단계;
상기 대표 프로세스가 상기 메시지의 최종 수신자가 아닌 경우, 상기 메시지를 수신 프로세스로 전달하고, 상기 수신 프로세스로부터 상기 메시지에 대한 수신일련번호를 수신하는 단계; 및
상기 대표 프로세스가 상기 수신일련번호를 포함하는 완전 로그 정보를 휘발성 메모리에 기록하는 단계를 수행하는 프로그램을 기록한 기록매체.
In order to perform a method for managing a log of sender-based messages in a system including a plurality of processes, a program of instructions that can be executed by an electronic device is tangibly implemented, and a program that can be read by the electronic device is implemented. In the recording medium
The representative process receiving the message from the sending process;
If the representative process is not the last recipient of the message, forwarding the message to a receiving process and receiving a serial number for the message from the receiving process; And
And recording the program by the representative process to write the complete log information including the received serial number into the volatile memory.
KR1020110043125A 2010-11-05 2011-05-06 Log management method KR101219190B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20100109533 2010-11-05
KR1020100109533 2010-11-05

Publications (2)

Publication Number Publication Date
KR20120048460A true KR20120048460A (en) 2012-05-15
KR101219190B1 KR101219190B1 (en) 2013-01-09

Family

ID=46266803

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110043125A KR101219190B1 (en) 2010-11-05 2011-05-06 Log management method

Country Status (1)

Country Link
KR (1) KR101219190B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109039782A (en) * 2018-09-25 2018-12-18 郑州云海信息技术有限公司 A kind of cluster log recording method and relevant apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109039782A (en) * 2018-09-25 2018-12-18 郑州云海信息技术有限公司 A kind of cluster log recording method and relevant apparatus

Also Published As

Publication number Publication date
KR101219190B1 (en) 2013-01-09

Similar Documents

Publication Publication Date Title
US11614867B2 (en) Distributed storage system-based data processing method and storage device
US9411685B2 (en) Parity chunk operating method and data server apparatus for supporting the same in distributed raid system
US10491560B2 (en) Message delivery in messaging networks
CN106708653B (en) Mixed tax big data security protection method based on erasure code and multiple copies
CN103138912B (en) Method of data synchronization and system
US11394777B2 (en) Reliable data storage for decentralized computer systems
US20180027048A1 (en) File transmission method, apparatus, and distributed cluster file system
CN109582213B (en) Data reconstruction method and device and data storage system
CN111338893B (en) Process log processing method, device, computer equipment and storage medium
CN101720478A (en) High availability transport
CN102298547A (en) Data backup method and device
CN115167782B (en) Temporary storage copy management method, system, equipment and storage medium
CN106873902B (en) File storage system, data scheduling method and data node
CN103327085A (en) Distributed data processing method, data center and distributed data system
CN113885797B (en) Data storage method, device, equipment and storage medium
CN113411363A (en) Uploading method of image file, related equipment and computer storage medium
CN107943567B (en) High-reliability task scheduling method and system based on AMQP protocol
KR101219190B1 (en) Log management method
CN114860505B (en) Object storage data asynchronous backup method and system
CN102325171A (en) Data storage method in monitoring system and system
CN105094761A (en) Data storage method and device
KR101486546B1 (en) Duplication system and method for treating system failure
US20110320509A1 (en) Managing the site where data is stored in a distributed storage system
US20030033440A1 (en) Method of logging message activity
US20120016969A1 (en) Distributed object management system, distributed object management server, distributed object management method and computer program of the same

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee