KR100310285B1 - Group communication method supporting fault-tolerant service in the real-time object-oriented distributed platform - Google Patents

Group communication method supporting fault-tolerant service in the real-time object-oriented distributed platform Download PDF

Info

Publication number
KR100310285B1
KR100310285B1 KR1019990061286A KR19990061286A KR100310285B1 KR 100310285 B1 KR100310285 B1 KR 100310285B1 KR 1019990061286 A KR1019990061286 A KR 1019990061286A KR 19990061286 A KR19990061286 A KR 19990061286A KR 100310285 B1 KR100310285 B1 KR 100310285B1
Authority
KR
South Korea
Prior art keywords
message
group
buffer
transmission
objects
Prior art date
Application number
KR1019990061286A
Other languages
Korean (ko)
Other versions
KR20010057872A (en
Inventor
이은향
장형규
차영준
임동선
전경표
김영만
Original Assignee
오길록
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오길록, 한국전자통신연구원 filed Critical 오길록
Priority to KR1019990061286A priority Critical patent/KR100310285B1/en
Publication of KR20010057872A publication Critical patent/KR20010057872A/en
Application granted granted Critical
Publication of KR100310285B1 publication Critical patent/KR100310285B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/417Bus networks with decentralised control with deterministic access, e.g. token passing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 실시간 객체지향 분산 플랫폼에서 고장감내 서비스를 지원하는 그룹통신 방법 및 그 기록매체에 관한 것으로, 분산 컴퓨팅 환경에서 프로세서들의 그룹 내부 및 다수의 그룹간의 멤버쉽을 관리하며, 객체 중복성의 개념에 근거하여 실시간 객체지향 분산 플랫폼상에서 고장감내 서비스를 지원하기 위한 그룹통신 방법 및 그 기록매체를 제공하기 위하여, 데이터 무결성을 보장하기 위하여 그룹내 모든 객체의 수신 처리부에서 모든 메시지를 동일한 순서로 나열하여 플랫폼으로 전달하는 단계; 토큰 처리부에서 토큰 메시지를 그룹 객체들 사이로 순환시키면서 결핍된 메시지를 재전송하고, 순차번호를 새로이 배정하여 수신 메시지를 정렬되고 완전한 형태로 관리하는 단계; 송신 처리부에서 메시지 전송의 효율을 기하기 위해 그룹 모델별로 메시지 송신여부를 결정하여 실행하고, 송신 버퍼를 고장감내를 위하여 관리하는 단계; 및 그룹내 일부객체에 고장이 발생했을 때, 고장 처리부에 의하여 새로운 그룹 멤버를 결정하는 단계를 포함하며, 분산 플랫폼을 가진 실시간 시스템 등에 이용됨.The present invention relates to a group communication method for supporting a fault tolerance service in a real-time object-oriented distributed platform, and a recording medium. The present invention manages membership within a group of processors and a plurality of groups in a distributed computing environment, and based on the concept of object redundancy. In order to provide a group communication method and a recording medium for supporting a fault tolerance service on a real-time object-oriented distributed platform, all the messages are arranged in the same order in the receiving processing unit of all the objects in the group to ensure data integrity. Delivering; Retransmitting the missing message while circulating the token message between the group objects in the token processing unit, and managing the received message in a sorted and complete form by newly assigning a sequence number; Determining whether or not to transmit a message for each group model in order to improve the efficiency of the message transmission, and managing the transmission buffer for fault tolerance; And determining a new group member by a failure handling unit when a failure occurs in some objects in the group, and used for a real-time system having a distributed platform.

Description

실시간 객체지향 분산 플랫폼에서 고장감내 서비스를 지원하는 그룹통신 방법{Group communication method supporting fault-tolerant service in the real-time object-oriented distributed platform}Group communication method supporting fault-tolerant service in the real-time object-oriented distributed platform

본 발명은 분산 컴퓨팅 환경하의 객체지향 분산 플랫폼에서 고장감내 서비스를 지원하는 그룹통신 방법 및 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.The present invention relates to a group communication method for supporting a fault tolerance service in an object-oriented distributed platform in a distributed computing environment, and to a computer readable recording medium having recorded thereon a program for realizing the method.

객체지향 분산 플랫폼은 공통객체 요구 브로커 구조(CORBA : Common Object Request Broker Architecture)라는 표준사양을 가지고 있는데, 현재 실시간 및 고장감내 서비스에 관한 추가사양을 제정하고 있는 중이다.The object-oriented distributed platform has a standard specification called Common Object Request Broker Architecture (CORBA), and is currently enacting additional specifications regarding real-time and fault tolerance services.

CORBA에서의 고장감내 서비스는 복수 개의 복제 객체들을 복제 객체 그룹으로 형성하여 각 멤버가 동일 기능을 수행하도록 함으로써 일부 객체에 고장이 발생하더라도 나머지 객체들은 정상적으로 작업을 진행한다는 객체 중복성의 개념에 근거하고 있다.The fault tolerance service in CORBA is based on the concept of object redundancy, in which a plurality of duplicate objects are formed into duplicate object groups so that each member performs the same function. .

한편, 객체 그룹간 혹은 객체 그룹내 통신은 멀티캐스팅으로서 일대다 혹은 다대다 통신을 하는데, 이때 모든 객체에서 동일한 결과를 도출하기 위해서는 한 그룹에 속한 모든 객체들이 동일한 순서로 인과관계에 맞게 정렬된 메시지들을 차례로 실행하는 것이 필수적이며, 이 조건을 인과적 정렬(Causal Ordering) 혹은 전체 정렬(Total Ordering)이라 한다.On the other hand, communication between object groups or within an object group is one-to-many or many-to-many communication as multicasting. In order to obtain the same result in all objects, a message in which all objects in a group are arranged in a causal order in the same order It is essential to execute them in turn, and this condition is called causal ordering or total ordering.

그룹내의 객체들에서 발생하는 고장을 감내하면서 정렬 조건들을 일관성있게 충족시켜간다는 것은 매우 복잡한 문제이기 때문에 많은 연구가 이 분야에서 이루어 졌다.Much research has been done in this area because it is a very complex problem to consistently meet the alignment conditions while tolerating the failures in the objects in the group.

종래의 그룹통신에서는 그룹내의 객체들이 복제 객체일 필요가 없고 하나의 객체가 임의의 복수개의 그룹에 속하는 일반적인 상황하에서 적용되는 방법들을 사용해왔다.Conventional group communication has used methods in which the objects in a group do not need to be duplicate objects and are applied under a general situation in which one object belongs to any plurality of groups.

한편, 객체지향 분산 플랫폼의 고장감내 서비스를 위한 복제 객체 그룹에서는 그룹내 모든 구성원이 동일한 코드를 가지고 있어서 동일한 작업을 수행하며, 한 객체는 정확히 한 그룹내에 속하며, 그룹간에는 클라이언트/서버 연결에 의한 요구-응답 절차에 따라 운영되므로 훨씬 효율적인 방법을 고안할 수 있다. 이에, 실시간 객체지향 분산 플랫폼상에서 고장감내 서비스를 지원할 수 있는 효율적인 통신 방법이 필수적으로 요구된다.On the other hand, in the replication object group for fault-tolerant service of object-oriented distributed platform, all members in the group have the same code to perform the same task, and one object belongs to exactly one group, and requests between client / server connection between groups It operates according to the response procedure, so a much more efficient way can be devised. Therefore, an efficient communication method capable of supporting a fault tolerance service on a real-time object-oriented distributed platform is required.

본 발명은 상기한 바와 같은 요구에 부응하기 위하여 제안된 것으로, 분산 컴퓨팅 환경에서 프로세서들의 그룹 내부 및 다수의 그룹간의 멤버쉽을 관리하며, 객체 중복성의 개념에 근거하여 실시간 객체지향 분산 플랫폼상에서 고장감내 서비스를 지원하기 위한 그룹통신 방법 및 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.The present invention has been proposed to meet the above requirements, and manages membership within a group of processors and a plurality of groups in a distributed computing environment, and provides fault tolerance services on a real-time object-oriented distributed platform based on the concept of object redundancy. It is an object of the present invention to provide a group communication method for supporting a computer readable recording medium recording a program for realizing the method.

도 1 은 본 발명이 적용되는 실시간 객체지향 분산시스템의 구성 예시도.1 is an exemplary configuration of a real-time object-oriented distributed system to which the present invention is applied.

도 2 는 본 발명에 이용되는 그룹통신 모듈이 지원하는 복제 객체 그룹 모델들의 기능을 나타낸 일실시예 설명도.FIG. 2 is a diagram illustrating an embodiment of functions of duplicate object group models supported by a group communication module used in the present invention. FIG.

도 3 은 본 발명에 이용되는 그룹간의 메시지 흐름을 나타낸 설명도.3 is an explanatory diagram showing a message flow between groups used in the present invention.

도 4 는 본 발명에 이용되는 그룹통신 모듈의 내부 구성 예시도.4 is an exemplary internal configuration of a group communication module used in the present invention.

도 5 는 본 발명에 이용되는 그룹통신 모듈의 내부 기능을 나타낸 일실시예 설명도.5 is a diagram for explaining an internal function of a group communication module used in the present invention.

도 6 은 본 발명에 따른 고장감내 서비스를 지원하는 그룹통신 방법중 그룹통신 모듈내의 수신 처리부에서의 처리 과정에 대한 일실시예 흐름도.FIG. 6 is a flowchart illustrating a process performed by a receiving processor in a group communication module in a group communication method supporting a fault tolerance service according to the present invention; FIG.

도 7 은 본 발명에 따른 고장감내 서비스를 지원하는 그룹통신 방법중 그룹통신 모듈내의 토큰 처리부에서의 처리 과정에 대한 일실시예 흐름도.7 is a flowchart illustrating a process performed by a token processing unit in a group communication module in a group communication method supporting a fault tolerance service according to the present invention;

도 8 은 본 발명에 따른 고장감내 서비스를 지원하는 그룹통신 방법중 그룹통신 모듈내의 송신 처리부에서의 처리 과정에 대한 일실시예 흐름도.8 is a flowchart illustrating a process performed by a transmission processing unit in a group communication module in a group communication method supporting fault tolerance service according to the present invention.

도 9 는 본 발명에 따른 고장감내 서비스를 지원하는 그룹통신 방법중 그룹통신 모듈내의 고장 처리부에서의 처리 과정에 대한 일실시예 흐름도.9 is a flowchart illustrating a process performed by a failure processing unit in a group communication module in a group communication method supporting a fault tolerance service according to the present invention;

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

1 : 분산 객체 2 : 실시간 분산 객체지향 플랫폼1: distributed object 2: real-time distributed object-oriented platform

3 : 복제 객체 그룹 4 : 네트워크3: duplicate object group 4: network

5 : 그룹통신 모듈5: group communication module

상기 목적을 달성하기 위한 본 발명은, 네트워크로 연결된 실시간 분산시스템에서 객체지향 분산 플랫폼이 고장감내 서비스를 제공함에 있어서 복제 객체 그룹을 형성하여 객체 중복을 통해 고장감내성을 구현하는 방식을 지원하기 위한 실시간 그룹통신 방법에 있어서, 객체간 메시지를 수신하는 수신 처리부에서 수신 버퍼와 정렬 버퍼를 사용하여 수신 순차번호가 정해지지 않은 메시지를 상기 수신 버퍼에 대기시키고, 수신 순차번호가 부여된 메시지를 상기 정렬 버퍼에 대기시키되, 데이터 무결성을 보장하기 위하여 그룹내 모든 객체의 수신 처리부에서 모든 메시지를 동일한 순서로 나열하여 상기 플랫폼으로 전달하는 제 1 단계; 그룹내 각 객체에서 분실된 메시지를 복구하며 일관된 메시지 수신 순차번호를 부여하기 위하여, 토큰 처리부에서 토큰 메시지를 그룹 객체들 사이로 순환시키면서 결핍된 메시지를 재전송하고, 순차번호를 새로이 배정하여 수신 메시지를 정렬되고 완전한 형태로 관리하는 제 2 단계; 상기 플랫폼으로부터 송신 메시지를 받아서 목적그룹에 전송하는 송신 처리부에서 메시지 전송의 효율을 기하기 위해 그룹 모델별로 메시지 송신여부를 결정하여 실행하고, 송신 버퍼를 고장감내를 위하여 관리하는 제 3 단계; 및 그룹내 일부객체에 고장이 발생했을 때, 고장 처리부에 의하여 새로운 그룹 멤버를 결정하는 제 4 단계를 포함하여 이루어진 것을 특징으로 한다.In order to achieve the above object, the present invention provides a method for implementing fault tolerance through object duplication by forming a duplicate object group in an object-oriented distributed platform providing fault tolerance service in a networked real-time distributed system. In a real-time group communication method, a reception processor for receiving an inter-object message uses a reception buffer and an alignment buffer to queue a message having no reception sequence number in the reception buffer, and to store the message with the reception sequence number in the alignment buffer. A first step of arranging all messages in the same order by the receiving processing unit of all objects in the group in order to ensure data integrity; In order to recover lost messages from each object in the group and to give a consistent message receiving sequence number, the token processing unit circulates the token message between group objects, retransmits the missing message, and assigns a new sequence number to sort the received message. And second step of managing in complete form; A third step of determining whether or not to transmit a message for each group model and managing a transmission buffer for fault tolerance in order to increase the efficiency of message transmission in a transmission processor that receives a transmission message from the platform and transmits the message to an destination group; And a fourth step of determining a new group member by the failure processing unit when a failure occurs in some objects in the group.

그리고, 본 발명은 프로세서를 구비한 실시간 분산시스템에, 객체간 메시지를 수신하는 수신 처리부에서 수신 버퍼와 정렬 버퍼를 사용하여 수신 순차번호가 정해지지 않은 메시지를 상기 수신 버퍼에 대기시키고, 수신 순차번호가 부여된 메시지를 상기 정렬 버퍼에 대기시키되, 데이터 무결성을 보장하기 위하여 그룹내 모든 객체의 수신 처리부에서 모든 메시지를 동일한 순서로 나열하여 플랫폼으로 전달하는 제1 기능; 그룹내 각 객체에서 분실된 메시지를 복구하며 일관된 메시지 수신 순차번호를 부여하기 위하여, 토큰 처리부에서 토큰 메시지를 그룹 객체들 사이로 순환시키면서 결핍된 메시지를 재전송하고, 순차번호를 새로이 배정하여 수신 메시지를 정렬되고 완전한 형태로 관리하는 제2 기능; 상기 플랫폼으로부터 송신 메시지를 받아서 목적그룹에 전송하는 송신 처리부에서 메시지 전송의 효율을 기하기 위해 그룹 모델별로 메시지 송신여부를 결정하여 실행하고, 송신 버퍼를 고장감내를 위하여 관리하는 제3 기능; 및 그룹내 일부객체에 고장이 발생했을 때, 고장 처리부에 의하여 새로운 그룹 멤버를 결정하는 제4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.The present invention provides a real-time distributed system having a processor, in which a receiving processor that receives an inter-object message waits for a message in which a receiving sequence number is not determined using a receiving buffer and an alignment buffer, in the receiving buffer. A first function of waiting for the assigned message in the sorting buffer, and in order to ensure data integrity, the reception processing unit of all objects in the group lists all the messages in the same order and delivers them to the platform; In order to recover lost messages from each object in the group and to give a consistent message receiving sequence number, the token processing unit circulates the token message between group objects, retransmits the missing message, and assigns a new sequence number to sort the received message. Second function of managing in complete form; A third function of determining whether to send a message for each group model and executing the transmission buffer in a transmission processing unit receiving the transmission message from the platform and transmitting the message to the destination group, and managing the transmission buffer for fault tolerance; And a computer-readable recording medium having recorded thereon a program for realizing a fourth function of determining a new group member by a failure processing unit when a failure occurs in some objects in the group.

본 발명은 실시간 객체지향 분산 플랫폼에서 고장감내 서비스를 제공하는데 있어서 가장 중요한 하부 통신 방식에 관한 것으로, 복수 개의 복제 객체들을 복제 객체 그룹으로 형성하여 각 멤버가 동일 기능을 수행하도록 함으로써 일부 객체에고장이 발생하더라도 나머지 객체들은 정상적으로 작업을 진행한다는 객체 중복성의 개념을 근거로 한다. 즉, 객체 그룹간 혹은 객체 그룹내 통신은 멀티캐스팅으로 일대다 또는 다대다 통신을 하는데, 모든 객체에서 동일한 결과를 도출하기 위해서 동일한 순서로 인과 관계에 맞게 정렬된 메시지들을 차례로 실행하도록 한다.The present invention relates to a lower communication method that is most important in providing fault tolerance services in a real-time object-oriented distributed platform, and forms a plurality of duplicate objects into a duplicate object group so that each member performs the same function. Even if it occurs, the rest of the objects are based on the concept of object redundancy, which normally proceeds normally. In other words, communication between object groups or intra-object groups is one-to-many or many-to-many communication with multicasting. In order to achieve the same result in all objects, messages are arranged in order in the same order in order.

이를 위해, 본 발명은 분산 플랫폼과 네트워크 사이의 그룹 통신 모듈로, 수신 처리부에 의해 수신된 요구/응답 멀티캐스트 메시지를 버퍼에 저장하는 기능, 토큰을 가진 토큰 처리부 만이 수신된 메시지의 처리 순서를 교정하는 일을 맡도록 하여 데이터 무결성을 유지하는 기능, 요구/응답 멀티캐스트를 신뢰성있게 전송하는 기능, 복제 객체 그룹을 통해 새로운 그룹을 형성하여 멤버 구성원들에 대한 합의를 도출하여 정상으로 복귀하도록 하는 기능을 구비한다.To this end, the present invention is a group communication module between a distributed platform and a network, and has a function of storing a request / response multicast message received by a receiving processor in a buffer, and a token processing unit having a token corrects a processing sequence of a received message. The ability to maintain data integrity, reliably transmit request / response multicasts, form new groups through replicated object groups, and reach consensus on member members to return to normal It is provided.

이를 통해, 본 발명은 실시간 객체지향 분산 플랫폼에서 다양한 고장감내 서비스를 효율적으로 제공함에 있어서 그룹통신 지원시에, 플랫폼과 네트워크 사이에서 그룹 통신 모듈을 설치하여 자체적인 고장감내 기능을 소유하면서 서비스 중단 및 객체 로킹으로 인한 지연이 없는 실시간 그룹통신을 지원함으로써 분산 플랫폼을 가진 실시간 시스템에 도입되어 사용할 수 있다.In this way, the present invention provides a group communication module between the platform and the network at the time of group communication support in efficiently providing various fault tolerant services in a real-time object-oriented distributed platform, while maintaining its own fault tolerance function and stopping service and By supporting real-time group communication without delay due to object locking, it can be introduced and used in real-time system with distributed platform.

상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1 은 본 발명이 적용되는 실시간 객체지향 분산시스템의 구성 예시도로서, 도면에서 '1'은 분산 객체, '2'는 실시간 분산 객체지향 플랫폼, '3'은 복제객체 그룹, '4'는 네트워크, 그리고 '5'는 그룹통신 모듈을 각각 나타낸다.1 is an exemplary configuration diagram of a real-time object-oriented distributed system to which the present invention is applied. In the drawing, '1' is a distributed object, '2' is a real-time distributed object-oriented platform, '3' is a replicated object group, and '4' is The network and '5' represent group communication modules, respectively.

도 1에 도시된 바와 같이, 본 발명이 적용되는 실시간 객체지향 분산시스템은, 분산객체(1) 간의 함수 호출을 지원하는 실시간 분산객체 지향 플랫폼(2), 물리적으로 분산되어 있는 복제 객체들의 집합으로 구성되어 고장감내의 기능을 구현하는 복제 객체 그룹(3), 분산 플랫폼이 하나의 유기체로서 작동하도록 하기 위하여 플랫폼 구성 요소들간의 메시지를 물리적으로 전달하는 네트워크(4), 복제 객체 그룹(3)간의 멀티캐스팅 통신을 효율적으로 담당하는 그룹통신 모듈(5)로 구성된다.As shown in FIG. 1, the real-time object-oriented distributed system to which the present invention is applied is a real-time distributed object-oriented platform (2) that supports function calls between distributed objects (1), a set of physically distributed replica objects. A replication object group (3) configured to implement functionality within a fault tolerance, a network (4) that physically conveys messages between platform components, and a replication object group (3), in order to allow a distributed platform to function as an organism It consists of a group communication module 5 which is responsible for multicasting communication efficiently.

도 2 는 본 발명에 이용되는 그룹통신 모듈이 지원하는 복제 객체 그룹 모델들의 기능을 나타낸 일실시예 설명도로서, 도면에서 '6'은 활동-대기형 그룹, '7'은 활동 객체, '8'은 대기 객체, '9'는 요구 메시지, '10'은 응답 메시지, '11'은 정기적인 상태 정보 전송의 멀티캐스팅 전송, '12'는 대표형 그룹, '13'은 대표 객체, '14'는 활성 객체, '15'는 전체 활성형 그룹, 그리고 '16'은 활성 객체를 각각 나타낸다.2 is a diagram illustrating an example of functions of a replica object group model supported by a group communication module used in the present invention, in which '6' is an activity-waiting group, '7' is an activity object, and '8' '9' is a waiting object, '9' is a request message, '10' is a response message, '11' is a multicast transmission of periodic status information transmission, '12' is a representative group, '13' is a representative object, '14 'Represents the active object,' 15 'represents the entire active group, and' 16 'represents the active object.

활동-대기형 그룹(6)에서는 그룹내의 객체들중에서 한 개가 활동 객체(7)로 선정이 되고, 나머지는 대기 객체(8)로서 운영된다. 요구 메시지(9)가 활동-대기형 그룹(6)에 도착하게 되면, 활동 객체(7)만이 메시지를 처리하고, 처리 결과를 응답 메시지(10)로서 보낸다. 활동 객체(7)는 정기적으로 자신의 현재 상태 정보를 그룹내 객체들에게 멀티캐스팅 전송(11)한다.In the activity-waiting group 6, one of the objects in the group is selected as the activity object 7 and the other is operated as the standby object 8. When the request message 9 arrives at the activity-waiting group 6, only the activity object 7 processes the message and sends the processing result as the response message 10. The activity object 7 periodically sends 11 its current state information to the objects in the group.

대표형 그룹(12)은 한 개의 대표 객체(13)와 활성 객체(14)들로 이루어져있는데, 모든 객체는 요구 메시지를 실행하며, 대표 객체(13)만이 실행 결과를 요구 객체에게 전송한다. 이때, 대표 객체(13)는 상태 정보를 정기적으로 멀티캐스팅 할 필요가 없다.The representative group 12 consists of one representative object 13 and an active object 14, all of which execute a request message, and only the representative object 13 transmits the execution result to the request object. At this time, the representative object 13 does not need to periodically multicast the state information.

전체 활성형 그룹(15)에서는 모든 멤버 객체가 활성 객체(16)로서 대표형 그룹(12)에서와는 달리 전 멤버가 응답 메시지를 요구 객체에게 전송한다.In the whole active group 15, all member objects are active objects 16, unlike in the representative group 12, all members send a response message to the requesting object.

도 3 은 본 발명에 이용되는 그룹간의 메시지 흐름을 나타낸 설명도로서, 도면에서 '17'은 송신 그룹, '18'은 수신 그룹, '19'는 송신 메시지, '20'은 송신 순차번호, '21'은 각 그룹내에서 송신 순차번호와 수신 순차번호를 관리하여야 할 대상 그룹을 표시하는 테이블을 각각 나타낸다.3 is an explanatory diagram showing message flow between groups used in the present invention, in which '17' is a transmission group, '18' is a reception group, '19' is a transmission message, '20' is a transmission sequence number, ' 21 'represents a table indicating a target group to which a transmission sequence number and a reception sequence number should be managed in each group, respectively.

도 3에 도시된 바와 같이, 한 그룹(17)으로부터 다른 그룹(18)으로 전송되는 메시지(19)가 존재하는 경우 전자(17)에는 후자(18)에 보내는 메시지에 송신 순차번호(20)를 첨부하여 전송하고, 후자(18)는 도착한 메시지내의 순차번호를 전자(17)에 대한 수신 순차번호로서 기록한다.As shown in FIG. 3, when there is a message 19 transmitted from one group 17 to another group 18, the former 17 transmits a transmission sequence number 20 to a message sent to the latter 18. The latter 18 records the sequence number in the arrived message as a reception sequence number for the former 17.

테이블(21)은 각 그룹내에서 송신 순차번호 및 수신 순차번호를 관리하여야 할 대상 그룹들을 표시한다.The table 21 displays target groups for which the transmission sequence number and the reception sequence number should be managed in each group.

도 4 는 본 발명에 이용되는 그룹통신 모듈의 내부 구성 예시도로서, 도면에서 '22'는 수신 처리부, '23'은 새로 도착한 객체 메시지, '24'는 수신 버퍼, '25'는 정렬 버퍼, '26'은 정렬 버퍼의 선두 메시지를 전달, '27'은 토큰 처리부, '28'은 토큰 메시지의 수신, '29'는 대기 메시지중 후보를 선출하여 정렬 버퍼로 옮김, '30'은 새로 갱신된 정보와 함께 토큰이 그룹내 다음 객체로 송신, '31'은송신 처리부, '32'는 플랫폼으로부터 도착한 송신 메시지, '33'은 송신 버퍼, '34'는 송신 버퍼의 선두 메시지를 목적 그룹에 전송, 그리고 '35'는 목적 그룹으로부터 메시지 수신을 확인하는 긍정(ACK) 메시지 도착을 각각 나타낸다.4 is an exemplary internal configuration of a group communication module used in the present invention, in which '22' is a receiving processor, '23' is a newly arrived object message, '24' is a receiving buffer, '25' is an alignment buffer, '26' delivers the first message in the sort buffer, '27' receives the token processing unit, '28' receives the token message, '29' selects candidates from the waiting messages and moves them to the sort buffer, and '30' renews them. The token is sent to the next object in the group, with '31' being the sender, '32' being sent from the platform, '33' being the send buffer, and '34' being the first message in the send buffer. The transmission and '35' respectively indicate the arrival of an ACK message confirming receipt of the message from the destination group.

수신 처리부(22)에서는 새로 도착한 객체 메시지(23)를 수신 버퍼(24)에 저장하며, 데이터 무결성을 보장하는 경우에 한하여 정렬 버퍼(25)내의 선두 메시지를 플랫폼으로 전달(26)한다.The reception processor 22 stores the newly arrived object message 23 in the reception buffer 24, and delivers the head message 26 in the alignment buffer 25 to the platform only when data integrity is guaranteed.

토큰 처리부(27)에서는 토큰 메시지가 수신(28)되기까지 대기 상태에 있다가 토큰 메시지가 도착하면 토큰내에 있는 정보를 사용하여 정렬 버퍼(25)를 갱신하고 수신 버퍼(24)에 대기중인 메시지중에서 후보를 선출하여 정렬 버퍼(25)로 옮긴다(29). 일정시간 후에, 토큰은 새로 갱신된 정보와 함께 그룹내 다음 객체로 송신(30)된다.The token processing unit 27 waits until the token message is received 28, and when the token message arrives, the sort buffer 25 is updated using the information in the token, and among the messages waiting in the reception buffer 24 The candidate is selected and moved to the alignment buffer 25 (29). After a period of time, the token is sent 30 to the next object in the group with the newly updated information.

송신 처리부(31)는 플랫폼으로부터 도착(32)한 송신 메시지를 송신 버퍼(33)에 저장한다. 송신 버퍼(33)의 선두에 있는 메시지를 목적 그룹에 전송(34)한 후, 목적 그룹으로부터의 메시지 수신을 확인하는 ACK 메시지가 도착(35)할 때까지 대기한다.The transmission processing unit 31 stores the transmission message arriving 32 from the platform in the transmission buffer 33. After the message 34 at the head of the transmission buffer 33 has been transmitted 34 to the destination group, it waits until an ACK message arrives 35 confirming receipt of a message from the destination group.

도 5 는 본 발명에 이용되는 그룹통신 모듈의 내부 기능을 나타낸 일실시예 설명도로서, 도면에서 '36'은 네트워크로부터 수신된 객체 메시지, '37'은 수신 버퍼, '38'은 수신 순차번호 리스트, '39'는 모듈내 수신 순차번호 리스트, '40'은 정렬 버퍼, '41'은 관리 메시지의 멀티캐스트 전송, '42'는 정렬 버퍼의 선두에 있는 메시지를 플랫폼에 전달, '43'은 전달완료 순차번호 리스트, '44'는 플랫폼에서전달된 송신 메시지, '45'는 송신 버퍼, '46'은 송신 순차번호 리스트, '47'은 송신 버퍼의 선두 메시지를 해당 수신 그룹에 전송, '48'은 토큰 메시지안의 송신 순차번호 리스트, 그리고 '49'는 송신완료 순차번호 리스트를 각각 나타낸다.FIG. 5 is a diagram illustrating an internal function of a group communication module used in the present invention, in which '36' is an object message received from a network, '37' is a receiving buffer, and '38' is a receiving sequence number. List, '39' is the list of incoming sequence numbers in the module, '40' is the sort buffer, '41' is the multicast transmission of management messages, '42' is the message leading to the sort buffer to the platform, and '43' Is a list of completed sequence numbers, '44' is a send message delivered from the platform, '45' is a send buffer, '46' is a send sequence list, and '47' is the first message in the send buffer. '48' indicates a transmission sequence number list in the token message, and '49' indicates a transmission completion sequence number list, respectively.

네트워크로부터 수신된 객체 메시지(36)는 수신 버퍼(37)에 저장되고 정렬 버퍼(40)로 이동되기를 기다린다.The object message 36 received from the network is stored in the receive buffer 37 and waits to be moved to the alignment buffer 40.

모듈이 토큰을 수신하게 되면, 먼저 이전 토큰 모듈의 수신 메시지 순차번호 부여상태를 보여주는 토큰내 수신 순차번호 리스트(38)와 모듈내의 수신 순차번호 리스트(39)를 비교하여 모자라는 메시지들을 송신해주도록 이전 토큰 모듈에게 요구한다.When the module receives the token, it first compares the received sequence number list 38 in the token and the received sequence number list 39 in the module to show the received message sequence numbering status of the previous token module and sends out missing messages. Ask the old token module.

다음으로, 수신 버퍼(37)내에 남아있는 메시지중에서 송신 순차번호가 수신 순차번호 리스트내의 송신 그룹 해당 수신 순차번호보다 1만큼 큰 것을 선택하여 수신 순차번호 리스트내 송신그룹의 수신 순차번호를 1만큼 증가시키고, 리스트 값을 메시지에 부착하여 정렬 버퍼(40)의 마지막 위치에 추가한 후, 모듈이 속해있는 그룹내 멤버 객체들 및 메시지 송신그룹에게 수신 순차번호 리스트가 첨부된 ACK 메시지를 멀티캐스트 전송(41)한다.Next, from among the messages remaining in the reception buffer 37, the transmission sequence number is selected to be one greater than the transmission group corresponding reception sequence number in the reception sequence number list, and the reception sequence number of the transmission group in the reception sequence number list is increased by one. After attaching the list value to the message and adding it to the last position of the sort buffer 40, multicast transmission of the ACK message with the received sequence number list to the member objects in the group to which the module belongs and the message sending group 41).

정렬 버퍼(40)의 선두에 있는 메시지는 모듈이 속해있는 그룹내 멤버들 절대 과반수 이상이 수신하였다는 사실을 인식하는 순간에 플랫폼에 전달(42)되며, 전달완료 순차번호 리스트(43)도 메시지내의 리스트 값으로 설정된다.The message at the head of the sort buffer 40 is delivered to the platform 42 upon recognizing that an absolute majority of the members in the group to which the module belongs are received (42), and the delivery complete sequence list (43) is also a message. It is set to the list value in.

플랫폼에서 전달된 송신 메시지(44)는 송신 버퍼(45)에 저장되며, 현재 모듈이 속한 객체가 활동-대리형 그룹의 활동 객체이거나, 대표형 그룹의 대표 객체이거나, 전체 활성형의 객체인 경우에 송신 버퍼 선두의 메시지에 해당 수신 그룹에 대하여 마지막으로 부여된 순차번호를 송신 순차번호(46)로부터 찾아서 1을 증가 시킨후 그 값을 송신 순차번호로서 메시지에 부착하여 목적지에 전송(47)하고, 리스트 값을 갱신한 후 목적지 그룹에서의 ACK 메시지가 올 때까지 대기한다.The outgoing message 44 delivered from the platform is stored in the outgoing buffer 45, and the object to which the current module belongs is an activity object of an activity-representative group, a representative object of a representative group, or an object of all active types. Finds the sequence number last given to the message at the head of the transmission buffer from the transmission sequence number 46, increments 1, attaches the value to the message as the transmission sequence number, and sends it to the destination (47). After updating the list value, it waits for an ACK message from the destination group.

메시지 송신을 할 수 없는 객체, 다시 말하면 활동-대기형 그룹의 대기 객체나 대표형 그룹의 활성 객체인 경우에는 송신 메시지는 송신 버퍼(45)에 저장되어 고장 발생시에 메시지 회복을 위하여 사용되도록 하되, 송신 메시지가 무사히 전송된 것을 토큰 메시지내의 송신 순차번호 리스트(48)를 통하여 알게 되면 송신 버퍼(45)내에서 해당 메시지들은 삭제되고, 모듈내의 송신 순차번호 리스트(46)도 갱신된다. 해당 메시지가 없는 경우에는 차후 처리를 위하여 토큰내의 송신 순차번호 리스트 값은 모듈내의 송신완료 순차번호 리스트(49)에 복사되고, 추후 처리된다.In the case of an object that cannot transmit a message, that is, a standby object of an active-waiting group or an active object of a representative group, the transmission message is stored in the transmission buffer 45 to be used for message recovery in case of failure. If the transmission message is safely transmitted through the transmission sequence number list 48 in the token message, the corresponding messages are deleted in the transmission buffer 45, and the transmission sequence number 46 in the module is also updated. If there is no corresponding message, the transmission sequence number list value in the token is copied to the transmission completion sequence number list 49 in the module for further processing.

도 6 은 본 발명에 따른 고장감내 서비스를 지원하는 그룹통신 방법중 그룹통신 모듈내의 수신 처리부에서의 처리 과정에 대한 일실시예 흐름도이다.FIG. 6 is a flowchart illustrating an example of a process performed by a receiving processor in a group communication module in a group communication method supporting fault tolerance service according to the present invention.

도 6에 도시된 바와 같이, 본 발명에 따른 고장감내 서비스를 지원하는 그룹통신 방법중 그룹통신 모듈내의 수신 처리부에서의 처리 과정은, 먼저 수신 처리부에서 사용되는 변수들을 초기화하고(601), 객체 메시지가 도착했는지를 조사하여(602), 메시지가 도착한 경우에는 과거에 동일한 메시지를 받았는지를 검사하여 중복된 메시지이면 버리고, 새 메시지이면 수신 버퍼에 추가한다(603).As shown in FIG. 6, in the group communication method supporting the fault tolerance service according to the present invention, the processing in the reception processing unit in the group communication module first initializes (601) the variables used in the reception processing unit and the object message. If a message arrives, it checks whether it has received the same message in the past and discards it if it is a duplicate message, and adds it to the reception buffer if it is a new message (603).

이후, 동일 그룹내의 토큰 객체로부터 ACK 메시지를 수신하게 되면(604),해당 메시지를 수신 버퍼로부터 찾아내어 ACK 메시지내에 있는 수신 순차번호 리스트를 부착하여 정렬 버퍼로 옮긴다. 그리고, ACK 메시지내의 순차번호 리스트와 모듈내의 수신 순차번호를 비교하여 결핍된 메시지가 있으면 토큰 객체에게 메시지를 송신하도록 요청한다(605).When an ACK message is received from the token objects in the same group (604), the message is found from the receive buffer, and a list of received sequence numbers in the ACK message is attached to the sort buffer. Then, the sequence number in the ACK message is compared with the received sequence number in the module, and if there is a missing message, the token object is requested to be sent (605).

다음으로, 정렬 버퍼내에 메시지가 존재하는지를 분석하여(606), 메시지가 있으면 버퍼 헤더에 있는 메시지의 순차번호 리스트와 모듈내의 전달완료 순차번호 리스트를 비교하여 그 사이에 다른 메시지가 있어야 한다면 메시지 전송요구를 토큰 객체에게 하며, 그렇지 않은 경우에는 헤더 메시지가 그룹내 과반수 이상의 객체모듈에 수신되어 있음을 알게 되면 플랫폼으로 전달하고 모듈내 전달완료 순차번호 리스트를 갱신한다(607). 이후에, 다시 '602' 단계로 복귀하여 상기의 과정을 반복 수행한다.Next, it analyzes whether the message exists in the sort buffer (606), if there is a message, compares the sequence number of the message in the buffer header with the list of completed sequence numbers in the module, and if there is another message in between, requesting the transmission of the message. If the token object is found, the header message is transmitted to the platform when the header message is received by more than half of the object modules in the group, and the list of completed sequence numbers in the module is updated (607). Thereafter, the process returns to step 602 again to repeat the above process.

도 7 은 본 발명에 따른 고장감내 서비스를 지원하는 그룹통신 방법중 그룹통신 모듈내의 토큰 처리부에서의 처리 과정에 대한 일실시예 흐름도이다.7 is a flowchart illustrating a process performed by a token processing unit in a group communication module in a group communication method supporting a fault tolerance service according to the present invention.

도 7에 도시된 바와 같이, 본 발명에 따른 고장감내 서비스를 지원하는 그룹통신 방법중 그룹통신 모듈내의 토큰 처리부에서의 처리 과정은, 먼저 토큰 처리부에 관계되는 변수들을 초기화하고(701), 토큰 메시지가 도착할 때까지 대기하게 된다(702).As illustrated in FIG. 7, in the group communication method supporting the fault tolerance service according to the present invention, the processing in the token processing unit in the group communication module first initializes the variables related to the token processing unit (701) and the token message. Wait until 702 arrives (702).

이후, 토큰 메시지가 도착하면 토큰내 수신 순차번호 리스트를 사용하여 수신 버퍼 및 정렬 버퍼에 결핍되어 있는 메시지들을 이전 토큰 객체에게서 요구하여 수신한 다음 수신 버퍼를 정리하고 정렬 버퍼를 이전 토큰 객체와 동일한 메시지들을 소유하도록 한다(703).Then, when a token message arrives, it uses the list of receive sequence numbers in the token to request and receive messages missing from the receive and sort buffers from the previous token object, then cleans up the receive buffer and places the sort buffer the same as the previous token object. Own them (703).

다음으로, 현재 모듈이 속한 그룹이 활동-대기형이나 대표형인 경우 토큰내의 송신 순차번호 리스트를 모듈내 송신완료 순차번호 리스트에 복사한다(704). 이후에, 일정기간동안(707), 수신 버퍼에서 정렬 버퍼로 이동할 수 있는 후보 메시지를 선택하여(705), 해당 순차번호를 1만큼 증가 시키면서 메시지에 부착하여 정렬 버퍼로 옮기고 해당리스트 값을 갱신한 후, 메시지를 송신한 객체 및 현 모듈이 속한 그룹에 ACK 메시지를 송신한다(706).Next, if the group to which the current module belongs is an activity-waiting or representative type, the transmission sequence number list in the token is copied to the transmission completion sequence number list in the module (704). After that, for a certain period of time (707), the candidate message that can move from the receiving buffer to the sorting buffer is selected (705), and the corresponding sequence number is increased by 1, attached to the message, moved to the sorting buffer, and the corresponding list value is updated. Thereafter, an ACK message is transmitted to the object that has sent the message and the group to which the current module belongs (706).

일정기간이 지나서(707), 토큰을 다음 객체로 전달하는 경우에 토큰내의 값을 새로이 갱신한 후에 그룹내 다음 객체로 토큰 메시지를 전송한다(708).After a certain period of time (707), when the token is passed to the next object, the token message is transmitted to the next object in the group after the new value in the token is newly updated (708).

도 8 은 본 발명에 따른 고장감내 서비스를 지원하는 그룹통신 방법중 그룹통신 모듈내의 송신 처리부에서의 처리 과정에 대한 일실시예 흐름도이다.8 is a flowchart illustrating a process performed by a transmission processing unit in a group communication module in a group communication method supporting fault tolerance service according to the present invention.

도 8에 도시된 바와 같이, 본 발명에 따른 고장감내 서비스를 지원하는 그룹통신 방법중 그룹통신 모듈내의 송신 처리부에서의 처리 과정은, 먼저 관계 변수들을 초기화하고(801), 현재 모듈이 송신 메시지를 송신하는 자격이 있는지를 판단하여(802), 자격이 없으면 다른 객체에서 이미 송신 완료된 메시지들을 송신 버퍼에서 제거하고(803), 송신 메시지를 전송하는 자격이 있으면(804), 송신 버퍼 선두의 메시지를 목표 그룹에 멀티캐스팅 전송한다(805).As shown in FIG. 8, in the group communication method supporting the fault tolerance service according to the present invention, the processing in the transmission processing unit in the group communication module first initializes the relational variables (801), and the current module sends the transmission message. It determines whether it is eligible to send (802), if it is not eligible, removes the messages already sent from another object from the send buffer (803), and if it is entitled to send the send message (804), it sends the message at the head of the send buffer. Multicasting is sent to the target group (805).

이후, 목표 그룹으로부터 ACK 메시지가 오기를 기다린 다음에(806), 내부 순차번호를 갱신하고(807), 플랫폼으로부터의 송신 메시지가 대기하고 있는지를 확인하여(808), 송신 메시지가 있으면 플랫폼으로부터 전달받아서 송신 버퍼에 저장하고(809) 다시 '802' 단계로 복귀하여 상기의 과정들을 반복 수행한다.Thereafter, after waiting for an ACK message from the target group (806), the internal sequence number is updated (807), and a check is made whether the transmission message from the platform is waiting (808), and if there is a transmission message, it is delivered from the platform. Receive the data, and store the data in the transmission buffer (809) and return to step 802 again to repeat the above steps.

도 9 는 본 발명에 따른 고장감내 서비스를 지원하는 그룹통신 방법중 그룹통신 모듈내의 고장 처리부에서의 처리 과정에 대한 일실시예 흐름도이다.9 is a flowchart illustrating a process performed by a failure processing unit in a group communication module in a group communication method supporting a fault tolerance service according to the present invention.

도 9에 도시된 바와 같이, 본 발명에 따른 고장감내 서비스를 지원하는 그룹통신 방법중 그룹통신 모듈내의 고장 처리부에서의 처리 과정은, 먼저 관계 변수들을 초기화하고(901), 고장이 발생했는지(902) 혹은 고장 복구 메시지를 수신했는지(903)를 조사하여, 고장 발생을 감지하면 선도 객체가 되어 고장 회복을 위한 과정(904 내지 912)을 수행하고, 고장 복구 메시지를 수신하는 경우는 후발 객체가 되어서 선도 객체의 지도에 따라서 고장 회복 과정(913 내지 916)을 거쳐서 정상 상태로 복귀한다.As shown in FIG. 9, in the group communication method supporting the fault tolerance service according to the present invention, the processing in the failure processing unit in the group communication module first initializes the relationship variables (901) and determines whether a failure has occurred (902). Or if the failure recovery message is received (903), and if it detects a failure, it becomes a leading object and performs steps (904 to 912) for failure recovery, and when a failure recovery message is received, it becomes a late object. In accordance with the map of the lead object, the system returns to the normal state through the failure recovery process 913 to 916.

선도 객체는 고장 객체들로 이루어진 리스트를 복구 메시지에 기록한 후에 그룹내 객체들에게 전송한 후(904), 복구 회신 메시지들을 기다려(905), 회신 메시지내의 고장 객체 리스트와 모듈내의 리스트를 비교하고(906), 그 내용이 일치하지 않으면 두 리스트의 합으로서 모듈내의 고장 리스트를 갱신한 후(907) '904' 단계로 이동하여 다시 복구 절차를 시작한다.The lead object writes a list of failed objects in the recovery message and sends it to the objects in the group (904), then waits for recovery reply messages (905), compares the failure object list in the reply message with the list in the module ( 906) If the contents do not match, the fault list in the module is updated as the sum of the two lists (907), and the process proceeds to step '904' to start the recovery procedure again.

한편, 모든 회신 메시지가 정해진 시간내에 도착했는지를 확인하여(908), 정해진 시간내에 도착하지 못한 회신메시지가 존재하면(909) 해당 객체를 고장으로 간주하여 고장 객체 리스트에 추가한 후에(910) '904' 단계로 이동하여 다시 복구 절차를 시작한다.On the other hand, it is checked whether all the reply messages have arrived within a predetermined time (908), if there is a reply message that has not arrived within the predetermined time (909), the object is considered as a failure and added to the failure object list (910) Go to step 904 'and start the recovery procedure again.

만약, 정해진 시간내에 모든 정상 객체로부터 메시지를 받게 되면, 정상 객체의 숫자가 전체 구성원 숫자의 과반수를 넘지 못하는 경우에(911) 고장 객체 리스트에 없는 모든 정상 객체들은 정지하며, 과반수가 넘는 경우에는 새로운 그룹 멤버가 확정되어서 멤버 메시지를 각 구성원에게 전송한 후(912), 정상 운영으로 돌아간다.If a message is received from all normal objects within a specified time period, if the number of normal objects does not exceed half of the total number of members (911), all normal objects not in the failure object list are stopped, and if more than half of them are new, After the group member is confirmed and sends a member message to each member (912), it returns to normal operation.

한편, 후발 객체의 경우는 수신한 복구 메시지를 기존의 고장 객체 리스트와 합한 후, 기존 리스트를 갱신하고 복구 회신 메시지에 기록한 후에 선도 객체에 전송한다(913). 또한, 다른 복구 메시지가 도착하면(914), '913' 단계를 반복하되, 멤버 메시지를 수신하면(915) 그룹 멤버 리스트를 갱신한 후(916) 정상 작업으로 복귀한다.In the case of the late object, the received recovery message is combined with the existing failure object list, the existing list is updated, recorded in the recovery reply message, and transmitted to the lead object (913). In addition, when another recovery message arrives (914), the process repeats the step '913', and when the member message is received (915), the group member list is updated (916), and then it returns to the normal operation.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the spirit of the present invention for those skilled in the art to which the present invention pertains, and the above-described embodiments and accompanying It is not limited to the drawing.

상기한 바와 같은 본 발명은, 실시간 객체지향 분산 플랫폼에서 다양한 고장감내 서비스를 효율적으로 제공함에 있어서 그룹통신 지원시에 플랫폼과 네트워크사이에서 그룹통신 모듈을 설치하여 자체적인 고장감내 기능을 소유하면서 서비스 중단 및 객체 로킹(Locking)으로 인한 지연이 전혀없는 실시간 그룹통신을 지원함으로써 분산 플랫폼을 가진 실시간 시스템에 도입되어 사용할 수 있는 효과가 있다.In the present invention as described above, in the efficient real-time object-oriented distributed platform to provide a variety of fault tolerance services in the group communication support when installing the group communication module between the platform and the network own the own fault tolerance while stopping the service And by supporting the real-time group communication with no delay due to object locking (Locking) there is an effect that can be introduced and used in a real-time system with a distributed platform.

Claims (6)

네트워크로 연결된 실시간 분산시스템에서 객체지향 분산 플랫폼이 고장감내 서비스를 제공함에 있어서 복제 객체 그룹을 형성하여 객체 중복을 통해 고장감내성을 구현하는 방식을 지원하기 위한 실시간 그룹통신 방법에 있어서,In a real-time group communication method for supporting a method of implementing fault tolerance through object redundancy by forming a duplicate object group in the object-oriented distributed platform provides fault tolerance services in a networked real-time distributed system, 객체간 메시지를 수신하는 수신 처리부에서 수신 버퍼와 정렬 버퍼를 사용하여 수신 순차번호가 정해지지 않은 메시지를 상기 수신 버퍼에 대기시키고, 수신 순차번호가 부여된 메시지를 상기 정렬 버퍼에 대기시키되, 데이터 무결성을 보장하기 위하여 그룹내 모든 객체의 수신 처리부에서 모든 메시지를 동일한 순서로 나열하여 상기 플랫폼으로 전달하는 제 1 단계;A reception processor receiving a message between objects uses a reception buffer and an alignment buffer to wait for a message having no reception sequence number in the reception buffer, and wait for a message having a reception sequence number in the alignment buffer, while maintaining data integrity. A first step of arranging all messages in the same order in the reception processing unit of all objects in the group to ensure the same; 그룹내 각 객체에서 분실된 메시지를 복구하며 일관된 메시지 수신 순차번호를 부여하기 위하여, 토큰 처리부에서 토큰 메시지를 그룹 객체들 사이로 순환시키면서 결핍된 메시지를 재전송하고, 순차번호를 새로이 배정하여 수신 메시지를 정렬되고 완전한 형태로 관리하는 제 2 단계;In order to recover lost messages from each object in the group and to give a consistent message receiving sequence number, the token processing unit circulates the token message between group objects, retransmits the missing message, and assigns a new sequence number to sort the received message. And second step of managing in complete form; 상기 플랫폼으로부터 송신 메시지를 받아서 목적그룹에 전송하는 송신 처리부에서 메시지 전송의 효율을 기하기 위해 그룹 모델별로 메시지 송신여부를 결정하여 실행하고, 송신 버퍼를 고장감내를 위하여 관리하는 제 3 단계; 및A third step of determining whether or not to transmit a message for each group model and managing a transmission buffer for fault tolerance in order to increase the efficiency of message transmission in a transmission processor that receives a transmission message from the platform and transmits the message to an destination group; And 그룹내 일부객체에 고장이 발생했을 때, 고장 처리부에 의하여 새로운 그룹 멤버를 결정하는 제 4 단계The fourth step of determining a new group member by the fault handling unit when a failure occurs in some objects in the group 를 포함하여 이루어진 실시간 객체지향 분산 플랫폼에서 고장감내 서비스를지원하는 그룹통신 방법.Group communication method for supporting fault tolerance services in a real-time object-oriented distributed platform, including. 제 1 항에 있어서,The method of claim 1, 상기 제 1 단계는,The first step is, 수신 객체 메시지를 처리하여 상기 플랫폼으로 전달하는 상기 송신 처리부가 그룹 객체 메시지를 수신하여 새로운 메시지를 판명되는 경우에 상기 수신 버퍼에 저장하는 제 5 단계;A fifth step of receiving, by the transmission processor for processing a received object message to the platform and receiving a group object message and storing a new message in the received buffer; 토큰 객체로부터 긍정(ACK) 메시지를 수신했을 때 결핍 메시지를 토큰 객체로부터 받아서 상기 정렬 버퍼를 완성된 배열로 이끄는 제 6 단계; 및Receiving a deficiency message from the token object upon receiving an ACK message from the token object and leading the alignment buffer to the completed array; And 상기 정렬 버퍼내의 메시지중에서 데이터 무결성을 보장하도록 하는 순서로 모든 객체에서 동일하게 정렬되어 상기 플랫폼으로 전달되도록 하는 제 7 단계A seventh step for all objects to be identically aligned and delivered to the platform in an order to ensure data integrity in the messages in the sort buffer 를 포함하여 이루어진 실시간 객체지향 분산 플랫폼에서 고장감내 서비스를 지원하는 그룹통신 방법.Group communication method for supporting fault tolerance services in a real-time object-oriented distributed platform, including. 제 1 항에 있어서,The method of claim 1, 상기 제 2 단계는,The second step, 수신 객체 메시지르에 올바른 수신 순차번호를 부여하고 결핍된 메시지들을 복구하는 상기 토큰 처리부가 토큰 메시지가 도착했을 때 토큰 내 정보를 이용하여결핍 메시지를 복구하는 제 5 단계;A fifth step of assigning a correct receiving sequence number to a receiving object message and recovering the deficient message by using the information in the token when the token message arrives; 상기 송신 버퍼내의 메시지들중에서 기 전송된 것들을 정리하는 제 6 단계;A sixth step of arranging previously transmitted messages among the messages in the transmission buffer; 상기 수신 버퍼에서 데이터 무결성을 보장할 수 있도록 메시지를 선택하여 순차번호를 부여하고, 상기 정렬 버퍼로 이동시키는 제 7 단계; 및A seventh step of selecting a message, assigning a sequence number, and moving the message to the alignment buffer to ensure data integrity in the reception buffer; And 새롭게 갱신된 정보를 기록한 토큰을 다음 객체로 전송하는 제 8 단계Eighth step of transmitting the token recording the newly updated information to the next object 를 포함하여 이루어진 실시간 객체지향 분산 플랫폼에서 고장감내 서비스를 지원하는 그룹통신 방법.Group communication method for supporting fault tolerance services in a real-time object-oriented distributed platform, including. 제 1 항에 있어서,The method of claim 1, 상기 제 3 단계는,The third step, 송신 메시지를 관리하는 상기 송신 처리부가 송신 불가능한 객체에서 이미 송신 완료된 메시지들을 상기 송신 버퍼로부터 제거하는 제 5 단계;A fifth step of removing, from the transmission buffer, messages already transmitted in the non-transmission object by the transmission processing unit managing the transmission message; 송신 가능한 객체에서 선두 메시지를 목표 그룹에 전송하고, 수신 확인을 하는 제 6 단계; 및A sixth step of transmitting a head message from the transmittable object to the target group and acknowledging the receipt; And 상기 플랫폼으로부터의 송신 메시지를 상기 송신 버퍼로 옮기는 제 7 단계A seventh step of moving a transmission message from the platform to the transmission buffer 를 포함하여 이루어진 실시간 객체지향 분산 플랫폼에서 고장감내 서비스를 지원하는 그룹통신 방법.Group communication method for supporting fault tolerance services in a real-time object-oriented distributed platform, including. 제 1 항에 있어서,The method of claim 1, 상기 제 4 단계는,The fourth step, 객체 고장 발생시에 새로운 객체 멤버들을 결정하여 정상상태로 복구하는 기능을 담당하는 상기 고장 처리부가 고장 발생 감지나 고장 복구 메시지를 수신하였을 때 각각 선도 객체 및 후발 객체로서의 복구 단계를 밟는 제 5 단계;A fifth step of, when the failure processing unit, which is in charge of determining new object members and recovering to a normal state when an object failure occurs, receives a failure occurrence detection or a failure recovery message, performs recovery steps as a leading object and a late object, respectively; 상기 선도 객체의 경우에, 복구 메시지를 상기 후발 객체에게 전송하여 새로운 그룹 멤버들에 대한 의견일치를 유도하는 제 6 단계;In the case of the leading object, transmitting a recovery message to the late object to derive consensus on new group members; 상기 후발 객체의 경우에, 복구 메시지를 수신한 후 상기 후발 객체의 의견을 반영하는 제 7 단계;In the case of the late object, after receiving a recovery message, reflecting the opinion of the late object; 모든 객체의 의견이 일치하여 새로운 객체 그룹을 형성하였을 때, 정상 객체 멤버 수가 그룹내 모든 객체들의 절대 멤버 수의 과반수 미만일 때 대기 상태로 들어가서 메시지 일관성을 제공하는 제 8 단계; 및An eighth step, when the opinions of all the objects agree to form a new object group, when the normal number of object members is less than a majority of the absolute number of all objects in the group, entering an idle state to provide message consistency; And 상기 숫자가 과반수 이상일 때, 정상 그룹으로 돌아가기 위한 절차를 밟는 제 9 단계A ninth step of taking the procedure for returning to the normal group when the number is more than half 를 포함하여 이루어진 실시간 객체지향 분산 플랫폼에서 고장감내 서비스를 지원하는 그룹통신 방법.Group communication method for supporting fault tolerance services in a real-time object-oriented distributed platform, including. 프로세서를 구비한 실시간 분산시스템에,In a real-time distributed system with a processor, 객체간 메시지를 수신하는 수신 처리부에서 수신 버퍼와 정렬 버퍼를 사용하여 수신 순차번호가 정해지지 않은 메시지를 상기 수신 버퍼에 대기시키고, 수신 순차번호가 부여된 메시지를 상기 정렬 버퍼에 대기시키되, 데이터 무결성을 보장하기 위하여 그룹내 모든 객체의 수신 처리부에서 모든 메시지를 동일한 순서로 나열하여 플랫폼으로 전달하는 제1 기능;A reception processor receiving a message between objects uses a reception buffer and an alignment buffer to wait for a message having no reception sequence number in the reception buffer, and wait for a message having a reception sequence number in the alignment buffer, while maintaining data integrity. A first function of arranging all the messages in the same order in the reception processing unit of all the objects in the group to ensure the delivery; 그룹내 각 객체에서 분실된 메시지를 복구하며 일관된 메시지 수신 순차번호를 부여하기 위하여, 토큰 처리부에서 토큰 메시지를 그룹 객체들 사이로 순환시키면서 결핍된 메시지를 재전송하고, 순차번호를 새로이 배정하여 수신 메시지를 정렬되고 완전한 형태로 관리하는 제2 기능;In order to recover lost messages from each object in the group and to give a consistent message receiving sequence number, the token processing unit retransmits the missing message while circulating the token message between the group objects and assigns a new sequence number to sort the received message. Second function of managing in complete form; 상기 플랫폼으로부터 송신 메시지를 받아서 목적그룹에 전송하는 송신 처리부에서 메시지 전송의 효율을 기하기 위해 그룹 모델별로 메시지 송신여부를 결정하여 실행하고, 송신 버퍼를 고장감내를 위하여 관리하는 제3 기능; 및A third function of determining whether to send a message for each group model and executing the transmission buffer in a transmission processing unit receiving the transmission message from the platform and transmitting the message to the destination group, and managing the transmission buffer for fault tolerance; And 그룹내 일부객체에 고장이 발생했을 때, 고장 처리부에 의하여 새로운 그룹 멤버를 결정하는 제4 기능The fourth function of determining a new group member by the fault handling unit when a failure occurs in some object in the group 을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for realizing this.
KR1019990061286A 1999-12-23 1999-12-23 Group communication method supporting fault-tolerant service in the real-time object-oriented distributed platform KR100310285B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990061286A KR100310285B1 (en) 1999-12-23 1999-12-23 Group communication method supporting fault-tolerant service in the real-time object-oriented distributed platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990061286A KR100310285B1 (en) 1999-12-23 1999-12-23 Group communication method supporting fault-tolerant service in the real-time object-oriented distributed platform

Publications (2)

Publication Number Publication Date
KR20010057872A KR20010057872A (en) 2001-07-05
KR100310285B1 true KR100310285B1 (en) 2001-09-28

Family

ID=19628932

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990061286A KR100310285B1 (en) 1999-12-23 1999-12-23 Group communication method supporting fault-tolerant service in the real-time object-oriented distributed platform

Country Status (1)

Country Link
KR (1) KR100310285B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100749922B1 (en) 2004-12-14 2007-08-21 한국전자통신연구원 Crash recovery system and method for a distributed file server using object based storage

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100717239B1 (en) * 2005-06-22 2007-05-11 엔에이치엔(주) Method and apparatus for providing reliable communication between member servers belonging to same multicast group

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100749922B1 (en) 2004-12-14 2007-08-21 한국전자통신연구원 Crash recovery system and method for a distributed file server using object based storage

Also Published As

Publication number Publication date
KR20010057872A (en) 2001-07-05

Similar Documents

Publication Publication Date Title
Melliar-Smith et al. Broadcast protocols for distributed systems
US7975016B2 (en) Method to manage high availability equipments
US8032578B2 (en) Using distributed queues in an overlay network
Abdelzaher et al. RTCAST: Lightweight multicast for real-time process groups
CN110297801A (en) A just transaction semantics for transaction system based on fault-tolerant FPGA
CN1195813A (en) System of reporting errors by hardward element of distributed computer system
US7818757B1 (en) Method for guaranteeing processing of messages in a continuous processing system
CN1650582A (en) Methods and apparatus for implementing a high availability fibre channel switch
Dolev et al. An asynchronous membership protocol that tolerates partitions
US8428065B2 (en) Group communication system achieving efficient total order and state synchronization in a multi-tier environment
CN104077181A (en) Status consistent maintaining method applicable to distributed task management system
CN1260654C (en) Method of reporting errors by hardward element of distributed computer system
Aiello et al. Causal ordering in reliable group communications
Birman et al. Fast causal multicast
US20100131465A1 (en) Method for duplicating a database in a network of machines, and system of machines comprising a duplicated database
KR100310285B1 (en) Group communication method supporting fault-tolerant service in the real-time object-oriented distributed platform
US20100185714A1 (en) Distributed communications between database instances
US11016807B2 (en) Intermediary system for data streams
Paliwoda Transactions involving multicast
Jia et al. An efficient and reliable group multicast protocol
Jia et al. Design and analysis of an efficient and reliable atomic multicast protocol
US11909528B2 (en) Safely overwriting decided slots
Shima et al. Fault-tolerant causal delivery in group communication
US20040078652A1 (en) Using process quads to enable continuous services in a cluster environment
Wang et al. Non-blocking message total ordering protocol

Legal Events

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

Payment date: 20070831

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee