KR20030062775A - 그룹통신의 메시징 순서를 이용한 즉시 갱신 중복기법에서 전역 직렬성 검사 방법 - Google Patents

그룹통신의 메시징 순서를 이용한 즉시 갱신 중복기법에서 전역 직렬성 검사 방법 Download PDF

Info

Publication number
KR20030062775A
KR20030062775A KR1020020003160A KR20020003160A KR20030062775A KR 20030062775 A KR20030062775 A KR 20030062775A KR 1020020003160 A KR1020020003160 A KR 1020020003160A KR 20020003160 A KR20020003160 A KR 20020003160A KR 20030062775 A KR20030062775 A KR 20030062775A
Authority
KR
South Korea
Prior art keywords
msn
data
node
update
serial number
Prior art date
Application number
KR1020020003160A
Other languages
English (en)
Other versions
KR100426316B1 (ko
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 KR10-2002-0003160A priority Critical patent/KR100426316B1/ko
Publication of KR20030062775A publication Critical patent/KR20030062775A/ko
Application granted granted Critical
Publication of KR100426316B1 publication Critical patent/KR100426316B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/23Reliability checks, e.g. acknowledgments or fault reporting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 그룹통신의 메시징 순서를 이용한 즉시 갱신 중복 기법에서 불필요한 메시지 방송 및 실행을 방지하기 위한 전역 직렬성 검사 방법에 관한 것이다. 즉, 본 발명은 그룹통신의 메시징 순서를 이용한 즉시 갱신 중복 기법에 있어서, 전역 직렬성 검사 결과 메시지와 철회 트랜잭션에 대한 갱신 요구 메시지를 다른 중복 노드로 방송할 필요가 없도록 함으로써 메시지 전송 횟수를 줄일 수 있는 이점이 있으며, 또한 철회 트랜잭션으로 인한 디스크 액세스 수와 로크 대기 시간을 줄임으로써 분산 시스템의 성능을 보다 향상시킬 수 있는 이점이 있다.

Description

그룹통신의 메시징 순서를 이용한 즉시 갱신 중복 기법에서 전역 직렬성 검사 방법{METHOD FOR TESTING OF GLOBAL SERIALIZABILITY IN EAGER REPLICATION TECHNIQUE USING MASSAGING ORDER FOR GROUP COMMUNICATION}
본 발명은 그룹통신의 메시징 순서를 이용한 즉시 갱신 중복 기법에서 불필요한 메시지 방송 및 실행을 방지하기 위한 전역 직렬성 검사 방법에 관한 것으로, 특히 가용성, 신뢰성, 그리고 고성능 트랜잭션 처리를 위하여 각 노드들이 중복사본을 갖는 분산 시스템 환경에서 중복 사본의 일관성을 유지하도록 하는 중복 기법에 관한 것이다.
통상적으로 중복 기법에 대한 종래 기술에는 즉시 갱신과 지연 갱신의 두 가지로 나눌 수 있다. 지연 갱신은 원본 트랜잭션과 갱신 요구 트랜잭션이 비동기적으로 처리되므로 원본 트랜잭션의 완료 후 전역 직렬성 검사가 이루어지고 즉시 갱신은 원본 트랜잭션과 다른 노드의 중복 사본에 대한 갱신 요구 트랜잭션이 하나의 트랜잭션으로 구성되는 것으로, 원본 트랜잭션이 완료하기 전에 전역 직렬성 검사가 이루어진다. 상기 지연 갱신을 적용한 기술에는 Sybase Replication Server, epidemic 기법 등이 있지만 데이터 일관성 유지가 어렵고 사용자가 그 책임을 가지는 문제점이 있었으며, 또한 상기 즉시 갱신은 데이터 일관성이 유지되지만 교착상태 발생율이 높은 문제점이 있었다.
한편, 상기 즉시 갱신에 있어서는 그룹통신의 메시징 순서 기능을 이용하여 트랜잭션의 순서를 미리 정하는 것이 교착상태 발생율을 줄이는데 효과적이다. 이를 이용한 즉시 중복 기법에는 BA(Broadcast All), SER(Replication with Serializability ) 등을 들 수 있는데, 상기 BA는 판독 연산, 갱신 연산 등과 같은 트랜잭션의 전체 내용을 중복 사본이 저장된 노드에 방송하고 수신 노드는 메시징 순서에 따라 트랜잭션을 실행한다.
이때 상기 BA의 경우 판독 연산도 모든 노드에서 실행해야 하고, 데이터의 이질형 분산 시스템에는 적용이 어려운 문제점이 있으나, SER은 상기 BA와 달리 판독 연산을 지역적으로 처리하고 갱신 연산은 중복 사본이 저장된 모든 노드에서 실행한다. 즉, SER에서 송신 노드는 판독 연산을 실행한 후 갱신 요구 메시지를 모든노드에 방송하고 수신된 메시지를 바탕으로 전역 직렬성을 검사한 후 그 결과를 다시 방송한다. 또한 SER에서는 메시지 전송 오버헤드를 줄이기 위하여 갱신 연산을 하나씩 방송하는 것이 아니라 판독 연산 실행을 마친 후 갱신 연산을 한꺼번에 방송하며, 전송된 갱신 요구에 대한 로크를 원자적으로 요청함으로써 교착상태를 방지한다. 전역 트랜잭션 T1의 발생 노드가 N1이면, N1은 먼저 S 로크를 획득하고 판독 연산을 실행한다. 갱신 연산의 실행은 모든 판독 연산의 실행을 마칠 때까지 연기한다. N1은 T1의 판독 연산을 모두 실행한 후 갱신 요구 메시지를 모든 노드에 방송하고, 수신 노드들은 메시지에 포함된 갱신 데이터들에 대해 원자적으로 X 로크를 획득하고 실행한다. 이와 달리 송신 노드 N1은 자신이 방송한 갱신 요구 메시지 이외의 메시지가 먼저 도착하면 이미 판독한 데이터의 유효성을 검사한다. 만약 T1의 판독 데이터가 먼저 도착한 메시지의 갱신 데이터와 충돌된다면 모든 노드에 T1의 철회 메시지를 방송하고 T1을 철회한다. 즉, 직렬성 위반 여부가 갱신 요구 메시지 방송 이후 결정되는 낙관적 기법이기 때문에 송신 노드는 철회될 트랜잭션에 대한 불필요한 갱신 요구 방송하고, 수신 노드는 그 트랜잭션을 실행하는 경우가 발생한다. 이하 상기 불필요한 방송으로 인한 문제점을 몇 가지 예를 들어 설명하기로 한다.
먼저 노드 N1과 N2가 데이터 a와 b를 중복 저장한다고 가정하는 경우 N1은 트랜잭션 T1(R1(a), W1(b)), N2는 트랜잭션 T2(R2(b), W2(a))를 각각 실행한다. 이때전역 직렬성을 만족하는 실행 스케줄(T1→T2혹은 T2→T1)을 보장하기 위해서 SER을 적용하면 아래와 같다.
1. 노드 N1은 a의 S로크를 획득하고 판독 연산을 실행한 후, T1의 갱신 요구 메시지 M1: <W1(b)>을 방송한다. 마찬가지로 노드 N2도 b의 S 로크를 획득하고 판독 연산을 실행한 후, T2의 갱신 요구 메시지 M2: <W2(a)>를 방송한다. 단, 메시징 순서는 M1→M2라고 가정한다.
2. 노드 N1은 M1을 수신하면, b에 대한 X로크를 획득하고, T1의 완료 메시지를 방송한다.
3. 노드 N2는 수신한 M1의 X 로크를 획득하는 과정에서, 자신의 노드에서 실행한 T2의 판독 데이터 b에 의해 설정된 S로크와 충돌이 발생하고 아직 S 로크를 획득한 트랜잭션 T2의 갱신 요구 메시지 M2가 도착하지 않았기 때문에 모든 노드에 철회 메시지를 방송한다.
4. N1은 M2가 도착하면 W2(a)를 위해 a에 대한 X로크를 요청한다.
5. N2로부터 철회 메시지가 도착하면 N1은 T2를 실행취소하고 로크를 해제한다.
그런데 상기한 바와 같은 종래에는, T2가 철회될 지 여부를 사전에 알지 못하므로 N2는 M2를 모든 노드에 방송하고 수신 노드 N1은 M2가 도착하면 W2(a)를 처리한다. 이로 인해 N1에서 다른 트랜잭션이 데이터 a를 액세스하고자 하면 로크가 해제될 때까지 지연된다. N1은 N2로부터 철회 메시지가 도착하면 T2를 실행취소하고 로크를 해제한다. 따라서 송신 노드는 전역 직렬성 결과 방송에 따른 추가적인 메시지 전송 오버헤드를 갖고 수신 노드는 갱신 연산을 모두 실행했더라도 로크 해제를 지연해야 하며, 철회 트랜잭션에 대한 불필요한 로크 액세스로 인하여 정상적인 트랜잭션 실행이 지연되는 문제점이 있었다.
한편, 상기와 같은 그룹통신을 이용한 즉시 갱신 중복 기법으로는 1999년 6월 출판된 "Proc, IEEE 29th Int'l Symposium on Fault Tolerant Computing"지 158∼165페이지에 개시된 "The Performance of Database Replication with Group Multicast"와 2000년 9월에 출판된 "ACM Trans. Database Syst"지 제25권 3호 333∼379페이지에 개시된 "A New Approach to Developing and Implementing Eager Database Replication Protocols" 등과 같은 그룹통신을 이용한 즉시 갱신 중복 기법에 관한 기술이 개시되어 있다. 그러나 상기 "The Performance of Database Replication with Group Multicast"는 본 발명에서도 종래 기술로 언급한 바와 같은 판독 연산도 모든 노드에 방송하는 방법과 불필요한 메시지를 방송하는 즉시 갱신 중복 기법에 관해 개시하고 있을 뿐이고, 상기 "A New Approach to Developing and Implementing Eager Database Replication Protocols"에서도 전역 트랜잭션 발생 노드에서 갱신 요구 메시지 방송 후, 전력 직렬성 검사를 수행함을 기술하고있을 뿐이며, 또한 한국특허 등록번호 106983호에 개시된 "분산 데이터 베이스 관리 시스템에서의 동시성 제어 및 트랜잭션 관리방법"에서는 데이타 일관성을 위한 트랜잭션 관리 기법을 개시하고 있지만 중복 데이터를 고려하지 않은 일반적인 분산시스템에서의 데이터 일관성을 위한 트랜잭션 관리 기법만을 개시하고 있을 뿐이어서 상기 본 발명의 문제점으로 언급한 전역 직렬성 결과 방송에 따른 추가적인 메시지 전송 오버헤드를 갖고 수신 노드는 갱신 연산을 모두 실행했더라도 로크 해제를 지연해야 하며, 철회 트랜잭션에 대한 불필요한 로크 액세스로 인한 정상적인 트랜잭션 실행의 지연은 여전히 문제점으로 남아 있었다.
따라서, 본 발명의 목적은 그룹통신의 메시징 순서를 이용한 중복 기법에서 갱신 연산 메시지를 방송하기 전에 전역 직렬성 검사를 수행하도록 함으로써 SER에서 발생하는 불필요한 메시지 전송 오버헤드 및 철회 트랜잭션 오버헤드를 줄일 수 있도록 하는 그룹통신의 메시징 순서를 이용한 즉시 중복 기법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 발명은, 다수의 송신노드(Ni)와 그룹통신 관리 노드를 포함하는 그룹통신의 메시징 순서를 이용한 즉시 갱신 중복 기법에서 전역 직렬성 검사 방법에 있어서, (a)송신노드로부터 메시지 일련번호(MSN) 요청메시지가 수신되는 경우 판독연산집합(RSk)에 저장된 데이터(dr)를 순차적으로 읽어들이면서 갱신 정보 테이블(U-TBL)을 검색하는 단계와; (b)상기 검색결과 동일한 데이터(dr)가 존재하는 경우 최종 메시지 일련번호(LastMSN(Ni))와 상기 갱신 정보 테이블에 저장된 데이터(dr) 및 MSN(dr)를 이용하여 해당 데이터(dr)에 대한 유효성 여부를 검사하는 단계와; (c)상기 데이터(dr)가 유효하지 않은 것으로 판단되는 경우 상기 송신노드(Ni)로 전역 직렬성 검사 결과 철회 메시지를 전송시키는 단계;를 포함하여 진행하는 방법과, (a')송신노드로부터 메시지 일련번호(MSN) 요청메시지가 수신되는 경우 판독연산집합(RSk)에 저장된 데이터(dr)를 순차적으로 읽어들이면서 갱신 정보 테이블(U-TBL)을 검색하는 단계와; (b')상기 검색결과 동일한 데이터(dr)가 존재하는 경우 최종 메시지 일련번호(LastMSN(Ni))와 상기 갱신 정보 테이블에 저장된 데이터(dr) 및 MSN(dr)를 이용하여 해당 데이터(dr)에 대한 유효성 여부를 검사하는 단계와; (c')상기 검사결과 데이터(dr)가 유효한 것으로 판단되는 경우 판독연산집합(RSk)에 포함되는 모든 데이터(dr)에 대해 최대 메시지 일련번호(Max MSN)값을 미리 설정된 일정크기 만큼 증가시킨 새로운 메시지 일련번호(MSN)값을 해당 노드(Ni)에 할당하는 단계와; (d')갱신연산집합(WSk)에 포함되는 모든 데이터(dw)값과 상기 새로운 메시지 일련번호(MSN)값을 연계하여 갱신 정보 테이블에 저장시키는 단계와; (e')상기 해당 송신노드(Ni)로 상기 새로운 메시지 일련번호(MSN)값과 함께 전역 직렬성 검사 결과 완료 메시지를 송신하는 단계와; (f')상기 (b')에서의 유효성 검사결과 상기 데이터(dr)가 유효하지 않은 것으로 판단되는 경우 상기 송신노드(Ni)로 전역 직렬성 검사 결과 철회 메시지를 전송시키는 단계;를 포함하여 진행하는 방법을 구현하는 것을 특징으로 한다.
도 1은 본 발명의 실시 예에 따른 분산 시스템 구성도.
도 2는 본 발명의 실시 예에 따른 그룹통신의 메시징 순서를 이용한 즉시 갱신 중복 기법에 대한 동작 흐름도.
도 3는 본 발명의 실시 예에 따른 전역 직렬성 검사 동작 제어 흐름도.
도 4는 본 발명의 실시 예에 따른 그룹통신 관리 노드의 동작 흐름도.
도 5는 본 발명의 실시 예에 따른 그룹통신 관리 노드의 갱신 테이블을 이용한 전역 직렬성 검사 흐름도.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예의 동작을 상세하게 설명한다.
도 1은 본 발명의 실시 예에 따른 분산 시스템 모듈의 구성을 도시한 것이다. 상기 도 1을 참조하면, 분산 시스템(120)은 노드 Ni(1≤ i ≤n)로 구성된다. 상기 분산 시스템을 구성하는 각 노드(108)에는 사용자와 시스템을 연결하는 인터페이스 모듈(110), 디스크에 데이터 베이스를 생성하고 처리하는 데이터 저장/액세스 관리 모듈(112), 그리고 트랜잭션 관리 모듈(114)로 구성된다. 상기 트랜잭션 관리 모듈(114)에는 지역 트랜잭션의 동시성 제어를 담당하는 지역 트랜잭션 관리 모듈과 다른 노드의 중복 사본을 갱신하기 위한 전역 트랜잭션의 동시성 제어를 담당하는 전역 트랜잭션 관리 모듈이 있다. 모든 노드(108)는 중앙의 메시징 순서를 관리하는 그룹통신 관리 노드(100)에 연결된다. 그룹통신 관리 노드(100)는 메시지 일련 번호를 부여하기 위한 Sequencer 모듈(104)과 본 발명에서 제시하는 전역 직렬성 검사모듈(102), 그리고 분산 시스템의 각 노드와 연결되는 인터페이스 모듈(106)로 구성된다.
도 2는 본 발명의 실시 예에 따른 분산 시스템에서 그룹통신 메시징 순서를 이용한 즉시 갱신 중복 기법에서의 전역 트랜잭션 발생 노드의 동작 제어 흐름을도시한 것이다. 상기 그룹통신의 메시징 순서를 이용한 즉시 갱신 중복 기법은 전역 직렬성이 위반되지 않는 정상적인 경우, 판독 연산의 실행단계(S200), 전역 직렬성 검사 단계(S202), 갱신 요구 메시지 방송 단계(S208), 갱신 요구 메시지 수신단계(S210), 갱신 연산 실행 단계(S212)로 구성되며, 본 발명의 실시 예에 따라 전역 직렬성이 위반된 전역 트랜잭션을 실행한 경우에는 전역 직렬성 검사 단계(S202)에서 철회로 결정된다. 그러면 해당 노드는 상기 트랜잭션에 대한 갱신 요구를 다른 중복 노드로 방송하지 않고 판독 연산에서 설정한 S 로크를 해제하고 해당 트랜잭션을 철회시키게 되는 것이다.
이하 상기 도 2의 동작 흐름을 보다 상세히 설명하면, 판독 연산 실행 단계인 (S200)단계에서는 판독 연산을 위한 S 로크를 획득하고 판독 연산을 수행하게 된다. 이어 전역 직렬성 검사 단계인 (S202)단계에서는 갱신 요구 메시지를 방송하기 전에 그룹통신 관리 노드(100)를 통하여 판독 연산에서 액세스한 판독 데이터 집합과 갱신 정보 테이블(U-TBL)을 이용한 전역 직렬성 위반 여부를 검사한다. 이때 전역 직렬성 검사결과 철회로 결정되는 경우 (S204)단계에서 (S206)단계로 진행해서 갱신 요구 메시지를 방송하지 않고 판독 연산에서 설정한 S 로크를 해제한다.
이와 달리 전역 직렬성 검사결과 완료로 결정되는 경우에는 상기 (S204)단계에서 이에 응답하여 (S208)단계로 진행해서 갱신 요구 메시지를 방송한다. 이어 갱신 요구 메시지 방송 단계인 (S208)단계에서 갱신 요구 메시지를 모든 중복 노드에 방송하게 되며, 해당 중복 노드는 갱신 요구 메시지 수신단계인 (S210)단계에서 상기 갱신 요구 메시지를 수신한다. 이어 상기 수신된 갱신 연산 실행 단계인 (S212)단계에서 갱신 연산을 실행하기 위하여 원자적으로 X로크를 획득한다. 이때 상기 X 로크를 설정하는 과정에서 미리 설정된 로크가 있는 경우 로크 대기 그래프에 등록한 후 대기한다. 이어 로크 설정과정을 마친 후 로크를 획득하는 연산에 대해서는 갱신 연산을 실행하게 되고, 모든 갱신 연산에 대한 실행이 종료되는 경우 트랜잭션을 완료한 후 로크를 해제한다.
도 3은 본 발명의 실시 예에 따른 분산 시스템에서 그룹통신 메시징 순서를 이용한 즉시 갱신 중복 기법에서의 전역 직렬성 검사의 동작 제어 흐름을 도시한 것이다. 상기 전역 직렬성 검사는 전역 트랜잭션이 발생한 송신 노드에서 그룹통신 관리 노드의 sequencer로 메시지 일련번호(Message Serial Number: MSN)를 요청하는 단계와 전역 직렬성 검사 결과를 수신하는 단계로 구성된다.
상기 도 3을 참조하면, 송신 노드는 판독 연산을 실행한 후, (S300)단계에서 판독 연산 집합, 갱신 연산 집합, 자신의 노드에서 마지막으로 실행한 갱신 요구 메시지 일련 번호 등의 정보를 갖는 MSN 요청 메시지를 그룹통신 관리 노드에게 전송한다. 그러면 그룹통신 관리 노드는 송신 노드에서 보내온 메시지 정보를 바탕으로 전역 직렬성을 검사한 후, 그 결과를 송신 노드에 전송한다.
이에 따라 송신노드 Ni는 (S302)단계에서 그룹통신 관리 노드로부터 전역 직렬성 검사 결과를 수신하여 상기 전역 직렬성 검사 결과 완료 메시지를 전송받은 경우에는 (S304)단계에서 이에 응답하여 (S306)단계로 진행해서 할당받은 MSN과 함께 갱신 요구 메시지(WSk, MSN)를 모든 노드에게 방송한다. 이때 상기 WSk는 갱신연산의 집합으로 각 노드의 중복 사본에 갱신되어야 하는 실제 데이터 값을 저장한다. 수신노드는 상기 WSk를 전송 받으면 dwIN WSk인 모든 dw에 대해 X로크를 원자적으로 설정한 후, 전송 받은 dw값을 기록한다. 이때 만일 dw에 대하여 다른 트랜잭션에 의한 S로크 혹은 X로크가 이미 설정되어 있으면 대기한다. 이때 모든 dw에 대한 기록을 완료한 후, X로크를 해제하고 해당 노드의 Last MSN은 WSk의 MSN으로 변경된다.
이와 달리 송신노드 Ni는 상기 (S302)단계에서 그룹통신 관리 노드로부터 전역 직렬성 결과 철회 메시지를 전송 받은 경우에는 상기 (S304)단계에서 (S308)단계로 진행해서 Tk를 철회하고 S로크를 해제시키게 된다.
도 4는 본 발명의 실시 예에 따른 분산 시스템에서의 그룹통신 메시징 순서를 이용한 즉시 갱신 중복 기법에서 그룹통신 관리 노드의 동작 제어 흐름을 도시한 것이다. 상기 그룹통신 관리 노드는 본 발명의 실시 예에 따라 메시징 순서 기능과 전역 직렬성 검사 기능을 갖는다. 여기서 메시지 일련번호(MSN)는 나중에 생성한 MSN이 기존의 MSN보다 큰 값을 갖는 단조 증가 함수로 구현되며, 이때 Max MSN은 Sequencer가 할당한 가장 큰 MSN을 의미한다. 갱신 정보 테이블(U-TBL)은 전역 직렬성 검사 기능을 위해 사용되는 것으로 갱신 데이터, MSN 의 쌍으로 구성되는데, 이때 MSN은 해당 갱신 데이터의 변경 시점을 의미한다. 따라서 그룹통신 관리 노드는 (S400)단계에서 먼저 Max MSN과 U-TBL을 초기화한 후, (S402)단계에서판독 연산을 실행한 후, 트랜잭션 실행노드에서 전송한 MSN요청메시지를 수신한다. 이어 그룹통신 관리 노드는 (S404)단계에서 갱신 테이블을 이용하여 상기 트랜잭션 실행 노드에서 전송한 MSN요청메시지에 대해 전역 직렬성을 검사한 후, (S406)단계에서 상기 전역 직렬성 검사 결과를 해당 노드로 전송시킨다.
도 5는 본 발명의 실시 예에 따른 분산 시스템에서의 그룹통신 메시징 순서를 이용한 즉시 갱신 중복 기법에서 그룹통신 관리 노드의 갱신 정보 테이블을 이용한 전역 직렬성 검사 동작 처리 흐름을 도시한 것이다.
송신 노드 Ni는 판독 연산을 실행한 후, (S500)단계에서 판독 연산 집합, 갱신 연산 집합, 자신의 노드에서 마지막으로 실행한 갱신 요구 메시지 일련번호 등과 같은 정보를 갖는 MSN 요청메시지를 그룹통신 관리 노드에 전송한다. 여기서 트랜잭션은 Tk, 판독 연산 집합은 RSk, 갱신 연산 집합은 WSk, 그리고 노드에서 마지막으로 실행 갱신 요구 메시지 일련 번호는 LastMSN(Ni)으로 정의한다. 이어 그룹통신 관리 노드는 (S502)단계에서 drIN RSk인 모든 dr에 대해 갱신 정보 테이블(U-TBL)을 검색하여 아직 처리되지 않은 dr이 있는지 여부를 검사한다. 이때 만일 아직 처리되지 않은 dr이 있는 경우 그룹통신 관리 노드는 상기 (S502)단계에서 (S504)단계로 진행해서 drIN RSk을 만족하는 dr을 읽어들인 후, (S506)단계에서 갱신정보 테이블에서 상기 dr을 검색하여 해당 dr의 MSN(dr)값을 구한다. 상기 (S504)∼(S506)단계는 LastMSN(Ni)와 갱신정보 테이블에 저장된 dr, MSN(dr) 값을 이용하여 dr의 유효성을 검사하는 단계로써, 이때 갱신 정보 테이블에서 MSN(dr)은 dr을 마지막으로 갱신한 트랜잭션의 MSN이며, 갱신 정보 테이블에 dr의 갱신정보가 없는 경우 MSN(dr)은 Φ의 값을 갖는다고 가정한다.
즉, 그룹통신 관리 노드는 상기에서 MSN(dr)=Φ인 경우 상기 dr이 최근에 갱신된 적이 없다는 것을 의미하므로 Ni가 판독한 데이터 dr은 유효하다고 판독하여 (S508)단계에서 다시 상기 (S502)단계로 돌아가서 LastMSN(Ni)와 갱신정보 테이블에 저장된 dr, MSN(dr) 값을 이용한 dr의 유효성을 검사를 반복 수행한다.
그러나 상기 (S508)단계의 검사결과 MSN(dr)≠Φ인 경우에는 (S510)단계로 진행해서 LastMSN(Ni)≥MSN(dr) 인지 여부를 검사한다. 상기 (S510)단계에서 LastMSN(Ni)≥MSN(dr) 인 경우 dr이 최근에 갱신된 적이 있고, Ni는 MSN(dr) 시점에서 발생한 dr의 갱신 요구를 이미 실행하였음을 의미하므로 Tk가 판독한 데이터 dr은 유효하다. 그러므로 다음 dr을 갱신 정보 테이블에서 검색한다.
이와 달리 상기 (S510)단계에서 LastMSN(Ni)≤MSN(dr) 인 경우 dr이 최근에 갱신된 적이 있지만, Ni는 MSN(dr) 시점에서 발생한 dr의 갱신 요구를 아직 실행하지 않았음을 의미한다. 즉, Ni는 갱신전의 dr을 판독하였고, 그 결과 Ni가 판독한 데이터 dr은 유효하지 않게 된다. 따라서 그룹통신 관리 노드는 상기 (S510)단계에서 (S518)단계로 진행해서 철회 메시지를 MSN요청 노드로 전송시키게 되는 것이다.
그러나 상기 (S502)단계에서 drIN RSk인 모든 dr에 대해 갱신 정보 테이블(U-TBL)을 검색하여 아직 처리되지 않은 dr이 있는지 여부를 검사한 결과, 아직 처리되지 않은 dr이 없는 경우 그룹통신 관리 노드는 상기 (S502)단계에서 (S512)단계로 진행해서 Max MSN값을 "1"만큼 증가시킨 새로운 MSN을 노드 Ni에 할당시킨다. 그리고 (S514)단계에서 dwIN WSk인 모든 dw에 대해 <dw, 새로운 MSN>쌍을 갱신 정보 테이블에 저장시킨 후, (S516)단계로 진행해서 상기 새로이 할당된 MSN과 함께 전역 직렬성 검사 결과 완료를 Ni에게 알린다.
즉, 상기 도 3에서 설명된 바와 같이 송신 노드 Ni는 그룹통신 관리 노드로부터 전역 직렬성 검사 결과를 수신하면 완료 메시지를 전송 받은 경우에는 갱신 요구 메시지 <WSk, MSN>를 모든 노드에게 방송하지만, 상기와 같은 본 발명에서와 같이 철회메시지를 전송받는 경우에는 해당 트랜잭션에 대한 다른 노드로의 방송이 필요없게 되기 때문에 불필요한 메시지 방송을 방지할 수 있게 되며, 또한 철회 트랜잭션의 실행으로 인해 디스크 액세스 수와 로크 대기시간을 줄일 수 있게 된다.
한편, 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
이상에서 설명한 바와 같이, 본 발명은 그룹통신의 메시징 순서를 이용한 즉시 갱신 중복 기법에 있어서, 전역 직렬성 검사 결과 메시지와 철회 트랜잭션에 대한 갱신 요구 메시지를 다른 중복 노드로 방송할 필요가 없도록 함으로써 메시지 전송 횟수를 줄일 수 있는 이점이 있으며, 또한 철회 트랜잭션으로 인한 디스크 액세스 수와 로크 대기 시간을 줄임으로써 분산 시스템의 성능을 보다 향상시킬 수 있는 이점이 있다.

Claims (7)

  1. 다수의 송신노드(Ni)와 그룹통신 관리 노드를 포함하는 그룹통신의 메시징 순서를 이용한 즉시 갱신 중복 기법에서 전역 직렬성 검사 방법에 있어서,
    (a)송신노드로부터 메시지 일련번호(MSN) 요청메시지가 수신되는 경우 판독연산집합(RSk)에 저장된 데이터(dr)를 순차적으로 읽어들이면서 갱신 정보 테이블(U-TBL)을 검색하는 단계와;
    (b)상기 검색결과 동일한 데이터(dr)가 존재하는 경우 최종 메시지 일련번호(LastMSN(Ni))와 상기 갱신 정보 테이블에 저장된 데이터(dr) 및 MSN(dr)를 이용하여 해당 데이터(dr)에 대한 유효성 여부를 검사하는 단계와;
    (c)상기 데이터(dr)가 유효하지 않은 것으로 판단되는 경우 상기 송신노드(Ni)로 전역 직렬성 검사 결과 철회 메시지를 전송시키는 단계;를 포함하여 진행하는 것을 특징으로 하는 전역 직렬성 검사 방법.
  2. 제1항에 있어서,
    상기 (b)단계에서 상기 데이터(dr)가 유효한 것으로 판단되는 경우, (d)판독연산집합(RSk)에 포함되는 모든 데이터(dr)에 대해 최대 메시지 일련번호(Max MSN)값을 미리 설정된 일정크기 만큼 증가시킨 새로운 메시지 일련번호(MSN)값을 해당 노드(Ni)에 할당하는 단계와;
    (f)갱신연산 집합(WSk)에 포함되는 모든 데이터(dw)에 대해 상기 새로운 메시지 일련번호(MSN)값을 연계하여 갱신 정보 테이블에 저장시키는 단계와;
    (g)상기 해당 송신노드(Ni)로 상기 새로운 메시지 일련번호(MSN)값과 함께 전역 직렬성 검사 결과 완료 메시지를 송신하는 단계;를 더 포함하여 진행하는 것을 특징으로 하는 전역 직렬성 검사 방법.
  3. 다수의 송신노드(Ni)와 그룹통신 관리 노드를 포함하는 그룹통신의 메시징 순서를 이용한 즉시 갱신 중복 기법에서 전역 직렬성 검사 방법에 있어서,
    (a')송신노드로부터 메시지 일련번호(MSN) 요청메시지가 수신되는 경우 판독연산집합(RSk)에 저장된 데이터(dr)를 순차적으로 읽어들이면서 갱신 정보 테이블(U-TBL)을 검색하는 단계와;
    (b')상기 검색결과 동일한 데이터(dr)가 존재하는 경우 최종 메시지 일련번호(LastMSN(Ni))와 상기 갱신 정보 테이블에 저장된 데이터(dr) 및 MSN(dr)를 이용하여 해당 데이터(dr)에 대한 유효성 여부를 검사하는 단계와;
    (c')상기 검사결과 데이터(dr)가 유효한 것으로 판단되는 경우판독연산집합(RSk)에 포함되는 모든 데이터(dr)에 대해 최대 메시지 일련번호(Max MSN)값을 미리 설정된 일정크기 만큼 증가시킨 새로운 메시지 일련번호(MSN)값을 해당 노드(Ni)에 할당하는 단계와;
    (d')갱신연산집합(WSk)에 포함되는 모든 데이터(dw)값과 상기 새로운 메시지 일련번호(MSN)값을 연계하여 갱신 정보 테이블에 저장시키는 단계와;
    (e')상기 해당 송신노드(Ni)로 상기 새로운 메시지 일련번호(MSN)값과 함께 전역 직렬성 검사 결과 완료 메시지를 송신하는 단계와;
    (f')상기 (b')에서의 유효성 검사결과 상기 데이터(dr)가 유효하지 않은 것으로 판단되는 경우 상기 송신노드(Ni)로 전역 직렬성 검사 결과 철회 메시지를 전송시키는 단계;를 포함하여 진행하는 것을 특징으로 하는 전역 직렬성 검사 방법.
  4. 제1항 또는 제3항에 있어서,
    상기 MSN(dr)은, 상기 데이터(dr)를 마지막으로 갱신한 트랜잭션 메시지 일련번호(MSN)인 것을 특징으로 하는 전역 직렬성 검사 방법.
  5. 제1항 또는 제3항에 있어서,
    상기 (b) 및 (b')단계는, (b"1)상기 갱신 정보 테이블에 데이터(dr)의 갱신 기록이 있는지 여부를 검사하여 유효성 여부를 판단하는 제1단계와;
    (b"2)상기 최종 메시지 일련번호(LastMSN(Ni))값과 MSN(dr)값의 크기를 비교하여 노드(Ni)에서 MSN(dr) 시점에서 발생한 데이터(dr)의 갱신 요구가 실행되었는지 여부를 검사하여 유효성 여부를 판단하는 제2단계;를 포함하여 진행하는 것을 특징으로 하는 전역 직렬성 검사 방법.
  6. 제5항에 있어서,
    상기 (b"1)단계에서 상기 갱신 정보 테이블에 데이터(dr)의 갱신 기록이 없는 경우 상기 데이터(dr)를 유효한 것으로 판단하는 것을 특징으로 하는 전역 직렬성 검사 방법.
  7. 제5항에 있어서,
    상기 (b"2)단계는, (b"21)상기 최종 메시지 일련번호(LastMSN(Ni))값이 MSN(dr)값보다 크거나 같은 경우에는 상기 데이터(dr)가 최근에 갱신된 적이 있고, 상기 송신노드(Ni)는 MSN(dr)시점에서 발생한 데이터(dr)의 갱신 요구를 이미 실행한 것으로 인식하여 상기 데이터(dr)를 유효한 것으로 판단하는 제1단계와;
    (b"22)상기 최종 메시지 일련번호(LastMSN(Ni))값이 MSN(dr)값보다 작은 경우에는 상기 데이터(dr)가 최근에 갱신된 적이 있으나, 상기 송신노드(Ni)는 MSN(dr)시점에서 발생한 데이터(dr)의 갱신 요구를 아직 실행하지 않은 것으로 인식하여 상기 데이터(dr)를 유효하지 않은 것으로 판단하는 제2단계;를 포함하여 진행하는 것을 특징으로 하는 전역 직렬성 검사 방법.
KR10-2002-0003160A 2002-01-19 2002-01-19 그룹통신의 메시징 순서를 이용한 즉시 갱신 중복기법에서 전역 직렬성 검사 방법 KR100426316B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0003160A KR100426316B1 (ko) 2002-01-19 2002-01-19 그룹통신의 메시징 순서를 이용한 즉시 갱신 중복기법에서 전역 직렬성 검사 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0003160A KR100426316B1 (ko) 2002-01-19 2002-01-19 그룹통신의 메시징 순서를 이용한 즉시 갱신 중복기법에서 전역 직렬성 검사 방법

Publications (2)

Publication Number Publication Date
KR20030062775A true KR20030062775A (ko) 2003-07-28
KR100426316B1 KR100426316B1 (ko) 2004-04-06

Family

ID=32218610

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0003160A KR100426316B1 (ko) 2002-01-19 2002-01-19 그룹통신의 메시징 순서를 이용한 즉시 갱신 중복기법에서 전역 직렬성 검사 방법

Country Status (1)

Country Link
KR (1) KR100426316B1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100224318B1 (ko) * 1997-05-28 1999-10-15 이계철 공중망 비동기 전달 모드(atm) 교환시스템에서의랜(lan) 트래픽 처리 방법
KR100241354B1 (ko) * 1997-12-02 2000-02-01 정선종 디에취씨피서버와 디엔에스서버 간의 연동 시스템 및 그 방법
KR100273061B1 (ko) * 1998-11-04 2000-12-01 이계철 네트워킹 시스템과 교환기간 정합 장치 및 그 방법
KR20010016708A (ko) * 1999-08-02 2001-03-05 문정훈 네임 서버를 이용한 네트워크 트래픽 제어장치 및 제어방법
KR100392373B1 (ko) * 2001-09-03 2003-07-23 한국전자통신연구원 방송식 패킷 전달방식을 이용한 근거리통신망 ipc네트워크를 통한 프로세서간 통신 방법

Also Published As

Publication number Publication date
KR100426316B1 (ko) 2004-04-06

Similar Documents

Publication Publication Date Title
CN109739935B (zh) 数据读取方法、装置、电子设备以及存储介质
JP4301937B2 (ja) 分散データベース環境での一貫した読取
US9959178B2 (en) Transactional and parallel log replay for asynchronous table replication
US7693882B2 (en) Replicating data across the nodes in a cluster environment
US6125368A (en) Fault-tolerant timestamp generation for multi-node parallel databases
US6012059A (en) Method and apparatus for replicated transaction consistency
US5802062A (en) Preventing conflicts in distributed systems
US6823347B2 (en) Propagating commit times
US20120272012A1 (en) Distributed shared memory
EP1704480B1 (en) Cluster database with remote data mirroring
US20070143299A1 (en) Commitment of transactions in a distributed system
AU2002303900A1 (en) Consistent read in a distributed database environment
US20120011100A1 (en) Snapshot acquisition processing technique
US6970872B1 (en) Techniques for reducing latency in a multi-node system when obtaining a resource that does not reside in cache
JP2023541298A (ja) トランザクション処理方法、システム、装置、機器、及びプログラム
CN112527759B (zh) 日志执行方法、装置、计算机设备及存储介质
CN113010549A (zh) 基于异地多活系统的数据处理方法、相关设备及存储介质
CN112527901A (zh) 数据存储系统、方法、计算设备及计算机存储介质
JP5331050B2 (ja) データ同期システム、データ同期方法、情報処理装置、情報処理方法、およびプログラム
CN113905054B (zh) 基于RDMA的Kudu集群数据同步方法、装置、系统
US20230021150A1 (en) Methods and systems for non-blocking transactions
KR100426316B1 (ko) 그룹통신의 메시징 순서를 이용한 즉시 갱신 중복기법에서 전역 직렬성 검사 방법
US7873868B1 (en) Method for obtaining higher throughput in a computer system utilizing a clustered systems manager
Ladin et al. A technique for constructing highly available services
CN113760519B (zh) 分布式事务处理方法、装置、系统和电子设备

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: 20100323

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee