KR0173056B1 - Transaction processing method in dispersive real time system - Google Patents

Transaction processing method in dispersive real time system Download PDF

Info

Publication number
KR0173056B1
KR0173056B1 KR1019950049368A KR19950049368A KR0173056B1 KR 0173056 B1 KR0173056 B1 KR 0173056B1 KR 1019950049368 A KR1019950049368 A KR 1019950049368A KR 19950049368 A KR19950049368 A KR 19950049368A KR 0173056 B1 KR0173056 B1 KR 0173056B1
Authority
KR
South Korea
Prior art keywords
transaction
message
collaborator
participant
remote processing
Prior art date
Application number
KR1019950049368A
Other languages
Korean (ko)
Other versions
KR970056227A (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 KR1019950049368A priority Critical patent/KR0173056B1/en
Publication of KR970056227A publication Critical patent/KR970056227A/en
Application granted granted Critical
Publication of KR0173056B1 publication Critical patent/KR0173056B1/en

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 분산 실시간 시스템 내에서의 트랜잭션 처리 방법에 관한 것으로, 협력자 트랜잭션이 실시간 처리를 위하여 시간적인 제약조건을 포함하여 분산된 트랜잭션들간에 상호 일치성 및 원자성이 보장되도록 원격 처리를 요구하는 제1단계; 상기 제1단계 수행 후, 원격 처리 요구를 위하여 전송할 메세지를 통신영역에 저장하는 제2단계; 상기 제2단계 수행 후, 분산 원격 처리 메세지를 수신하여 실시간 처리를 수행할 참여자 트랜잭션을 생성하는 제3단계; 상기 제3단계 수행 후, 참여자 트랜잭션이 수행을 완료한 후에 수행 결과를 협력자 트랜잭션이 수신할 영역에 비동기적으로 저장하는 제4단계; 및 상기 제4단계 수행 후, 협력자 트랜잭션이 요구하였던 원격 참여자 트랜잭션으로 부터 비동기적으로 수신된 메세지를 수신 명령어 없이 취하는 제5단계를 구비하는 것을 특징으로 한다.The present invention relates to a transaction processing method in a distributed real-time system, wherein a collaborator transaction requires remote processing to ensure mutual consistency and atomicity between distributed transactions including time constraints for real-time processing. Stage 1; A second step of storing a message to be transmitted in a communication area for a remote processing request after performing the first step; A third step of generating a participant transaction for real-time processing by receiving a distributed remote processing message after performing the second step; A fourth step of asynchronously storing an execution result in an area to be received by a collaborator transaction after the participant transaction completes execution after performing the third step; And a fifth step of taking a message received asynchronously from the remote participant transaction requested by the cooperator transaction without a receiving command after performing the fourth step.

Description

분산 실시간 시스템 내에서의 트랜잭션 처리 방법Transaction Processing Method in Distributed Real-Time System

제1도는 본 발명이 적용되는 분산 실시간 시스템의 개략적인 구조도.1 is a schematic structural diagram of a distributed real-time system to which the present invention is applied.

제2도는 본 발명에 따른 통신 명령들의 실제 메세지 전송 흐름을 나타내는 구조도.2 is a structural diagram showing an actual message transmission flow of communication commands according to the present invention.

제3도는 본 발명에 따른 분산 실시간 트랜잭션 처리 방법에 대한 일실시예 흐름도.3 is a flow diagram of an embodiment of a distributed real-time transaction processing method according to the present invention.

본 발명은 분산 실시간 시스템 내에서의 트랜잭션 처리 방법에 관한 것이다.The present invention relates to a transaction processing method in a distributed real time system.

일반적으로 통신 시스템을 비롯하여 각종 실시간 분산 시스템 내에서 운영되는 각종 응용프로그램들은 시스템의 고신뢰성 및 고성능 등의 이유에 의해 여러 사이트(일종의 프로세서)들에 분산되어 동작된다.In general, various application programs operating in various real-time distributed systems, including a communication system, are distributed and operated at various sites (a type of processor) for reasons such as high reliability and high performance of the system.

실시간 분산 시스템 내에서 동적으로 발생되는 트랜잭션들을 관리하기 위해서는 아래와 같은 여러가지 이유에 의해서 비동기적 메세지 처리 방법이 요구된다.In order to manage dynamically generated transactions in a real-time distributed system, an asynchronous message processing method is required for various reasons as follows.

먼저, 어떤 하나의 트랜잭션이 분산 처리를 요구한 경우 원격 사이트에서 생성된 트랜잭션의 수행 결과를 기다리는 동안에 그 자신도 지역적인 협의의 작업을 수행하고자 한다. 예를들어, 하나의 트랜잭션이 원격 데이터베이스의 변경 작업을 요구한 경우에, 변경 기능을 수행하는 원격 트랜잭션과 동시에 원격 처리를 요구한 트랜잭션도 동시에 요구한 내용과 관계 없는 다른 작업을 계속 수행할 필요가 있기 때문이다. 또 다른 예를들어 여러 사이트에 분산된 데이터에 대하여 질의를 하고자 하는 경우를 고려하면, 질의 처리를 요구하는 협력자 트랜잭션은 분산된 사이트들에게 질의 요구 메세지를 전송하게 된다. 이때, 요구메세지를 수신한 각 사이트 내에서는 새로운 트랜잭션이 생성되어 요구된 질의를 수행하고 그 결과를 협력자 트랜잭션에게 전달하게 된다. 이때, 원격 트랜잭션들의 결과 메세지들은 비동기적으로 협력자 트랜잭션에게 도착되어진다. 따라서 협력자 트랜잭션은 여러 사이트에 병렬 처리를 요구한 경우에 이들로부터 결과 메세지를 수신하여 사용하기 위해서는 비동기적인 메세지 처리 방법이 필요하다.First, if a single transaction requires distributed processing, he or she wants to perform local negotiations while waiting for the outcome of the transaction created at the remote site. For example, if a transaction requires a change to a remote database, then the transaction that requested the remote processing at the same time as the remote transaction that performs the change function does not need to continue to perform other work that is not related to the request. Because there is. As another example, considering a case where a query is performed on data distributed to multiple sites, a collaborator transaction requesting query processing sends a query request message to distributed sites. In this case, a new transaction is generated in each site that receives the request message, performs the requested query, and delivers the result to the collaborator transaction. At this time, the result messages of the remote transactions are asynchronously arrived at the collaborator transaction. Therefore, collaborator transaction needs asynchronous message processing method to receive and use the result message from multiple sites when parallel processing is required.

이와 같이 비동기적으로 생성 및 수행되는 트랜잭션들을 관리하기 위하여 협력자 역할을 수행하는 트랜잭션들 내에는 비동기적으로 수신되는 참여자 트랜잭션들의 결과를 협력자 트랜잭션이 사용하고자 할 때까지 유지하도록 해야 한다.In order to manage such asynchronously generated and executed transactions, it is necessary to maintain the results of asynchronously received participant transactions until the collaborator transaction intends to use them in transactions that perform the collaborator role.

실제로 분산된 트랜잭션들간의 상호 일치성 및 원자성 등을 보장하기 위하여 원자성 완료 규약 프로토콜이 구동되며, 이러한 프로토콜은 많은 메세지 교환을 하게 된다. 이러한 메세지 교환 횟수를 줄이면서 비동기적으로 발생되는 메세지의 송수신 및 트랜잭션의 생성 방법등의 실시간 시스템에 적합한 통신 방법 및 트랜잭션 관리 방법이 필요하다.In fact, the atomic completion protocol protocol is driven to ensure mutual correspondence and atomicity among distributed transactions, and these protocols exchange many messages. There is a need for a communication method and a transaction management method suitable for a real-time system such as a method of transmitting and receiving asynchronously and generating a transaction while reducing the number of message exchanges.

따라서, 분산 실시간 시스템 내에서 동적으로 발생되는 사건들을 어떻게 트랜잭션화시키며, 이들 트랜잭션간에 상기한 성질들을 보장하면서 메세지 전송이 이루어질 수 있는 통신 방법이 요구된다.Therefore, there is a need for a communication method that transacts events that occur dynamically within a distributed real-time system and allows message transmission while ensuring the above properties between these transactions.

상기 요구에 따라 안출된 본 발명은, 분산 실시간 시스템 내에서 발생되는 각종 사건(Event)들을 트랜잭션화시키는 방법 및 이들 트랜잭션간에 발생되는 비동기적인 메세지 전송 방법인 분산 실시간 시스템 내에서의 트랜잭션 처리 방법을 제공하는 데 그 목적이 있다.The present invention devised in response to the above requirements provides a method for transactionalizing various events occurring in a distributed real-time system and a transaction processing method in a distributed real-time system that is an asynchronous message transmission method generated between these transactions. Its purpose is to.

상기 목적을 달성하기 위하여 본 발명은, 분산 실시간 시스템 내에서 동적 트랜잭션 처리 방법에 있어서, 협력자 트랜잭션이 다른 사이트로 원격 처리 요구시 원격 처리 요구 메세지를 발생하면, 참여자 트랜잭션 생성요구 시간 제약 조건을 두고 분산 트랜잭션들간 상호 일치성 및 원자성이 보장되도록 전송할 메세지들을 구성하여 원격 처리 요구를 수행할 사이트 내의 통신 영역 내에 저장하는 제1단계; 원격 처리 요구 메세지를 수신한 사이트 내에서는 메세지의 도착 여부를 판단하여 새로운 요구 메세지간 도착되면 새로운 참여자 트랜잭션을 생성시키는 제2단계; 참여자 트랜잭션의 수행 종료시 그 결과를 협력자 트랜잭션에게 비동기적으로 전송하며, 결과 메세지는 협력자 트랜잭션의 통신영역 내에 저장하는 제3단계; 상기 제1단계 수행후, 상기 참여자 트랜잭션과는 별도로 협력자 트랜잭션도 그 자신의 기능을 수행하다가 참여자 트랜잭션의 결과를 필요로 하는 시점에서 요구하였던 수행 결과들이 도착되었는가를 조사하는 제4단계; 및 필요한 참여자 트랜잭션의 결과 메세지들이 모두 도착되면 이들을 사용하여 협력자 트랜잭션의 원격 처리 요구를 종료하는 제5단계를 포함하는 분산 실시간 시스템 내에서의 트랜잭션 처리 방법을 제공한다.In order to achieve the above object, the present invention provides a dynamic transaction processing method in a distributed real-time system, wherein when a collaborator transaction generates a remote processing request message when a remote processing request is made to another site, the present invention is distributed with a participant transaction generation request time constraint. A first step of constructing messages to be transmitted so as to ensure mutual correspondence and atomicity between transactions and storing them in a communication area within a site where a remote processing request will be performed; A second step of determining whether a message arrives in the site receiving the remote processing request message and generating a new participant transaction when the message arrives between new request messages; A third step of asynchronously transmitting the result to the collaborator transaction upon completion of the participant transaction, and storing the result message in the communication area of the collaborator transaction; A fourth step of investigating whether the execution results requested at the time when the result of the participant transaction is required while the cooperative transaction performs its own function separately from the participant transaction after performing the first step; And a fifth step of terminating the remote processing request of the collaborator transaction using all of the result messages of the required participant transaction when they arrive.

본 발명에서는 실시간 분산 트랜잭션 처리 기능을 지원하기 위하여 3가지 형태와 통신용 명령어를 정의하였다. 송신을 위하여 request_rpc와 reply_rpc의 두개의 명령어를 정의하였고 수신을 위하여 receive_rpc라는 한개의 명령어를 정의하였다.In the present invention, three types and commands for communication are defined to support a real-time distributed transaction processing function. Two commands, request_rpc and reply_rpc, are defined for transmission and one command, receive_rpc, is defined for reception.

원격 처리 요구를 수행한 참여자 트랜잭션들은 그들의 수행이 완료된 후에 즉각적으로 그들의 결과를 협력자 트랜잭션에게 전달한다. 이러한 결과 메세지들은 비동기적으로 협력자 사이트에 전달되므로 트랜잭션이 이들 결과 메세지를 사용할때까지 유지하여야 한다. 이를 위하여 'send-and-no-wait'의 의미를 지원하기 위하여 다음과 같이 3가지 명령어를 발명하였다. 첫번째는 원격처리 요구를 발생시키기 위한 request_rpc 명령어이고, 두번째는 요구 메세지를 수신하기 위한 receive_case_rpc명령어이며, 세번째는 수행결과 메세지를 전송하기 위한 reply_rpc 명령어이다. 제시된 3가지 형태의 통신 방법들을 토대로 하여 동적 트랜잭션 처리 기능의 구현할 경우에 메세지의 전송 횟수의 감소 효과를 얻을수 있어 실시간 시스템과 같이 시간적 제약조건이 요구되는 분산 실시간 시스템에 바람직하게 적용될 수 있다. 실제로 제시된 발명 방법은 분산 데이타베이스 시스템 내에서 트랜잭션간의 신뢰성을 보장하기 위한 프로토콜인 원자성 완료 규약 프로토콜(Atomic Commitment Protocol)을 실시간 시스템 내에 구현하고자 할때에 사용하여 적용하였다.Participant transactions that have performed remote processing requests immediately deliver their results to collaborator transactions after their execution is complete. These result messages are delivered asynchronously to the collaborator's site, so they must be maintained until a transaction uses these result messages. To this end, the following three commands were invented to support the meaning of 'send-and-no-wait'. The first is a request_rpc command for generating a remote processing request, the second is a receive_case_rpc command for receiving a request message, and the third is a reply_rpc command for sending a result message. When the dynamic transaction processing function is implemented based on the three types of communication methods presented, it is possible to reduce the number of transmissions of messages, and thus it can be preferably applied to distributed real-time systems requiring time constraints such as real-time systems. Indeed, the proposed method is applied to implement the Atomic Commitment Protocol, which is a protocol for guaranteeing the reliability of transactions in a distributed database system, in a real-time system.

이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail the present invention.

제1도는 본 발명이 적용되는 교환기 등 일련의 분산 실시간 시스템의 구조도이다.1 is a structural diagram of a series of distributed real-time systems such as an exchanger to which the present invention is applied.

실시간 분산 시스템 내의 각 사이트 내에는 동적 트랜잭션 처리 기능을 지원하기 위하여 실시간 시스템(Real-Time Executive:이하, RTE라 함)이 존재한다. 동적 트랜잭션 처리 기능을 지원하는 RTE는 다음과 같은 3가지의 기능을 지원한다. 트랜잭션의 생성과 소멸 기능 등을 지원하는 트랜잭션 관리기, 트랜잭션간의 메세지 교환 기능을 지원하는 통신 관리기, 및 트랜잭션들 간의 수행 순서를 관리하는 스케쥴러 등으로 구성되어 있다. RTE 환경하에서 분산 트랜잭션 처리 구조내에서 각 사이트 내에는 외부로부터 수신되는 사건들을 수신하여 처리하는 데몬(Daemon) 프로세스가 항상 동작하고 있다. 분산된 트랜잭션들 간의 메세지 교환을 지원하기 위하여 공유 메모리를 이용한 통신영역을 갖고 있다. 이러한 통신영역을 통하여 서로 다른 사이트 내에 있는 트랜잭션간의 메세지 교환 기능을 제공한다. 이에 따라, 사이트 간의 메세지 전송을 위한 통신영역을 사전에 정의한다. 어떤 한 트랜잭션이 원격 사이트에 있는 다른 트랜잭션에게 메세지를 전송할때, 수신할 트랜잭션은 사전에 정의된 통신영역을 통하여 전송이 이루어진다. 즉, 어떤 협력 트랜잭션(Coordinating Transaction)이 그 자신의 원격 사이트에 있는 트랜잭션(Participating Transaction)들에게 메세지를 전달하고자 할 때에 원격 사이트에 대한 통신영역을 정의하여야 하고, 이러한 정의된 영역을 통하여 전달하고자 하는 메세지들이 원격 트랜잭션들에게 전달된다. 또한, 원격 트랜잭션들도 그들의 수행이 완료된 후에 이미 정의된 영역을 통하여 결과 메세지를 협력자 트랜잭션에게 전달하게 된다.Within each site in a real-time distributed system, a real-time system (hereinafter referred to as RTE) exists to support dynamic transaction processing. RTE, which supports dynamic transaction processing, supports the following three functions. It consists of a transaction manager that supports the creation and destruction of transactions, a communication manager that supports message exchange between transactions, and a scheduler that manages the execution order between transactions. In the distributed transaction processing structure, the daemon process that receives and processes events received from outside is always running in the distributed transaction processing structure. It has a communication area using shared memory to support message exchange between distributed transactions. This communication area provides message exchange between transactions in different sites. Accordingly, a communication area for message transmission between sites is defined in advance. When a transaction sends a message to another transaction at a remote site, the transaction to be received is sent through a predefined communication area. In other words, when a coordinating transaction wants to deliver a message to its own remote site, it is necessary to define a communication area for the remote site. Messages are delivered to remote transactions. In addition, remote transactions also deliver the resulting message to collaborator transactions through a pre-defined area after their execution is complete.

제2도는 분산 실시간 시스템 내에 구현될 클라이언트-서버(Client-Server) 구조를 구현하기 위한 상호 흐름을 설명하기 위한 비동기적 원격 처리 과정의 절차 예시도이다.2 is a diagram illustrating a procedure of asynchronous remote processing for explaining the mutual flow for implementing a client-server structure to be implemented in a distributed real-time system.

도면에 도시한 바와 같이 임의의 두개의 사이트가 있다고 가정하면, 하나의 사이트는 협력측 사이트인 Si이고 다른 하나는 참여자 사이트인 Sj이다. 그리고, 협력측 사이트Sj는 참여자 사이트Si와 통신을 하기 위한 통신영역인 공유메모리 SMj와, 이러한 통신 영역인 SMj 내에 어떤 메세지가 도착되었는가를 알려주는 이벤트 플래그(EFj)를 갖고 있다고 가정한다.Assuming that there are any two sites as shown in the figure, one site is Si, which is a cooperating site, and the other is Sj, which is a participant site. Further, it is assumed that the cooperating site Sj has a shared memory SMj, which is a communication area for communicating with the participant site Si, and an event flag EFj indicating which message has arrived in this communication area, SMj.

먼저, 참여자 사이트Si에 있는 협력자 트랜잭션Tc가 원격 처리를 요구하는 경우 기 정의된 원격처리 요구를 발생시키기 위한 명령어request_rpc를 사용하여 협력측 사이트Sj에게 원격 처리 요구 메시지Mj을 전달하고자 할 때, 이러한 메세지는 공유메모리SMj에 저장되어 해당 사이트로 전송하게 된다. 공유메모리SMj 내에는 협력자 트랜잭션Tc에 대한 ID, 원격 처리를 위한 트랜잭션 이름, 원격 처리 요구를 위한 메세지INVOKE, 메세지 크기, 및 메세지 내용에 대한 주소 등의 정보들이 저장된다. 동시에 이벤트 플래그EFj 내의 값을 '셋트'로 변경하여 협력측 사이트Sj에 대하여 협력측 트랜잭션Tc로부터 요구 메세지가 발생되었음을 알려준다. 참고로, 여기서 이벤트 플래그는 두가지의 값을 갖게 된다. 하나는 '셋트(SET)'로 통신영역 내에 메세지가 존재함을 나타내며, 또하나는 메세지가 존재하지 않음을 나타내는 '클리어(CLEAR)' 값을 갖게된다. 이러한 이벤트 플래그는 각 트랜잭션들 간의 통신 상태를 나타내는 중요한 역할을 하게 된다.First, when the collaborator transaction Tc at the participant site Si requests remote processing, when a coworker transaction Tc wants to deliver a remote processing request message Mj to the cooperative site Sj using a command request_rpc for generating a predefined remote processing request, Is stored in shared memory SMj and transmitted to the site. The shared memory SMj stores information such as an ID for the collaborator transaction Tc, a transaction name for remote processing, a message INVOKE for a remote processing request, a message size, and an address for a message content. At the same time, the value in the event flag EFj is changed to 'set' to inform the cooperative site Sj that a request message has been generated from the cooperative transaction Tc. For reference, the event flag has two values here. One is 'SET', indicating that a message exists in the communication area, and the other has 'CLEAR' indicating that the message does not exist. These event flags play an important role in indicating communication status between transactions.

모든 사이트에는 외부로부터 비동기적으로 도착되는 메세지들을 감지하는 데몬 프로세스가 있다. 따라서, 협력측 사이트Sj내에 데몬 프로세스는 통신영역인 SMj에 대한 이벤트 플래그EFj을 주기적으로 체크하고 있다가, 만약 이벤트 플래그EFj의 내용이 '셋트'로 된 경우 데몬 프로세스는 공유메모리SMj로부터 요구 메세지를 수신하기 위한 명령어receive_rpc를 사용하여 메세지Mj을 취하게 된다. 데몬 프로세스는 메세지Mj 내에 있는 트랜잭션의 타입을 분석하여 원격처리 요구를 수행할 트랜잭션Tp을 생성한다. 이와 동시에 이벤트 플래그EFj의 내용을 '클리어'로 변경한다. 이후 원격처리 요구 수행 트랜잭션Tp는 트랜잭션 관리기의 지원하에 그 자체의 기능을 수행하게 된다. 원격처리요구 수행 트랜잭션Tp가 수행을 완료한 후에는 수행된 결과를 수행결과 메세지를 전송하기 위한 명령어 reply_rpc를 사용하여 협력자 트랜잭션Tc에게 전달한다. 이 경우에는 원격처리요구 수행 트랜잭션Tp가 reply_rpc 명령어를 사용하게 되며, 트랜잭션 관리기는 결과 메세지를 협력측 트랜잭션Tc에 사전에 정의된 수신될 메모리 내(return-arrary)에 직접적으로 저장한다. 따라서, 협력측 트랜잭션Tc는 비동기적으로 도착되는 결과 메세지들을 임의적으로 수신 명령어를 사용함이 없이 즉각적으로 받아볼 수 있다.Every site has a daemon process that detects messages arriving asynchronously from the outside world. Therefore, the daemon process in the cooperative site Sj periodically checks the event flag EFj for the SMj communication area. If the content of the event flag EFj is set, the daemon process receives a request message from the shared memory SMj. The message Mj is taken using the receive_rpc command to receive. The daemon process analyzes the type of transaction in message Mj and creates a transaction Tp that will perform the remote processing request. At the same time, the contents of the event flag EFj are changed to 'clear'. Then, the remote processing request execution transaction Tp performs its own function with the support of the transaction manager. After the remote processing request execution transaction Tp completes the execution, the result is transmitted to the collaborator transaction Tc using the command reply_rpc to transmit the execution result message. In this case, the remote processing request performing transaction Tp uses the reply_rpc command, and the transaction manager stores the result message directly in a return-arrary to be received which is predefined in the cooperative transaction Tc. Thus, the cooperative transaction Tc can immediately receive the result messages arriving asynchronously without using a receive command arbitrarily.

제3도는 본 발명에 따른 분산 실시간 시스템 내에서 발생되는 동적 트랜잭션의 처리 방법에 대한 일실시예 흐름도이다.3 is a flow diagram of an embodiment of a method for processing dynamic transactions occurring within a distributed real-time system in accordance with the present invention.

협력자 트랜잭션이 다른 사이트로 원격 처리 요구를 필요로 하는 경우에 원격 처리 요구 메세지를 발생시킨다(1). 이 경우에 전송할 메세지들을 구성하여 원격 처리 요구를 수행할 사이트 내의 통신 영역 내에 저장하여 전송을 완료한다(2). 그리고나서, 원격 처리 요구 메세지를 수신한 사이트 내에서는 메세지의 도착 여부를 판단하여(7) 새로운 요구 메세지가 도착된 경우에 이를 처리할 새로운 참여자 트랜잭션을 생성시키고 도착하지 않은 경우에는 대기/취소한다(8). 이후 참여자 트랜잭션과 협력자 트랜잭션들은 그들의 주어진 기능 수행한다(9). 그리고, 참여자 트랜잭션의 수행을 종료한 경우에 수행 결과를 협력자 트랜잭션에게 비동기적으로 전송하는데, 이때 이러한 결과 메세지는 협력자 트랜잭션의 통신영역 내에 저장함으로서 전송을 완료한다(10,11).Generate a remote processing request message if the collaborator transaction requires a remote processing request to another site (1). In this case, messages to be transmitted are constructed and stored in a communication area within a site where a remote processing request is to be performed (2). Then, within the site that received the remote processing request message, it is determined whether the message has arrived (7), and when a new request message arrives, it creates a new participant transaction to process it and waits / cancels if it does not arrive. 8). Participant and collaborator transactions then perform their given function (9). When the participant transaction is finished, the execution result is asynchronously transmitted to the collaborator transaction. At this time, the result message is stored in the communication area of the collaborator transaction to complete the transmission (10, 11).

그리고, 협력자 트랜잭션도 그 자신의 기능을 수행하다가(4) 참여자 트랜잭션의 결과를 필요로 하는 시점에서 요구하였던 수행 결과들이 도착되었는가를 조사한다(5). 필요한 결과 메세지들이 모두 도착된 경우에 이들을 사용하여 협력자 트랜잭션의 일련의 원격 처리 요구를 종료하게 된다(5). 이와 같은 과정을 통하여 비동기적으로 발생되는 분산 실시간 트랜잭션 처리를 제공한다(6).The collaborator transaction also performs its own function (4) and checks whether the execution results requested at the time when the result of the participant transaction are required have arrived (5). When all the necessary result messages have arrived, they are used to terminate the series of remote processing requests of the collaborator transaction (5). This process provides distributed real-time transaction processing that occurs asynchronously (6).

상기와 같은 본 발명은, 제시된 통신 명령어를 실시간 분산 시스템에 적용될 경우에 다음과 같은 효과를 얻는다.The present invention as described above, when the proposed communication command is applied to a real-time distributed system has the following advantages.

첫째, 비동기적으로 발생되는 원격 처리 요구들을 트랜잭션으로 변형시킬수 있고 이들을 트랜잭션으로 관리해 줄 수 있으므로 트랜잭션이 갖고 있는 고유의 성질들이 일치성 및 원자성들을 보장해 줄 수 있다.First, you can transform asynchronously generated remote processing requests into transactions and manage them as transactions, so the inherent properties of a transaction can ensure consistency and atomicity.

둘째, 원격 처리를 요구한 트랜잭션들이 사용 결과 메세지를 요구하지 않아도 원격트랜잭션들이 그자체의 수행 결과를 비동기적으로 요구한 트랜잭션 내의 수신 영역에 저장해 주므로 메세지의 전송 횟수를 줄일 수 있다.Second, even if the transactions requesting the remote processing do not require the result message, the remote transaction stores the result of its execution asynchronously in the receiving area of the request, thereby reducing the number of message transmissions.

셋째, 원격 처리 요구 메세지 내에 시간적인 제약조건등을 전달할 수 있어 실시간 시스템 내에서 요구하는 시간적 정확성을 만족시킬 수 있다.Third, time constraints can be delivered in the remote processing request message, thereby satisfying the temporal accuracy required in the real-time system.

Claims (1)

분산 실시간 시스템 내에서 동적 트랜잭션 처리 방법에 있어서, 협력자 트랜잭션이 다른 사이트로 원격 처리 요구시 원격 처리 요구 메세지를 발생하면, 참여자 트랜잭션 생성요구 시간 제약 조건을 두고 분산 트랜잭션들간 상호 일치성 및 원자성이 보장되도록 전송할 메세지들을 구성하여 원격 처리 요구를 수행할 사이트 내의 통신 영역 내에 저장하는 제1단계; 원격 처리 요구 메세지를 수신한 사이트 내에서는 메세지의 도착 여부를 판단하여 새로운 요구 메세지가 도착되면 새로운 참여자 트랜잭션을 생성시키는 제2단계; 참여자 트랜잭션의 수행 종료시 그 결과를 협력자 트랜잭션에게 비동기적으로 전송하며, 결과 메세지는 협력자 트랜잭션의 통신영역 내에 저장하는 제3단계; 상기 제1단계 수행후, 상기 참여자 트랜잭션과는 별도로 협력자 트랜잭션도 그 자신의 기능을 수행하다가 참여자 트랜잭션의 결과를 필요로 하는 시점에서 요구하였던 수행 결과들이 도착되었는가를 조사하는 제4단계; 및 필요한 참여자 트랜잭션의 결과 메세지들이 모두 도착되면 이들을 사용하여 협력자 트랜잭션의 원격 처리 요구를 종료하는 제5단계를 포함하는 분산 실시간 시스템 내에서의 트랜잭션 처리 방법.In a dynamic transaction processing method in a distributed real-time system, when a collaborator transaction generates a remote processing request message when a remote processing request is made to another site, mutual consistency and atomicity between distributed transactions are guaranteed under a participant transaction creation time constraint. A first step of constructing messages to be transmitted and storing them in a communication area within a site that will perform a remote processing request; A second step of determining whether a message arrives in the site receiving the remote processing request message and generating a new participant transaction when a new request message arrives; A third step of asynchronously transmitting the result to the collaborator transaction upon completion of the participant transaction, and storing the result message in the communication area of the collaborator transaction; A fourth step of investigating whether the execution results requested at the time when the result of the participant transaction is required while the cooperative transaction performs its own function separately from the participant transaction after performing the first step; And a fifth step of terminating the remote processing request of the collaborator transaction using them when all the result messages of the necessary participant transaction have arrived.
KR1019950049368A 1995-12-13 1995-12-13 Transaction processing method in dispersive real time system KR0173056B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950049368A KR0173056B1 (en) 1995-12-13 1995-12-13 Transaction processing method in dispersive real time system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950049368A KR0173056B1 (en) 1995-12-13 1995-12-13 Transaction processing method in dispersive real time system

Publications (2)

Publication Number Publication Date
KR970056227A KR970056227A (en) 1997-07-31
KR0173056B1 true KR0173056B1 (en) 1999-03-30

Family

ID=19439695

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950049368A KR0173056B1 (en) 1995-12-13 1995-12-13 Transaction processing method in dispersive real time system

Country Status (1)

Country Link
KR (1) KR0173056B1 (en)

Also Published As

Publication number Publication date
KR970056227A (en) 1997-07-31

Similar Documents

Publication Publication Date Title
Smith The contract net protocol: High-level communication and control in a distributed problem solver
Smith The contract net protocol: High-level communication and control in a distributed problem solver
US20040068479A1 (en) Exploiting asynchronous access to database operations
US20030028683A1 (en) Method and system for object cache synchronization
EP1230597B1 (en) Communication architecture for distributed computing environment
US8037153B2 (en) Dynamic partitioning of messaging system topics
JP2008033952A (en) Most eligible server in common work queue environment
CN111212085A (en) Internet of things platform synchronous calling method, Internet of things system and network equipment
US5258982A (en) Method of excluding inactive nodes from two-phase commit operations in a distributed transaction processing system
CN103782278A (en) System and method for providing dynamic invocation and service interface for use in middleware or other environment
KR0173056B1 (en) Transaction processing method in dispersive real time system
JPH11212818A (en) Decentralized simulation system
JP5610773B2 (en) Message processing apparatus and message processing method
US20100250684A1 (en) High availability method and apparatus for shared resources
JPH08212180A (en) Inter-process communication processor
JP2005507522A (en) Method and system for ensuring sequential consistency in distributed computing
KR100233238B1 (en) Two way authentication communication method using multithread in distributed transaction system
JPH06301655A (en) Distributed processing system
US7757235B2 (en) Trigger support for a bi-directional broker
CN116361038B (en) Acceleration computing management method, system, equipment and storage medium
KR102603880B1 (en) Method for block consensus and method for managing transaction state
KR100397503B1 (en) Sequential transaction indexing method between client and agent by using queue
JP3256469B2 (en) Multiple request control device and method in client server system
KR100271520B1 (en) Timer processor for atm signal control system
JP2000339280A (en) Protocol correction method between distributed objects

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
FPAY Annual fee payment

Payment date: 20070919

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee