KR940005819B1 - 분산 컴퓨터 데이타베이스에서 지속적 타임스탬프를 위한 시스템 및 방법 - Google Patents

분산 컴퓨터 데이타베이스에서 지속적 타임스탬프를 위한 시스템 및 방법 Download PDF

Info

Publication number
KR940005819B1
KR940005819B1 KR1019910008220A KR910008220A KR940005819B1 KR 940005819 B1 KR940005819 B1 KR 940005819B1 KR 1019910008220 A KR1019910008220 A KR 1019910008220A KR 910008220 A KR910008220 A KR 910008220A KR 940005819 B1 KR940005819 B1 KR 940005819B1
Authority
KR
South Korea
Prior art keywords
processing
time
distributed
cohort
data
Prior art date
Application number
KR1019910008220A
Other languages
English (en)
Other versions
KR910020569A (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 디지탈 이큅먼트 코포레이션
Publication of KR910020569A publication Critical patent/KR910020569A/ko
Application granted granted Critical
Publication of KR940005819B1 publication Critical patent/KR940005819B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

내용 없음.

Description

분산 컴퓨터 데이타베이스에서 지속적 타임스탬프를 위한 시스템 및 방법
제 1 도는 분산 데이타베이스 시스템의 블럭선도.
제 2 도는 2위상 수용 프로토콜에 있어서 사건 귀환의 블럭선도.
제 3 도는 분산 데이타베이스 시스템에서 한 노드의 블럭선도.
제 4 도는 본 발명에 따라 추가적인 시간범위 정보를 가진 2위상 수용 프로토콜의 블럭선도.
* 도면의 주요부분에 대한 부호의 설명
100 : 분산 데이타베이스 시스템 102, 104, 106, 108 : 개별 노드
110 : 근거리 통신망(LAN) 혹은 광역 통신망(WAN)
112, 114, 116 : 분산 데이타베이스부
120 : 데이타 혹은 기록 122 : 기록의 과거 비젼
130 : 코호트 B 132 : 코호트 C
134 : 코호트 A(코디네이터) 140 : 준비 메시지
142 : 중비 혹은 중지 메시지 144 : 수용 메시지
146 : 인식 메시지 150 : 최종 처리시간
152 : 내부 클럭 200 : 잠금 운영기
202 : 잠금표 210 : 데이타베이스
212 : 데이타처리기 220 : 처리 운영기
222 : 처리표 224 : 표
241 : 엔트리 250 : 지연 처리 목록
본 발명은 통상적으로 분산 데이타베이스 시스템 및 멀티버젼 데이타베이스에 관한 것이며, 더 상세히는 지속적인 타임스탬프로 이 데이타베이스에 들어오는 데이타를 태그하기 위한 방법 및 장치에 관한 것이다.
멀티버젼 데이타베이스는 특정 시간에 데이타베이스의 상태가 무엇으로 존재하는가라는 의문을 제기한다. 시간 데이타베이스라 지칭하는 그러한 멀티버젼 데이타베이스에서, 모든 생신 데이타는 통상적으로 데이타가 갱신되는 시간에 상응하는 시간 값으로 "스탬프(stamp)"된다. 저당한 지원(소프트 웨어)으로 타임스탬프된 데이타베이스의 의문은 특정시간에 그 존재에 따른 데이타베이스의 지속적인 처리 뷰를 제공한다. 그러한 시간 의문은 재정에의 적용, 의학적 기록장치, 공학적 설계등에서 유용할 수 있다.
본 발명은 처리시간에 촛점을 맞추고 있다. 데이타베이스 처리에 의해 만들어진 모든 갱신은 같은 시간으로 스탬프된다. 타임스탬프는 데이타 속성(Attribute)으로 저장된다. 처리의 타임스탬프는 타임스탬프의 배열이 처리의 올바른 직렬화를 표현하도록 정확하게 배열해야 한다.
처리시간은 또한 데이타를 조작하는데 사용될 수 있다. 이착상은 더이상 현재의 데아타가 아닌 데이타가 현재의 데이타와 분리되어 저장될 수 있다는 것이다. "과거(historical)의 데이타는 결코 갱신되지 않으며, 따라서 "재기를 불능(WORM) 광 디스크"에 저장될 수 있다. 현재 데이타는 갱신을 계속할 수 있으며, 따라서 자기(Magnetic) 디스크 및 임의 억세스 기억장치(RAM)에 저장되어 쉽게 변경될 수 있다. 그러나 이 분야에 통상의 지식을 가진 기술자가 인지하고 있는 바와같이, 스탬프된 모든 데이타는 자기 디스크에 저장될 수 있거나 WORM 디스크에서 유지될 수 있다.
데이타를 입력했던 처리시간으로 데이타를 타임스탬프하는 것은 새로운 착상이 아니며 이 주제에 대한 많은 논문들이 컴퓨터 과학 문헌에 개재되어 있다. 타임스탬프는 동시 발생 제어를 수행하는 수단으로서 제시되어 왔다. 그러나 이러한 수단으로 타임스탬프를 사용하는 수많은 노력들이 시스템으로 구현되지는 못했다.
종래의 기술이 제공하지 못했던 기술을 제공하는 본 발명은 시스템의 성능에 심각한 손상을 가하지 않고 분산 데이타베이스에서 데이타를 지속적으로 타임스탬프하는 방법과, 사용되는 데이타에 대한 신뢰성 뿐만 아니라 타임스탬프의 지속성도 손상시키지 않으면서 부분적으로 시간이 중복되는 다중 처리 과정을 편리하게 하는 "지연 잠금(Delay lock)" 매카니즘을 제공하는 방법이다.
본 발명은 분산 데이타베이스 시스템에서 지속적인 타임스탬프를 보장하는 장치와 방법에 관한 것이다. 이 시스템은 별개인 다수의 노드에 위치한 데이타베이스를 가지며, 최소한 두개의 노드는 타임스탬프 데이타베이스, 즉 생성된 데이타가 처리시간으로 스탬프되고 특정시간 현재 데이타베이스의 상태에 대한 질문될 수 있는 멀티버젼 데이타베이스이다.
분산처리는 2위상 수용 프로토콜을 사용하여 수용되거나 증지된다. 준비 기간이라 불리는 프로토콜의 제 1 위상동안, 각 코호트(Cohort)는 처리를 수용할 것인지 중지할 것인지를 결정하며, 또한 처리가 수용되는 시간이 최초인지 최종인지 결정한다. 모든 처리 코호트가 수용을 결정하고 결정된 시간 범위의 교집합이 없다면, 처리는 프로토콜의 제 2 위상에서 수용된다. 또한 처리시간은 선택된 시간범위의 교집함으로부터 선택되며 이 선택된 처리시간은 처리가 수용될때 영구적으로 저장되는 모든 갱신된 데이타를 타임스탬프하는데 사용된다.
각 코호트가 처리를 수용하는 시간 범위를 결정하는 것에 의하여, 프로토콜은 모든 코호트에 의해 사용가능한 타임스탬프가 선택되도록 보장한다.
본 발명의 또다른 면은 분산 처리에 의한 데이타 잠금에 관한 것이다. 특히, 2위상의 수용 프로토콜의 준비 기간전에, 각 처리 판독 혹은 기록은 판독 혹은 기록 액세스를 필요로 하는 각 노드에서 데이타를 잠근다. 처리가 수용 프로토콜(준비기간)의 제 1 위상에 들어갈때마다, 판독은 처리가 지연잠금으로 불리는 새로운 형태의 데이타 잠금으로 전환되도록 잠근다. 지연잠금은 또다른 처리가 데이타에 기록 잠금을 얻도록 하는 것을 제외하고는 판독잠금과 유사하다. 그러나, 지연잠금 데이타에 기록 잠금을 가진 처리는 "지연 처리"이다. 수용 프로토콜의 제 1 위상동안, 지연 잠금 데이타에 기록 잠금을 포함하는 지연 처리에 있는 코호트는 지연 잠금을 가진 처리에 의해 결정되는 최종값 보다 새로운 최선값을 가지는 시간 범위를 선택한다. 다시 말해서, 지연처리는 2처리가 수용 혹은 중지를 잠그는 시간보다 새로운 시간에서 수용하도록 보증하는 시간 범위를 결정한다.
시간 범위 결점 및 지연 잠금 매타니즘의 이러한 조합은 지연의 타임스탬프 배열이 분산 데이타베이스를 거쳐 지속적이며 처리의 직렬 배열에도 지속적임을 보증한다. 이는 또한 수용 프로토콜 자체의 최적화를 이루어 시스템의 성능을 강화한다.
본 발명에 대한 추가적인 목적 및 특징은 하기의 실시예 및 청구범위에 의해 보다 명확해진다.
제 1 도는 분산 데이타베이스 시스템 100이다. 분산 데이타베이스 시스템의 통상적인 예는 항공기 좌석 예약 시스템, 은행과 중개회사에 의해 수행되는 재정 데이타베이스, 대형 조직에 의해 수행되는 의학용 기록 데이타베이스를 포함한다. 이 시스템은 다수의 개별 노드 102 내지 108를 포함하며, 이 노드는 버스(bus), 근거리 통신망(LAN), 또는 광역 통신망(WAN)에 의해 상호 연결되는 데이타 처리장치이다. 시스템(100)에서 데이타 처리장치는 통상적으로 워크스테이션과 더 강력한 미니컴퓨터 또는 대형 컴퓨터를 포함한다. 다수의 데이타 처리장치는 자신의 기억장치에 분산 데이타베이스부(112 내지 116)를 저장한다.
게다가 분산 데이타베이스에서 데이타 혹은 기록(120)은 타임스탬프되는데, 이는 데이타나 기록에 따라 그 기록값이 최종 갱신된 배열을 표시하는 시간값의 지속적인 집합이 저장됨을 의미한다. 추가로, 데이타베이스에 저장된 기록의 현재값에 따라, 데이타베이스는 또한 바람직하게 갱시된 기록의 과거 버젼(122)을 저장한다. 갱신되는 값에 의해 대체되어지는 데이타를 저장함에 의하여, 데이타베이스는 과거 특정시각에 데이타베이스의 상태를 결정하는 것을 가능하게 한다.
이러한 서술의 목적을 위하여 몇개의 용어는 하기와 같이 정의된다.
처리를 "수용(Commit)"하는 것은 처리의 결과가 데이타베이스에 설치되었음을 의미한다. 수용 능력이란 처리가 중지되면 데이타베이스 시스템이 처리 결과를 설치할 수 없음을 의미한다.
"충돌처리(Conflicting Transaction)"는 또 다른 하나의 처리에 의해 갱신되는 데이타를 잠재적으로 액세스할 수 있는 최소한 한개의 처리를 포함하는 두개 이상의 처리를 의미한다. 따라서 최소한 한개의 충돌 처리에 의하여 생성되는 결과는 처리가 수행되는 비열에 의존한다.
"데이타 잠금(Data lock)"이란 데이타베이스내의 데이타 혹은 기록에 대한 배타적 권리들을 지정하는 매카니즘이다. 따라서 제 1 처리가 수용하거나 중지할때까지 다른 처리가 억세스하지 않도록 제 1 처리는 데이타의 특정부분을 잠금할 수 있다. 종전의 기술은 여러가지 형태의 데이타 잠금 매카니즘을 포함하며, 때로는 데이타 인터록이라 불린다.
처리를 "준비(prepare)"한다는 것은 처리에 의해 생성되는 모든 새로운 데이타 값을 영구적으로 저장하는 것을 의미하는 처리 수용, 혹은 처리 중단을 결정하는 과정을 시작하는 것을 의미한다. 처리의 "준비 기간(prepare-inter-val)은 처리가 수용되거나 중지될때 처리준비를 시작하고 끝내는 시간적인 기간을 의미한다.
제 2 도는 "2PC"라 불리우는 "2위상 수용"을 기술한 것이다. 2PC는 분산 시스템에서 처리를 직렬화하는데 가장 널리 사용되어지는 프로토콜이다. 기본적으로 2위상 수용 프로토콜은 하기와 같이 수행한다. 처리(T1)는 최소한 두개의 데이타 처리장치를 포함한다. 예를들면, 처리는 시스템에서 3개의 데이타 처리장치, 즉 코호트 A(130), 코호트 B(132), 코호트 C(134)를 가질 수 있다. 처리(T1)의 실행도중 어떤 오류도 발생하지 않는다는 가정하에, 각 코호트는 처리에 관련한 계산을 수행하고 처리가 여전히 뒤바뀌거나 중지되어 데이타베이스가 변하지 않는 그러한 방법에서 어떤 처리 결과를 시간적으로 저장한다.
이 분야에 통상의 지식을 가진 기술자가 이해하는 바와 마찬가지로, 이러한 것을 수행하는 다수의 다른 방법들이 존재하며 반대의 처리를 행하기 위해 사용되어지는 특별한 방법은 본 발명에서는 중요하지 않다.
처리의 어떤 한 점에서 코호트들중의 하나, 즉 코호트 C는 2위상 수용 프로토콜의 "코디네이터"역할에 배당된다. 코디네이터는 제 1 메시지, 즉 준비 메시지(140)를 보내어, 모든 코호트에 처리가 코디네이트되며 수용되는 분산처리를 통보한다. 따라서 처리에 대한 각 코호트는 자신을 준비시키기 시작한다. 특히, 이는 코호트가 처리전의 데이타베이스 상태와 처리후에 데이타베이스 상태가 영원히 저장됨을 보증할 수 있음을 확실하게 해야 함을 의미한다. 따라서 코호트는 처리가 수용하는지 중지하는지에 따라 이들 상태들의 하나는 설치되도록 보증될 수 있음을 점검한다.
따라서 각 코호트는 "준비 혹은 "중지"메시지(142)를 다시 코디네이터에 보내는 것에 의해 처리의 배열을 결정한다. 준비 코호트에 의한 시도가 실패하거나 처리의 진행 단계가 실패한다면, 코호트는 "중지"를 결정한다. "수용"을 결정한 어떤 코호트는 "준비"된 것으로 인식된다.
코디네이터가 처리에 참여하는 모든 코호트로부터 결정을 수신하였을때, 코디네이터는 처리의 배열을 인식한다. 코디네이터는 모든 코호트가 "수용"을 결정한 조건에서 처리를 "수용"한다. 어떤 코호트가 "중지"를 결정하거나 한 코호트가 정의된 시간내에 준비 메시지에 응답하는데 실패한다면, 코디네이터는 처리를 "중지"한다. 각 경우에 코디네이터는 각 코호트에 처리 배열 메시지(144), 즉 "수용" 혹은 "중지"를 보낸다.
코호트가 처리 배열 메시지를 수신하면 그 방향에 따라 처리가 행해진다. 배열이 "수용"이면 코호트는 데이타베이스에 갱신된 데이타 값을 설치한다. 배열이 "중지"이면, 처리전의 데이타베이스 상태는 재설치된다. 처리 배열이 저장되면 코호트는 인식 메시지(146)를 코디네이터(134)에 다시 보낸다.
코호트 처리를 수용할 수 있는지 판단하는 과정의 시초에 코디네이터가 인식하는 것을 제외하고, 코디네이터로 작용하는 코호트(134)는 2PC 프로토콜동안 다른 코호트와 동일한 기능을 수행한다. 더우기 이 코호트는 처리의 준비 및 수행 위상을 가진다. 모든 시도와 목적을 위하여, 코호트들의 하나에 의해 점유된 시스템의 노드에서 코디네이터가 실행된다 하더라도, 코디네이터는 분리 엔티티(Sepatate entity)로서 통과될 수 있다.
종전의 기술에서 알려진 다수의 다상 수용 프로토콜이 존재한다는 점은 인지되어야 한다. 또한 상기 기술한 2위상 수용 프로토콜에 대한 다수의 별개 버젼이 존재한다. 본 발명은 각 코호트가 처리 코디네이터와 통신하는 프로토콜과 사용될 수 있으며, 여기에서 코디네이터는 모든 코호트에 처리 배열을 통지한다. 하기에 기술한 바와같이 본 발명은 처리 시간과 일치하는 이들 메시지를 사용하는 방법을 제공한다.
선택되는 처리 타임스탬프는 특정 처리에 의해 야기된 모든 데이타 갱신으로 저장되는 시간 값이다. 본 발명에 사용된 기본적인 매카니즘은 2개의 자체 메시지에 전송된 정보를 증가시키는 것에 의하여 2PC 프로토콜을 제공하는 것이다.
통상적으로 본 발명은 각 코호트가 처리 코디네이터에 처리 시간에 대한 요구를 알려줄 것을 필요로 한다. 따라서 코디네이터의 요구를 만족시켜주는 단일 시간의 발견을 시도한다.
시스템(100)에서 각 데이타 처리장치는 단조 증가하는 "최종" 처리시간(150)을 저장하고 유지한다. 이는 최종 처리값을 각각 수용된 처리의 타임스탬프와 비교함으로써 얻어진다. 타임스탬프중 어느 하나가 최종 처리시간(150)보다 늦을 때마다, 최종 처리 시간은 타임스탬프의 값으로 세트된다. 각 코호트는 또한 자신의 코호트를 위한 지역 현재 시간을 특정지우는 내부 클럭(152)를 가진다.
제 4 도에서, 코호트가 2PC 프로토콜에서 2개의 메시지 수에서 처리를 수용할 것을 결정할때마다, 코호트는 또한 2개의 시간값 즉, 처리가 수용을 인가하는 "최초" 시간값 및 "최종" 시간값을 전송한다. "최초"시간은 현재 처리가 따르는 그 데이타베이스에서 다른 어떤 처리 시간보다 늦어야만 한다. 코호트/데이타베이스는 코디네이터로부터 수용 요구를 받고 처리를 수용하기 위해 준비를 할때, "최총" 타임스탬프 값(150) 및 그 현재 클럭시간보다 큰 최초 처리시간을 결정한다.
각 노드에 의해 특정지어지는 "최총"처리 시간은 상이한 처리 시간이 노드중에 적용할 수 있는 범위를 설정하는데 사용될 수 있다. 따라서 변수 "최총"의 목적은 직렬화가 아니며 클럭과 처리 시간 편차를 제한하는 것이다.
코디네이터는 코호트들에 의해 결정되는 모든 [최초, 최종]시간범위내에 존재하는 처리 시간을 발견해야 한다. 이들 범위의 교집합이 공집합이면, 코디네이터는 처리를 "중지"한다.
가볍게 사용되는 데이타베이스보다 중요하게 사용되는 데이타베이스는 더 엄한 요구, 즉 각 코호트에 의해 특징지어지는 작은 시간 범위를 요구한다. 처리가 의심스러운 시간의 양을 줄이는 것에 의하여 동시발생을 증가시키는 것은 잘 짜여진 범위를 필요로 한다. 한편 워크스테이션상의 데이타베이스는, 처리 시간 배열 및 처리 시간 직렬화가 일치하는 한, 호스트 데이타베이스가 분산 처리동안 거의 모든 타임스탬프를 허락하려할 것이다. 이러한 데이타베이스트는 "최종" 범위를 결정하지 않을 수 있다.
제 3 도에서, 분산 데이타베이스 시스템이 있는 각 노드(102)는 그 노드의 데이타베이스(210)에 저장된 잠금 운영(200) 및 잠금표(202)를 포함한다. 다시 말해서, 각 노드를 자신의 잠금 운영(200) 및 잠금표(202)를 가진다.
노드는 또한 데이타 처리기(CPU)(212), 내부 클럭(152), 데이타베이스(210)를 저장하는데 사용되는 메모리 모듈(214)을 포함한다. 이 논의가 한 노드에 있는 "데이타베이스 시스템"에 관련될때마다, 이 논의는 제 3 도의 참조 번호(210)에 의해 도시된 데이타베이스 소프트웨어 및 데이타에 관련된다. 데이타베이스는 통상적으로 한개 이상의 처리나 실행이 CPU(212)에서 수행됨에 따라 이행된다. 약간의 응용에서 데이타베이스는 자신의 CPU, 기억장치 등을 가진 별개의 하드웨어 집합체로 수행될 수 있다.
메모리 모듈(214)은 임의 액세스 기억장치(RAM) 및 하드 마그네틱 디스크와 같은 대용량 기억장치를 포함한다. 회로망 인터페이스(216)는 통신 회로망(110)을 거쳐 노드에서 다른 코호트에 연결된다(통상적으로 근거리 통신망(LAN) 또는 광역 통신망(WAN)의 버스임).
하기에 더 상세히 기술한 바와같이, 각 노드(102)는 처리를 위한 코호트들간의 모든 통신을 다루기 위한 처리 운영기(220)를 가진다. 이러한 노드(102)의 부품들은 통상적으로 공통 메모리에 있으며 다중 처리 CPU(212)에 의해 동시에 처리되는 소프트웨어부이다.
처리가 어떤 노드에 있는 어떤 데이타를 판독하거나 기록하기전에, 먼저 그 데이타에 대한 잠금을 요구해야 한다. 액세스되는 데이타가 잠금이 아니거나 다른 처리를 인가하는 판독잠금을 가지는 경우에 한해서, 잠금 운영기(200)는 판독잠금에 대한 요구를 인장한다. 액세스되는 데이타가 잠금이 아닌 경우에 한해서, 잠금 운영기는 기록 잠금에 대한 요구를 인정한다. 따라서 한 데이타에 대해서 한개의 판독잠금보다 많은 다수의 판독잠금이 존재할 수 있지만 기록 잠금에 있는 데이타는 오직 그 한개의 잠금만을 가진다. 인정되는 각 새로운 잠금은 잠금표(202)에 있는 엔트리(240)에 의해 표시된다. 각 잠금 엔트리(240)는 잠금이 되는 데이타 혹은 다른 시스템 공급원의 번지, 잠금을 요구하여 "소유(own)"하는 처리의 일치, 그리고 잠금 모드(즉, 판독 혹은 기록)를 표시한다. 또한 잠금을 기다리면서, 블록이 되는 처리로부터의 요구들이 기록된다.
리드-오운리(Read-only) 코호트는 2PC 프로토콜에서 수행할 필요가 있는 다른 어떤 동작을 설치할 데이타를 가지지 않기 때문에 갱신을 갖지않고 통상적으로 "수용"메시지를 받아들일 필요가 없는 코호트이다. 이는 단지 준비된 시간에 자신의 데이타 잠금을 풀어줄 뿐이다(즉, 코디네이터로부터 "준비"메시지를 받는 조건하에서).
그러나 잠금이 풀어진 데이타가 얼마나 빨리 갱신될 수 있는가에 관한 문제가 제기된다. 처리시간에 대한 정확한 배열의 요구와 함께 이 데이타를 갱신하는 후행 처리는 데이타 잠금을 풀어준 처리보다 늑게 타임스탬프에 주어진다는 것이 인지되어야 한다. 따라서 제 1 처리가 수용 혹은 중지한 시간 직후에 이러한 판독잠금을 풀어주는 것이 바람직하다. 어떤 타임스탬프가 처리에 할당되었는지 리드-오운리에 결코 언급되지 않았을때 어떻게 이 리드-오운리 최적화(즉, 리드-오운리 코호트에 대한 각은 메시지를 사용하는 것)를 보존하는가 하는 것이 존재이다.
그 해답은 리드-오운리 코호트가 자신의 "준비를 폐쇄된[최초, 최종]의 타임스탬프 범위에서 수용 결정에 전송하는 것이다. 리드-오운리 코호트는 자신의 "수용"메시지와 함께 전송된 "최종"값으로 제공한 시간보다 늦지않은 시간에 처리가 끝나는 것을 인식한다. 따라서 리드-오운리 코호트는 처리가 끝난 정확한 시간을 알지 않고도 "최종"시간에서 자신의 판독잠금을 풀 수 있다. 이러한 방법론은 처리의 실질적인 수용시간을 알지 않고도 충돌처리의 "준비 기간"이 얽힌다는 것을 보장해 준다.
각 데이타베이스는 처리표(222)를 유지한다. 데이타베이스가 한개의 코호트인 각각의 처리에 대해서, 데이타베이스는 처리표(222)에서 엔트리 혹은 기록을 만든다. 각 처리기록(240)은 처리단위 및 처리상태, 즉 활성화(계산 혹은 준비되지 않음), 준비됨, 수용됨을 표시한다. 기록(240)은 또한 그 코호트에 의해 결정된, 혹은 결정될 최초 시간 및 최종 시간을 표시한다. 처리표(222)의 정보는 하기에 기술한 바와같이, 잠금데이타를 사용하는 수용 처리와 더불어 사용될 것이다.
처리 운영기(220)는 또한 준비되어 왔으나 완성되지 않은 처리를 위한 처리표를 지속한다. 타임스탬프하지 않는 데이타베이스에 대해서, 처리 운영기는 타임스탬프하지 않는 데이타베이스가 코호트였던 처리에 대한 최종 타임스탬프 값과 동일한 "최종 수용"값을 표(224)에 저장한다.
본 발명은 "준비 기간"동안 후속처리에 유용한 리드-오운리 데이타(즉, 처리가 판독 가능한 필요는 있으나 갱신 가능할 필요는 없는 데이타)를 만드는 매카니즘을 제공한다. 추가로, 후속적으로 이 데이타를 사용하여 데이타를 내보내는 처리후까지는 다른 처리가 수용하지 않도록 다른 어떠한 처리도 지연시킨다.
특히 본 발명은 "지연" 잠금이라는 새로운 데이타 잠금 모드를 제공한다. "지연" 잠금의 착상은 하기와 같다. 준비 시간에 처리는 모든 자신의 판독잠금을 지연 잠금에 전송한다. 수용 시간에 지연 잠금은 해제된다(즉 잠금표로부터 삭제 혹은 제거된다).
지연잠금은 다른 어떤 잠금모드와 충돌하지 않는다. 다시 말해서 데이타가 지연잠금되면, 다른 처리는 그 데이타에서 판독 혹은 기록 잠금을 가질 수 있다. 그러나, 지연잠금된 데이타를 처리 기록이 잠금을 할때마다, 그 처리는 지연잠금이 드롭된 후까지수용을 허가하지 않는다. 이 요구는 처리의 타임스탬프 배열이 자신의 직렬화 배열에 일치하도록 보장하는데 필요하다.
본질적으로 제 2 처리의 수용 과정을 지연시키는 것보다는, 상기 기술된 타임스탬프 요구는 하기와 같이 수행된다. 처리 기록이 지연잠금된 데이타를 잠금할때마다, 그 처리는 처리시간을 위한 최초 시간 결정에 하위 경계를 설정한다. 특히, "지연"된 처리의 준비동안, 기록잠금을 가진 코호트에 의해 결정된 최초 시간은 하기 시간값중의 최종 시간이 된다 : (1) 그 코호트를 위한 "최종"값(즉, 그 수용 노드에서 최종 처리 시간), (2) 클럭 시간, (3) 처리과정중 코호트와 만나게 되는 처리에 대한 모든 지연잠금의 "최종"시간.
각 지연잠금의 최종 시간은 하기와 같이 결정된다. 기록잠금이 지연잠금을 가지는 데이타의 요구를 가질때마다, 지연잠금을 가진 코호트에 있는 잠금 운영기(220)는 지연잠금을 홀딩하는 처리를 적는다. 기록 처리가 수용할때, 그 처리가 준비되거나 혹은 그 처리의 수용시간이 준비되고 그 처리가 수용된다는 조건하에서, 자신의 수용 타임스탬프는 처리를 홀딩하는 지연잠금에 의해 결정된 각 "최종" 시간보다 늦어야 한다.
기록잠금을 가지는 코호트에 의해 결정되는 "최초" 시간의 하위 경계를, 세팅하는 이러한 방법은 충돌 처리가 얽힌 준비-기간을 가지도록 지속시켜서, 타임스탬프 배열 및 직렬화 배열이 일치하도록 보장해 준다.
지연잠금을 실행하는데는 두가지 방법이 있다. 그 하나는 처리가 준비될때마다 잠금 운영기(200)가 처리를 위한 기록잠금을 지연잠금으로 떨어지도록 명확히 요구하는 운영기(220)를 가지는 것이다. 다시 말하면, 이들 잠금을 위한 잠금 형태는 "판독"에서 "지연"으로 변할 것이다. 처리가 지연잠금된 데이타에 대한 기록잠금을 요구할때마다, 상기 기술한 과정은 기록잠금을 요구한 처리를 위한 "최초" 시간 결정의 하위 경계를 설정하기 위해 수행된다.
지연잠금을 실행하는 제 2 방법은 처리가 준비할때 잠금 운영기(200)에 의해 판독잠금이 지연잠금으로 떨어지는 것을 명백히 피하여 잠금 운영기(200)에 대한 추가적인 요구를 피한다. 제 2 방법에서, 판독잠금은 오직 처리(즉, 잠금을 가지는 처기)가 수용할때만 해제된다.
판독잠금을 만나서 잠금 데이타에 기록잠금을 묻는 후속처리는 처리표(222)를 참고하여 잠금 데이타에 판독잠금을 가지는 처리 배열을 결정한다. 다시말해서, 잠금 운영기(200)가 후속 처리로부터 판독잠금 데이타에 대한 요구를 받을때마다, 잠금 운영기(200)는 처리표(222)를 참조하여 잠금 데이타에 판독잠금을 가지는 처리배열을 결정한다.
판독잠금을 홀딩하는 처리가 활성된다면(즉, 준비되지 않는다면), 기록 요구는 표준-기록 충돌로 처리되어 요구하는 처리는 블록된다. 판독잠금을 홀딩하는 처리가 준비될대, 이 판독잠금은 필연적으로 처리표(222)에 표시된 처리상태의 변화에 의해 지연잠금으로 떨어진다. 현재의 지연잠금 데이타에 기록잠금을 요구하는 처리는 계속하도록 허가된다. 더우기 블록화된 기록 요구 처리는 계속 하도록 허가된다.
판독잠금을 홀딩하는 처리가 준비되면 판독잠금은 지연잠금으로 처리되며 요구되는 기록잠금은 안정된다. 지연잠금을 홀딩하는 처리는 처리를 요구하기 위하여 지연처리목록(250)에 입력된다. 기록잠금을 요구하는 처리에 대한 수용 과정동안, 코호트가 처리시간 결정을 계산할때 이 종속관계목록(250)을 참조한다. 종속관계목록의 수용처리는 무시되며, 목록(250)의 모든 처리가 수용된다면, 모든 지연잠금 수용처리는 바이패스된다. 다시 말해서, 모든 지연처리의 "최종"의 마지막 값은 이 코호트에 대한 "최초"의 하위 경계가 된다.
본 발명의 2위상 수용 프로토콜은 타임스탬프하는데 있어서, 각 데이타베이스 시스템(즉, 각 노즈 혹은 코호트)은 잠금획득에 따른 2위상이 존재한다. 지연잠금과 함께 국부적으로 2위상을 가지는 이 특성은 국부적 충돌처리가 얽힌 준비-기간들을 가지도록 보장한다. 따라서 국부적 처리는 국부적으로 정확하게 배열한 처리 타임스탬프를 가질 것이다. 넓은 범위에서 볼때, 본 발명의 수용 프로토콜은 선택된 타임스탬프 배열이 모든 지역 직렬화와 일치하기 때문에 처리의 타임스탬프 배열이 처리들을 정확하게 배열한다.
근복적으로 2위상 잠금은 준비기간까지 처리를 배열하도록 지역적으로 사용된다. 따라서 타임스탬프 배열 병행성 제어가 사용된다. 이는 처리 코호트들의 표준 동작을 "작업중지"시키는 자체의 수용 프로토콜을 사용한 효율을 가지면서, 분리된 종료 프로토콜이 없는 높은 수준의 처리들간의 병행성을 제공한ㄷ. 추가로, 본 발명은 처리의 직렬화 가능성을 보장하는 반면, 지연된 제약 조건(즉, 처리의 종단에 유효해야 하는 제약 조건) 계산을 트기러하는 2PC 프로토콜을 개발가능하게 한다.
코호트들에 의해 처리로 결정된 타임스탬프 범위가 충분히 크기 않다면 그 교집합이 공집합일 기능성은 중지할 처리를 강요하기 때문에 증가한다는 것이 인지되어야 한다. 수용 프로토콜의 시작이 뒤따르기 위해 좀더 많은 동작이 허가됨에 따라, 코호트가 그들의 별개 동작들을 완성하기 위해 좀더 많은 시간이 허가 되어야 한다. 이는 코호트들에 의해 결정되는 타임스탬프의 범위에 반영되어야 한다.
약간의 분산 데이타베이스 시스템에서는 모든 처리 코호트들이 필연적으로 그들의 데이타를 타임스탬프하지는 않는다. 그러한 시스켄을 위한 수용 프로토콜은 처리들이 타임스탬프를 하는 코호트를 가지거나 타임스탬프하지 않는 코호트를 가질때 정확하게 동작해야 한다. 타임스탬프하지 않는 코호트가 자신의 결정 메시지에 타임스탬프를 포함하지 않는다면, 문제점은 증가한다. 처리들이 각 데이타베이스에서 정확하게 직렬화되고 모든 데이타베이스에 대해 유효한 전역 직렬화가 보장된다면, 타임스탬프 배열은 유효한 전역 직렬화와 일치한다고 인정될 수 없다.
예를들면 처리 T1은 타임스탬프는 데이타베이스 A 및 타임스탬프하지 않는 데이타베이스 B에서 실행된다. 처리 T2는 타임스탬프하지 않는 데이타베이스 및 타임데이타베이스하는 데이타베이스 C에서 실행된다. 처리 T1은 T2에 앞서서 B에서 수용된다. 그러나 A에서 T1에 대해 결정된 "최초" 시간은 C에서 T2에 대해 결정된 "최초" 시간보다 늦다. B에서 설치된 제약 조건이 존재하지 않기 때문에 이들 시간은 A 및 로타임스탬프된 처리시간이 된다. 그들은 A 및 C에서의 지역 제약조건을 만족하지만, T2 이전에 배열된 T1을 가져야만 하는 T1 및 T2의 유효한 직렬화와 일치하지 않는다.
그러한 지금까지의 시스템을 조작하고 수용 프로토콜 과정을 더 효과적으로 만들기 위하여 본 발명은 처리운용기(TM)(220)를 시스템의 각 노드에 제공한다. 처리운영기는 분산처리를 코디네이트하기 위해 각 노드에 지역 데이타베이스 시스템에 지원한다. 처리운영기는 지역 인터베이스를 2위상 수용 프로토콜이 실행되는 각 데이타베이스 시스템에 엄격하게 제공하여 이 지원을 행한다. TM(220)은 본 발명의 수용 프로토콜에 의해 요구되는 모든 통신을 수행한다. 즉, 모든 프로토콜 메시지는 한 노드에서의 TM의 원천이며, 다른 노드에서의 TM인 수신지를 가진다.
타임스탬프를 하거나 하지않는 시스템에 대해서, 한 노드의 TM은 그 노드에서의 모든 데이타베이스와 인터페이스한다. 따라서 어떤 데이타베이스도 2PC 프로토콜의 코디네이터가 아니다. 모든 노드에서 TM이 존재하기 때문에, 그 노드에서 타임스탬프가 존재하거나 존재하지 않거나, 어떤 노드가 처리를 코디네이터할 수 있다. 따라서 프로토콜의 정확성은 어떤 TM이 선택되는가에 영향을 받지않기 때문에, 각 처리에 대한 TM들중의 하나는 합리적 선택범위를 사용한 처리에 대한 코디네이터 TM으로서 선택된다.
각 데이타베이스 시스템은 수용 시작 결정에 대한 자신의 지역 TM을 통지한다. 코디네이터 TM은 결정을 조사한다. 받아들여진 결정에 기초하여 코디네이터는 처리를 수용할 것인지 중지할 것인지를 결정하며 처리시간을 선택한다. 코디네이터는 처리배열 및 시간을 멀리 떨어진 다른 참가 TM들에게 통신한다. 이들 TM들은 처리배열 및 시간을 그들의 지역 참가 데이타베이스에게 통지한다. 코디네이터 TM은 그 노드에 있는 데이타베이스 시스템과 직접 통신함으로써 자신의 지역 데이타베이스를 위한 2PC 프로토콜 메세지를 조작한다.
동일 처리에 대해서 타이스탬프하는 데이타베이스와 타임스탬프하지 않는 데이타베이스가 혼합된 데이타 베이스에 대한 문제 해결은 데이타베이스가 TM에 "최초" 시간을 통지하지 않는 타임스탬프 결정을 제공하는 것이다. TM은 자신의 노드에 있는 각 타임스탬프를 하지않는 데이타베이스 시스템에 대한 최종 시간값을 지속하며, 처리 및 지역 클럭 시간에 포함되는 데이타베이스에 대한 최종보다 늦어야 하는 최초 시간을 결정한다. 타임스탬프하지 데이타베이스에 대해서, TM은 최종 시간값을 결정할 수도, 하지 않을 수도 있다. TM의 최종 시간값을 결정한다면, 미리 정의된 과정, 즉 그 세부항목은 TM이 함께 사용되어지는 특정한 응용에 좌우되는 과정에 일치하여 수행한다.
TM을 제공하는 것에 의하여 데이타베이스 시스템은 타임스탬프에 대한 어떤 것을 알 필요가 없다. 그리고 TM은 데이타베이스에 대한 어떤 것을 알 필요가 없다. TM은 처리시간이 없이 타임스탬프 선택 프로토콜을 실행한다.
TM결정을 가짐으로써 처리에 대한 [최초, 최종]의 처리시간 범위는 직선적이다. 이는 상기에서 논의한 바와같이 리드-오운리 최적화 및 판독잠금의 해제 모두의 장점을 가지는 타임스탬프를 가지는 않는 코호프를 허가한다. 이들 둘은 처리가 수용 혹은 중지를 거쳐 종료되어 인지되기 전에 판독잠금을 해제하는 데이타베이스를 포함한다.
TM이 상기 배열을 완성하는 한 방법은 충돌 처리가 동시에 준비되지 않는 다는 것을 보증하는 것이다. 이것은 지연잠금이 하는 것이다. 그러나, 약간의 타임스탬프하지 않는 데이타베이스를 가지는 이러한 시스템에서 TM은 정확한 배열의 보장을 제공하는 모든 데이타베이스에 종속될 수 없다. 더우기 간단한 TM 인터페이스를 사용하는 것에 의하여 TM이 처리들 사이의 종속 관계를 인지하는 것으로부터 방지된다. 따라서, TM들은 어떤 시간에 준비상태에 있는 그러한 데이타베이스 시스템으로부터 단 한개의 지연을 허가하는 것에 의하여 정확한 타임스탬프 선택을 보장한다. 이러한 것을 성취하는 첫번째 방법은 다음 처리가 준비되기 전에 한개의 처리가 수용하는 TM 요구를 가지는 것이다.
두번째 방법은 타임스탬프 범위들을 개발하는 것이다. 준비상태 엔트리와 동일한 방법으로 처리시간이 배열된다면 처리시간은 처리 직렬화와 일치할 것이다. 이는 얽혀진 준비기간들을 보증하는 것에 의하여 달성된다. TM이 [최초, 최종] 타임스탬프 범위를 결정할때, 최초 시간은 데이타베이스에 대한 최종 수용시간 뿐만 아니라 모든 현재의 준비된 처리에 의해 결정된 가장 최후의 최종 상위 경계보다 늦어야 한다. 이는 모든 준비된 처리에 대한 TM의 처리표(224)에 표시된 최종의 상위 경계를 고려하는 것에 의하여 성취된다. 이는 "지연된"처리를 수행할때, 최초시간, 결정, 즉 지연표(250)에 기재된 처리에 대한 최종 상위 경계를 고려해야 하는 최초시간 결정에 대한 선택과 유사하다.
타임스탬프하지 않는 데이타베이스에서 충돌처리에 대해 얽힌 기간들을 보증하는 세번째 방법이 있다. 특히 처리 운영기가 분지하는 데이타베이스에 통신할때, 데이타베이스는 준비결정(즉, 처리를 수용하거나 중지한다)에 응답한다. 처리 운영기가 데이타베이스의 준비 결정을 인식할때까지 데이타베이스에 의한 처리과정은 중지될 것이다. 타임스탬프를 하지 않는 노드에 대한 처리 운영기는 처리가 수용될때까지 준비 결정의 인지 접수를 지연하도록 프로그램될 수 있다. 이러한 방법에서는 처리가 자신의 잠금이 된 근원을 해제하지 않으며 처리는 타임스탬프를 하지 않는 데이타베이스에서 적당한 처리의 순차 배열을 보증할 것이다.
상기 논의는 본 발명의 TM들이 원래의 2PC 프로토콜을 사용하고 준비된 시간에 판독잠금을 해제하기를 기대하는 데이타베이스 시스템에 함께 잘 처리할 수 있음을 실증한다.
본 발명은 소수의 실시예를 참고문헌과 함께 기술한 반면, 그 기술은 본 발명의 예이며 발명을 제한하여 추정한 것이 아니다. 이 분야에 통상의 기술을 가진 자라면 첨부한 청구사항에 정의된 바와같이 본 발명에 대한 진정한 정신과 범위에서 벗어나지 않고 다수의 개선을 할 수 있을 것이다.

Claims (8)

  1. 상호 연결된 개별 노드에 다수의 데이타베이스를 가지며 이 다수의 데이타베이스중 적어도 하나는 타임스탬프 데이타베이스를 갖는 분산 데이타베이스 시스템에서,분산 처리가 수용할때마다 영구적으로 저장되는 데이타로 타임스탬프 되도록 처리시간들을 선택하는 방법이 : (a) 분산 처리의 코호트인 상기 시스템에 있는 각 노드에 준비-수용 메시지를 전달하는 단계 ; (b) 상기 분산 처리의 각 코호트가 상기 처리의 중지 및 수용으로 이루어지는 집합체로부터 선택되는 분산 처리의 배열을 결정하는 단계 ; (c) 각 코호트가 상기 처리를 수용할 것을 결정하고, 또한 상기 처리를 수용하기 위한 코호트에 허용될 수 있는 최초 시간 및 최종 시간을 포함하는 수용 시간범위를 결정하는 단계 ; (d) 상기 코호트들이 모드 상기 처리 및 상기 코호트들에 의해 결정된 상기 시간 범위를 결정하고 공집합이 아닌 교집합을 가질때마다, 상기 처리를 수용하고 상기 코호트들에 의해 결정된 상기 시간 범위의 교집합으로부터 상기 처리에 대한 처리 시간을 선택하는 단계 ; (e) 상기의 어떤 코호트가 상기 처리를 중지할때마다 상기 처리를 중지하는 단계 ; (f) 상기 코호트들에 의해 결정된 상기 시간 범위가 교차하지 않을때마다 상기 처리를 중지하는단계 : (g) 후속 분산 처리의 다중성을 위하여 상기 (a) 내지 (f)단계를 반복하는 단계 ; (h) 상기 코호트를 가지는 분산 처리에 대한 상기 처리 시간들중 가장 늦른 시간을 구성하는 최종 처리 시간을 각 코호트에 통지하는 단계 ; 를 포함하며, 상기 각 코호트에 각 분산 처리에 결정되는 상기 최초 시간은 최종 시간보다 늦음을 특징으로 하는 분산 데이타베이스 시스템에서 분산 처리를 위한 처리 시간을 선택하는 방법.
  2. 제 1 항에 있어서, 한개 이상의 상기 코호트들에서, 상기 코호트들이 첫번째 분산 처리의 배열을 결정하기 전에, 판독이 적어도 하나는 액세스된 데이타를 상기 분산 처리를 수행하는 동안에 잠금하고 ; 지연이, 한개 이상의 데이타에 잠금된 판독을 가진 각 코호트에서, 상기 첫번째 분산 처리의 배열을 결정하는 단계와 수용하는 단계 사이에, 상기 첫번째 처리를 수행하는 동안 판독으로 잠금된 적어도 하나의 상기 데이타를 잠금하며 ; 분산 처리를 위한 처리 시간을 선택하는 방법이 상기 첫번째 분산 처리에 의해 지연된 잠금된 잠금 데이타를 기록하는 첫번째 분산 처리에 뒤따르는 분산처리 코호트를 허가하며 ; 그리고 분산 처리를 위한 처리 시간을 선택하는 방법이 상기에서 결정된 최초 시간이 상기 첫번째 분산 처리의 처리 시간보다 늦도록 데이타를 잠금한 상기 잠금지연을 기록하는 후속 분산처리 코호트에 의해 결정된 상기 최초 시간을 억압하는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서, 상기 시스템의 각 노드에 지역 클럭 시간을 지속하는 단계 ; 및 상기 각 코호트에 의해 각 분산 처리로 결정된 상기 최초 시간이 상기 코호트의 지역 클럭 시간보다 빠르지 않은 단계를 포함하는 것을 특징으로 하는 방법.
  4. 상호 연결된 개별 노드에 다수의 데이타베이스를 가지며 이 다수의 데이타베이스중 적어도 하나는 타임스탬프 데이타베이스를 갖는 분산 데이타베이스 시스템에서,분산 처리의 코호트가 되는 다른 노드에서 처리 운영기와 함께 2위상 프로토콜 수용을 수행하는 상기 노드에 있는 처리 운영기는 : 준비-수용 메시지를 첫번째 분산 처리의 코호트인 상기 시스템에 있는 각 노드에 전송하고, 다른 분산 처리를 위한 처리 운영기에 의해 전달된 준비-수용 메시지를 받아들이기 위한 준비 수단 : 상기 분산 처리의 배열을 결정함으로써 상기 준비 수단에 의한 준비-수용 메시지의 인수에 응답하고, 상기 배열은 처리를 중지 및 수용하는 것으로 이루어지는 집합체로부터 선택되며 상기 처리를 수용하기 위한 최초 허용 시간 및 최종 허용 시간을 포함하는 수용 시간 범위를 결정하는 결정수간 ; 상기 처리를 수용하기 위한 최초 허용 시간 및 최종 허용 시간을 포함하는 수용 시간 범위를 결정하는 결정수단 ; 상기 첫번째 분산 처리의 코호트가 모두 첫번째 분산 처리를 수용하여 상기 코호트에 의해 결정된 시간범위가 공집합이 아닌 교집합을 가질때마다 상기 첫번째 분산 처리의 코호트인 상기 시스템에서의 각 노드에 수용 메시지를 전송하고, 다른 분산 처리들을 위해 처리 운영기에 의해 전송된 수용 메시지를 받아들이기 위하여 상기 코호트에 의해 결정된 시간 범위의 교집합으로부터 분산 처리를 위한 처리 시간을 상기 수용 메시지와 함께 선택하여 전송하는 수단을 포함하는 수용 수단 ; 상기 코호트들의 어느 하나가 처리를 중지할때마다 상기 처리를 중지하는 수단과 포함하는 수용 수단 ; 상기 코호트들의 어느 하나가 처리를 중지할때마다 상기 처리를 중지하는 수단과 상기 코호트에 의해 결정된 시간 범위들이 교집합을 갖지 않을때마다 상기 처리를 중지하는 수단을 포함하는 상기 수용수단 ; 그리고 상기 코호트를 가지는 분산 처리를 위한 상기 처리시간중 최종 시간을 구성하는 최종 처리 시간을 표시하는 상기 결정수단 및 수용수단에 결합된 최종 시간수단을 포함하며, 상기 결정수단은 상기 최종 처리 시간보다 늦은 최초 시간을 결정하는 것을 특징으로 하는 처리 운영기.
  5. 제 4 항에 있어서, 지역 클럭 시간을 표시하기 위하여, 상기 결정수단에 결합된 클럭 수단을 포함하는 것을 특징으로 하는 처리 운영기.
  6. 분산 데이타베이스 시스템에 있어서, 상호 연결된 개별 노드에 다수의 데이타베이스를 포함하고, 상기 데이타베이스중 최소한 한개의 데이타베이스는 타임스탬프 데이타베이스를 포함하며 ; 상기 각 데이타베이스는 처리에 사용된 데이타를 잠금하는 잠금 운영기를 포함하고, 잠금 운영기는 판독 액세스가 최소한 첫번째 처리에 의해 요구되어진 데이타를 잠금하는 수단을 포함하고, 상기 첫번째 처리가 자신을 수용하기 위해 준비한후 잠금 운영기는 두번째 처리에 의한 기록 액세스를 상기 처리에 의해 잠금된 데이타 판독에 허가하며, 지연된 처리로 상기 두번째 처리를 표시하고, 지연된 처리는 기록 액세스로 허가되어지는 데이타를 잠금한 판독을 가지는 처리들로 이루어지는 지연처리 집합체를 표시하며 ; 상기 각 데이타베이스는 또한 데이타가 코호트인 분산 처리를 수용하기 위한 허용된 최초 시간을 선택하는 위한 2위상 수용수단을 가지며 ; 상기 2위상 수용 수단은 처리를 수용하기 위한 허용된 최초 시간을 선택하는 결정수단을 포함하며 ; 상기 결정 수단은 상기 지연된 처리를 위해 허용되어 선택된 최초 시간이 상기 각 지연처리의 처리 시간보다 늦도록 지연처리를 수용하기 위한 허용된 최초 시간을 억합하는 것을 특징으로 하는 분산 데이타베이스 시스템.
  7. 제 6 항에 있어서, 상기 2위상 수용 수단이 준비-수용 메시지를 첫번째 분산 처리의 ㅎ호홑호코호트인 상기 시스템에 있는 각 노드에 전송하고, 다른 분산 처리를 위한 다른 데이타베이스들에 의해 전달된 준비-수용 메시지를 받아들이기 위한 준비수단 ; 상기 분산 처리의 배열을 결정함으로써 상기 준비 수단에 의한 준비-수용 메시지의 인수에 응답하고, 상기 배열은 처리를 중지 및 수용하는 것으로 이루어지는 집합체로부터 선택되며 상기 처리를 수용하기 위한 최초 허용 시간 및 최종 허용 시간을 포함하는 수용 시간 범위를 결정하는 결정수단 ; 상기 첫번째 분산 처리의 코호트가 모두 첫번째 분산 처리를 수용하여 상기 코호트에 의해 결정된 시간범위가 공집합이 아닌 교집합을 가질때마다 상기 첫번째 분산 처리의 코호트인 상기 시스템에서의 각 노드에수용 메시지를 전송하고, 다른 1산 처리들을 위해 처리 운영기에 의해 전송된 수용 메시지를 받아들이기 위하여 상기 코호트에 의개 결정된 시간 범위의 교집합으로부터 분산 처리를 위한 처리 시간을 상기 수용 메시지와 함께 선택하여 전송하는 수단을 포함하는 수용수단 ; 상기 코호트들의 어느 하나가 처리를 중지할때마다 상기 처리를 중지하는 수단과 상기 코호트에 의해 결정된 시간 범위들이 교집합을 갖지 않을때마다 상기 처리를 중지하는 수단을 포함하는 상기 수용수단 ; 그리고 상기 코호트를 가지는 분산 처리를 위한 상기 처리시간중 최종 시간을 구성하는 최종 처리 시간을 표시하는 상기 결정수단 및 수용수단에 결합된 퇴종 시간 수단을 포함하며, 상기 최초 처리시간보다 늦은 최초 시간을 결정하는 결정수단을 결정된 최초 시간이 상기 각 지연처리의 처리시간보다 늦도록 지연처리로 결정된 상기 최초 시간을 억압하는 수단을 포함하는 것을 특징으로 하는 분산 데이타베이스 시스템.
  8. 제 6 항에 있어서, 지역 클럭시간을 표시하기 위하여, 상기 결정수단에 결합된 클럭수단을 포함하며, 상기 결정수단에 의해 결정된 허용가능한 최초 시간을 지역클럭시간보다 빠르지 않은 것을 특징으로 하는 분산 데이타베이스 시스템.
KR1019910008220A 1990-05-22 1991-05-22 분산 컴퓨터 데이타베이스에서 지속적 타임스탬프를 위한 시스템 및 방법 KR940005819B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/527,087 1990-05-22
US07/527,087 US5212788A (en) 1990-05-22 1990-05-22 System and method for consistent timestamping in distributed computer databases

Publications (2)

Publication Number Publication Date
KR910020569A KR910020569A (ko) 1991-12-20
KR940005819B1 true KR940005819B1 (ko) 1994-06-23

Family

ID=24100039

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910008220A KR940005819B1 (ko) 1990-05-22 1991-05-22 분산 컴퓨터 데이타베이스에서 지속적 타임스탬프를 위한 시스템 및 방법

Country Status (5)

Country Link
US (1) US5212788A (ko)
EP (1) EP0458564B1 (ko)
JP (1) JPH07104813B2 (ko)
KR (1) KR940005819B1 (ko)
DE (1) DE69129678T2 (ko)

Families Citing this family (127)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4216871C2 (de) * 1991-05-21 2001-09-06 Digital Equipment Corp Ausführungsordnen zum Sicherstellen der Serialisierbarkeit verteilter Transaktionen
US5701480A (en) * 1991-10-17 1997-12-23 Digital Equipment Corporation Distributed multi-version commitment ordering protocols for guaranteeing serializability during transaction processing
JP2781092B2 (ja) * 1991-11-06 1998-07-30 富士通株式会社 システム間排他制御方式
FI101908B1 (fi) * 1992-04-01 1998-09-15 Nokia Telecommunications Oy Vikasietoinen muutostenjakomenetelmä hajautetussa tietokantajärjestelmässä
US5452445A (en) * 1992-04-30 1995-09-19 Oracle Corporation Two-pass multi-version read consistency
JP2675968B2 (ja) * 1992-08-20 1997-11-12 インターナショナル・ビジネス・マシーンズ・コーポレイション 加入者分散2相コミット・プロトコルの拡張機能
US5437006A (en) * 1993-01-27 1995-07-25 Microsoft Corporation Spreadsheet command/function capability from a dynamic-link library
US5485607A (en) * 1993-02-05 1996-01-16 Digital Equipment Corporation Concurrency-control method and apparatus in a database management system utilizing key-valued locking
EP0613083B1 (en) * 1993-02-25 2002-01-23 Sun Microsystems, Inc. Transaction management in object oriented systems
JP2557192B2 (ja) * 1993-03-15 1996-11-27 インターナショナル・ビジネス・マシーンズ・コーポレイション トランザクション処理の同期方法、トランザクション処理のモニタ方法及びトランザクションのコミット処理方法
JPH06324928A (ja) * 1993-05-14 1994-11-25 Mitsubishi Electric Corp ログ生成装置とファイルの異なるバージョンの調停のための装置及び異なる場所にあるコンピュータファイルの異なるバージョンを調停するための装置
GB2281644A (en) * 1993-09-02 1995-03-08 Ibm Fault tolerant transaction-oriented data processing.
US5678040A (en) * 1993-10-29 1997-10-14 Motorola, Inc. Method for managing a hierarchical design transaction
JPH0836513A (ja) * 1993-12-29 1996-02-06 Xerox Corp データ管理方法及びデータ管理エラー回復方法
US5434919A (en) 1994-01-11 1995-07-18 Chaum; David Compact endorsement signature systems
JPH0887436A (ja) * 1994-09-19 1996-04-02 Nec Corp 分散db処理方式
EP0713183A3 (en) * 1994-11-18 1996-10-02 Microsoft Corp Network-independent shadow files
US5794242A (en) * 1995-02-07 1998-08-11 Digital Equipment Corporation Temporally and spatially organized database
US5727204A (en) * 1995-06-07 1998-03-10 Hughes Electronics Database organization for rapid multi-set membership determination
US5682537A (en) * 1995-08-31 1997-10-28 Unisys Corporation Object lock management system with improved local lock management and global deadlock detection in a parallel data processing system
US5799305A (en) * 1995-11-02 1998-08-25 Informix Software, Inc. Method of commitment in a distributed database transaction
US5806074A (en) * 1996-03-19 1998-09-08 Oracle Corporation Configurable conflict resolution in a computer implemented distributed database
US5761500A (en) * 1996-04-18 1998-06-02 Mci Communications Corp. Multi-site data communications network database partitioned by network elements
US6216150B1 (en) * 1996-04-30 2001-04-10 International Business Machines Corporation Program product for an application programming interface unifying multiple mechanisms
US6052712A (en) * 1996-04-30 2000-04-18 International Business Machines Corporation System for barrier synchronization wherein members dynamic voting controls the number of synchronization phases of protocols and progression to each subsequent phase
US6016505A (en) * 1996-04-30 2000-01-18 International Business Machines Corporation Program product to effect barrier synchronization in a distributed computing environment
US5768538A (en) * 1996-04-30 1998-06-16 International Business Machines Corporation Barrier synchronization method wherein members dynamic voting controls the number of synchronization phases of protocols and progression to each new phase
US5930794A (en) * 1996-10-18 1999-07-27 Sagent Technologies, Inc. Database repository with deferred transactions
US6144731A (en) * 1997-03-12 2000-11-07 Harris Corporation Distributed telephony management
SE521041C2 (sv) * 1997-05-28 2003-09-23 Ericsson Telefon Ab L M Metod för optimering av transaktionsprotokoll inom en distribuerad databas
US6209090B1 (en) 1997-05-29 2001-03-27 Sol Aisenberg Method and apparatus for providing secure time stamps for documents and computer files
US5953728A (en) * 1997-07-25 1999-09-14 Claritech Corporation System for modifying a database using a transaction log
US5953719A (en) * 1997-09-15 1999-09-14 International Business Machines Corporation Heterogeneous database system with dynamic commit procedure control
US6014669A (en) * 1997-10-01 2000-01-11 Sun Microsystems, Inc. Highly-available distributed cluster configuration database
US6233585B1 (en) * 1998-03-12 2001-05-15 Crossworlds Software, Inc. Isolation levels and compensating transactions in an information system
US6243715B1 (en) 1998-11-09 2001-06-05 Lucent Technologies Inc. Replicated database synchronization method whereby primary database is selected queries to secondary databases are referred to primary database, primary database is updated, then secondary databases are updated
GB2346985B (en) * 1999-02-19 2003-07-09 Ibm Client/server transaction data processing system with optimum selection of last agent
DE10045437A1 (de) * 2000-09-14 2002-04-04 Ibm Ein erweiterter Transaktionsprozessor zur Beendigung von Transaktionen vor deren Abschluss
US7587428B2 (en) 2000-10-13 2009-09-08 Microsoft Corporation Maintaining a relationship between two different items of data
US7689560B2 (en) * 2000-10-13 2010-03-30 Miosoft Corporation Persistent data storage techniques
US7600014B2 (en) * 2000-11-16 2009-10-06 Symantec Corporation Method and system for monitoring the performance of a distributed application
US6772154B1 (en) * 2000-11-16 2004-08-03 Sun Microsystems, Inc. Implementation of nested databases using flexible locking mechanisms
US6934840B2 (en) * 2000-12-21 2005-08-23 International Business Machines Corporation Composite keystore facility apparatus and method therefor
US6754657B2 (en) * 2001-08-24 2004-06-22 Microsoft Corporation Time stamping of database records
JP3901484B2 (ja) * 2001-10-05 2007-04-04 株式会社ジェイテクト 電動パワーステアリング装置
US7921288B1 (en) 2001-12-12 2011-04-05 Hildebrand Hal S System and method for providing different levels of key security for controlling access to secured items
US10360545B2 (en) 2001-12-12 2019-07-23 Guardian Data Storage, Llc Method and apparatus for accessing secured electronic data off-line
US7921284B1 (en) 2001-12-12 2011-04-05 Gary Mark Kinghorn Method and system for protecting electronic data in enterprise environment
US8006280B1 (en) 2001-12-12 2011-08-23 Hildebrand Hal S Security system for generating keys from access rules in a decentralized manner and methods therefor
US7260555B2 (en) 2001-12-12 2007-08-21 Guardian Data Storage, Llc Method and architecture for providing pervasive security to digital assets
US8065713B1 (en) 2001-12-12 2011-11-22 Klimenty Vainstein System and method for providing multi-location access management to secured items
US7921450B1 (en) 2001-12-12 2011-04-05 Klimenty Vainstein Security system using indirect key generation from access rules and methods therefor
US7565683B1 (en) 2001-12-12 2009-07-21 Weiqing Huang Method and system for implementing changes to security policies in a distributed security system
US10033700B2 (en) 2001-12-12 2018-07-24 Intellectual Ventures I Llc Dynamic evaluation of access rights
US7380120B1 (en) 2001-12-12 2008-05-27 Guardian Data Storage, Llc Secured data format for access control
US7930756B1 (en) 2001-12-12 2011-04-19 Crocker Steven Toye Multi-level cryptographic transformations for securing digital assets
US7178033B1 (en) 2001-12-12 2007-02-13 Pss Systems, Inc. Method and apparatus for securing digital assets
US7950066B1 (en) 2001-12-21 2011-05-24 Guardian Data Storage, Llc Method and system for restricting use of a clipboard application
US8176334B2 (en) 2002-09-30 2012-05-08 Guardian Data Storage, Llc Document security system that permits external users to gain access to secured files
US7231442B2 (en) * 2002-04-03 2007-06-12 Tonic Software, Inc. Global network monitoring system
US7146366B2 (en) 2002-09-13 2006-12-05 Netezza Corporation Distributed concurrency control using serialization ordering
US20040123246A1 (en) * 2002-12-23 2004-06-24 Ju Wu Apparatus and method for creating new reports from discrete reports
US7124131B2 (en) * 2003-04-29 2006-10-17 International Business Machines Corporation Discipline for lock reassertion in a distributed file system
US20040230862A1 (en) * 2003-05-16 2004-11-18 Arif Merchant Redundant data assigment in a data storage system
US7761421B2 (en) * 2003-05-16 2010-07-20 Hewlett-Packard Development Company, L.P. Read, write, and recovery operations for replicated data
US7152077B2 (en) * 2003-05-16 2006-12-19 Hewlett-Packard Development Company, L.P. System for redundant storage of data
US8707034B1 (en) 2003-05-30 2014-04-22 Intellectual Ventures I Llc Method and system for using remote headers to secure electronic files
US7330858B1 (en) * 2003-06-30 2008-02-12 Symantec Operating Corporation Coordinated distributed logging in a multi-host environment
US20050010558A1 (en) * 2003-07-11 2005-01-13 International Business Machines Corporation Data query system load balancing
US7552149B2 (en) * 2003-09-06 2009-06-23 Oracle International Corporation Querying past versions of data in a distributed database
US8127366B2 (en) 2003-09-30 2012-02-28 Guardian Data Storage, Llc Method and apparatus for transitioning between states of security policies used to secure electronic documents
US7703140B2 (en) 2003-09-30 2010-04-20 Guardian Data Storage, Llc Method and system for securing digital assets using process-driven security policies
US7526489B2 (en) * 2003-11-18 2009-04-28 International Business Machines Corporation Methods to integrate user-defined operations into a database
US7702909B2 (en) * 2003-12-22 2010-04-20 Klimenty Vainstein Method and system for validating timestamps
US7277876B2 (en) * 2004-01-23 2007-10-02 Solomon Research Llc Dynamic adaptive distributed computer system
US7953749B2 (en) * 2004-05-11 2011-05-31 Oracel International Corporation Providing the timing of the last committed change to a row in a database table
US8024572B2 (en) 2004-12-22 2011-09-20 Aol Inc. Data storage and removal
EP1677233A1 (en) * 2004-12-29 2006-07-05 Sap Ag Technique for mass data handling in a preference processing context
US8024355B2 (en) * 2004-12-29 2011-09-20 Sap Ag Dynamic capacity demand profile construction with a persisted capacity demand profile and a collision buffer
US8386440B2 (en) * 2005-05-10 2013-02-26 Microsoft Corporation Database corruption recovery systems and methods
US7492186B2 (en) * 2005-07-15 2009-02-17 Tabula, Inc. Runtime loading of configuration data in a configurable IC
US20110145689A1 (en) * 2005-09-09 2011-06-16 Microsoft Corporation Named object view over multiple files
US9047306B1 (en) 2005-10-17 2015-06-02 Hewlett-Packard Development Company, L.P. Method of writing data
US7827144B1 (en) 2005-11-17 2010-11-02 Hewlett-Packard Development Company, L.P. Methods of reading and writing data
US7904759B2 (en) * 2006-01-11 2011-03-08 Amazon Technologies, Inc. System and method for service availability management
US8601112B1 (en) 2006-03-14 2013-12-03 Amazon Technologies, Inc. Method and system for collecting and analyzing time-series data
US7979439B1 (en) 2006-03-14 2011-07-12 Amazon Technologies, Inc. Method and system for collecting and analyzing time-series data
US9037698B1 (en) 2006-03-14 2015-05-19 Amazon Technologies, Inc. Method and system for collecting and analyzing time-series data
US9202184B2 (en) 2006-09-07 2015-12-01 International Business Machines Corporation Optimizing the selection, verification, and deployment of expert resources in a time of chaos
US20090287503A1 (en) * 2008-05-16 2009-11-19 International Business Machines Corporation Analysis of individual and group healthcare data in order to provide real time healthcare recommendations
US7853611B2 (en) * 2007-02-26 2010-12-14 International Business Machines Corporation System and method for deriving a hierarchical event based database having action triggers based on inferred probabilities
US7970759B2 (en) 2007-02-26 2011-06-28 International Business Machines Corporation System and method for deriving a hierarchical event based database optimized for pharmaceutical analysis
US7917478B2 (en) * 2007-02-26 2011-03-29 International Business Machines Corporation System and method for quality control in healthcare settings to continuously monitor outcomes and undesirable outcomes such as infections, re-operations, excess mortality, and readmissions
US9830366B2 (en) * 2008-03-22 2017-11-28 Thomson Reuters Global Resources Online analytic processing cube with time stamping
US20100241533A1 (en) * 2009-03-23 2010-09-23 Li Ho Tax data validity documentation
US8356007B2 (en) * 2010-10-20 2013-01-15 Microsoft Corporation Distributed transaction management for database systems with multiversioning
US8396831B2 (en) * 2009-12-18 2013-03-12 Microsoft Corporation Optimistic serializable snapshot isolation
US8654650B1 (en) * 2010-04-30 2014-02-18 Amazon Technologies, Inc. System and method for determining node staleness in a distributed system
US8694639B1 (en) 2010-09-21 2014-04-08 Amazon Technologies, Inc. Determining maximum amount of resource allowed to be allocated to client in distributed system
US9747270B2 (en) 2011-01-07 2017-08-29 Microsoft Technology Licensing, Llc Natural input for spreadsheet actions
US9053083B2 (en) 2011-11-04 2015-06-09 Microsoft Technology Licensing, Llc Interaction between web gadgets and spreadsheets
US9171099B2 (en) 2012-01-26 2015-10-27 Microsoft Technology Licensing, Llc System and method for providing calculation web services for online documents
US9110940B2 (en) 2012-02-29 2015-08-18 Red Hat, Inc. Supporting transactions in distributed environments using a local copy of remote transaction data and optimistic locking
US20130226891A1 (en) * 2012-02-29 2013-08-29 Red Hat Inc. Managing versions of transaction data used for multiple transactions in distributed environments
US10754710B1 (en) 2012-06-20 2020-08-25 Amazon Technologies, Inc. Transactional watch mechanism
US10191959B1 (en) 2012-06-20 2019-01-29 Amazon Technologies, Inc. Versioned read-only snapshots of shared state in distributed computing environments
US9003162B2 (en) 2012-06-20 2015-04-07 Microsoft Technology Licensing, Llc Structuring storage based on latch-free B-trees
US9578130B1 (en) 2012-06-20 2017-02-21 Amazon Technologies, Inc. Asynchronous and idempotent distributed lock interfaces
US10630566B1 (en) 2012-06-20 2020-04-21 Amazon Technologies, Inc. Tightly-coupled external cluster monitoring
CN105247525B (zh) * 2013-05-31 2020-11-10 皇家飞利浦有限公司 用于自动下载诸如睡眠研究数据的数据的系统和方法
US10664652B2 (en) 2013-06-15 2020-05-26 Microsoft Technology Licensing, Llc Seamless grid and canvas integration in a spreadsheet application
US9519591B2 (en) 2013-06-22 2016-12-13 Microsoft Technology Licensing, Llc Latch-free, log-structured storage for multiple access methods
US9817703B1 (en) * 2013-12-04 2017-11-14 Amazon Technologies, Inc. Distributed lock management using conditional updates to a distributed key value data store
WO2015134679A2 (en) * 2014-03-05 2015-09-11 Scality, S.A. Locking and i/o improvements of systems built with distributed consistent database implementations within an object store
US10366070B2 (en) 2015-02-20 2019-07-30 Scality S.A. Locking and I/O improvements of systems built with distributed consistent database implementations within an object store
US10248682B2 (en) 2015-02-20 2019-04-02 Scality, S.A. Object storage system capable of performing snapshots, branches and locking
US9514211B2 (en) 2014-07-20 2016-12-06 Microsoft Technology Licensing, Llc High throughput data modifications using blind update operations
US9760529B1 (en) 2014-09-17 2017-09-12 Amazon Technologies, Inc. Distributed state manager bootstrapping
US20160147813A1 (en) * 2014-11-25 2016-05-26 Juchang Lee Distributed transaction commit protocol
US9852221B1 (en) 2015-03-26 2017-12-26 Amazon Technologies, Inc. Distributed state manager jury selection
JP6563111B2 (ja) 2015-07-10 2019-08-21 アビニシオ テクノロジー エルエルシー 分散型データベースシステムを用いるネットワーク内でデータベースアクセス制御を提供する方法及びアーキテクチャ
US10417189B2 (en) 2015-10-30 2019-09-17 Netapp, Inc. Hybrid model of fine-grained locking and data partitioning
US10452633B2 (en) * 2015-10-30 2019-10-22 Netapp, Inc. Auto-expiring locks based on object stamping
US10951706B2 (en) 2016-12-09 2021-03-16 Google Llc High-throughput algorithm for multiversion concurrency control with globally synchronized time
US11474991B2 (en) * 2018-03-13 2022-10-18 Google Llc Including transactional commit timestamps in the primary keys of relational databases
CN110795427B (zh) * 2019-09-27 2022-10-11 苏宁云计算有限公司 数据分离存储方法、装置、计算机设备和存储介质
US11226764B2 (en) 2020-01-16 2022-01-18 International Business Machines Corporation Consistent reads in a distributed transaction protocol

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4627019A (en) * 1982-07-08 1986-12-02 At&T Bell Laboratories Database management system for controlling concurrent access to a database
JPS60500232A (ja) * 1983-02-09 1985-02-21 インタ−ナシヨナル・ビジネス・マシ−ンズ・コ−ポレ−シヨン 障害がない場合に最適化される、複数プロセッサの合意を得る方法
US4725834A (en) * 1984-02-27 1988-02-16 American Telephone And Telegraph Company, At&T Bell Laboratories Reliable broadcast protocol for a token passing bus network
US4635189A (en) * 1984-03-01 1987-01-06 Measurex Corporation Real-time distributed data-base management system
US4631673A (en) * 1985-01-22 1986-12-23 International Business Machines Corporation Method for refreshing multicolumn tables in a relational data base using minimal information
US4714992A (en) * 1985-11-26 1987-12-22 International Business Machines Corporation Communication for version management in a distributed information service

Also Published As

Publication number Publication date
JPH07104813B2 (ja) 1995-11-13
EP0458564A3 (en) 1993-08-11
EP0458564B1 (en) 1998-07-01
US5212788A (en) 1993-05-18
KR910020569A (ko) 1991-12-20
DE69129678D1 (de) 1998-08-06
DE69129678T2 (de) 1999-02-25
JPH04232545A (ja) 1992-08-20
EP0458564A2 (en) 1991-11-27

Similar Documents

Publication Publication Date Title
KR940005819B1 (ko) 분산 컴퓨터 데이타베이스에서 지속적 타임스탬프를 위한 시스템 및 방법
Kim et al. Ermia: Fast memory-optimized database system for heterogeneous workloads
US7395383B2 (en) Realtime-safe read copy update with per-processor read/write locks
US7146366B2 (en) Distributed concurrency control using serialization ordering
US5263155A (en) System for selectively registering and blocking requests initiated by optimistic and pessimistic transactions respectively for shared objects based upon associated locks
CN104793988B (zh) 跨数据库分布式事务的实现方法和装置
US6879981B2 (en) Sharing live data with a non cooperative DBMS
US6681226B2 (en) Selective pessimistic locking for a concurrently updateable database
CN108140028B (zh) 在具有分布式数据库系统的网络中提供数据库访问控制的方法和架构
JP2531881B2 (ja) 並行制御方法
US20040236746A1 (en) Timestamping in databases
KR20170132873A (ko) 분산 컴퓨팅 시스템에서 데이터베이스 트랜잭션들을 프로세싱하는 방법
JPH04229355A (ja) データアクセス方法及びデータ処理システム
EP3824397B1 (en) Version-based table locking
Chen et al. Plor: General transactions with predictable, low tail latency
Thomasian et al. A new distributed optimistic concurrency control method and a comparison of its performance with two-phase locking
US5752026A (en) Early commit locking computer database protocol
JP4157523B2 (ja) エスカレーション不可能なロック概念に基づく適応型ロックエスカレーション方法
Shalev et al. Predictive log-synchronization
Lomet Using timestamping to optimize two phase commit
Son Scheduling real-time transactions
JP3107094B2 (ja) 共用バッファのロック期間短縮処理方法及び装置
Anastassopoulos et al. A unified approach to distributed concurrency control
Pavlova et al. Concurrency control protocol for nested transactions in real-time databases
Kiviniemi et al. Transaction processing in the RODAIN real-time database system

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee