JPH0432940A - 分散データベース・システム - Google Patents
分散データベース・システムInfo
- Publication number
- JPH0432940A JPH0432940A JP2131171A JP13117190A JPH0432940A JP H0432940 A JPH0432940 A JP H0432940A JP 2131171 A JP2131171 A JP 2131171A JP 13117190 A JP13117190 A JP 13117190A JP H0432940 A JPH0432940 A JP H0432940A
- Authority
- JP
- Japan
- Prior art keywords
- site
- time
- clock
- sites
- transaction
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000009826 distribution Methods 0.000 claims abstract description 7
- 238000004891 communication Methods 0.000 claims description 10
- 238000005070 sampling Methods 0.000 abstract 1
- 230000003111 delayed effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 206010000210 abortion Diseases 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007616 round robin method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0679—Clock or time synchronisation in a network by determining clock distribution path in a network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の目的〕
(産業上の利用分野)
本発明は、時刻印を用いた分散データベース・システム
に関し、特に同時実行制御方式に関する。
に関し、特に同時実行制御方式に関する。
(従来の技術)
従来、時刻印を用いた分散データベース・システムの同
時実行制御方式としては、例えば特開昭59−5555
3号公報に記載の方式がある。
時実行制御方式としては、例えば特開昭59−5555
3号公報に記載の方式がある。
第4図に当該方式の構成を示す。114図において、新
しいサイト107が分散データベース・システムのネッ
トワークに加入するとき、新しいサイト107は、既に
ネットワークに加入済みのサイト101.103,10
5のそれぞれに対して、それぞれの時計の時刻を問い合
わせると共に、自サイト107の時計の時刻を通知する
。
しいサイト107が分散データベース・システムのネッ
トワークに加入するとき、新しいサイト107は、既に
ネットワークに加入済みのサイト101.103,10
5のそれぞれに対して、それぞれの時計の時刻を問い合
わせると共に、自サイト107の時計の時刻を通知する
。
具体的には、任意のサイトlは、全サイトの時計の時刻
を知ると、次の(1)式によりオフセラ) OF S
Iを求める。
を知ると、次の(1)式によりオフセラ) OF S
Iを求める。
OFS、−MAX (Pct 、・・・+PC++・・
・、P(、)−Pct ・・・(1)ただし、PC
Iはサイトlの時計の時刻、mはサイトの総数である。
・、P(、)−Pct ・・・(1)ただし、PC
Iはサイトlの時計の時刻、mはサイトの総数である。
各サイト101,103,105,107は、自サイト
の時計の時刻とオフセットとの和を論理時刻とし、これ
をトランザクションの時刻印として用いる。オフセット
を求める処理は、あるサイトが分散データベースのネッ
トワークに加入するたびに、全サイトで行われる。
の時計の時刻とオフセットとの和を論理時刻とし、これ
をトランザクションの時刻印として用いる。オフセット
を求める処理は、あるサイトが分散データベースのネッ
トワークに加入するたびに、全サイトで行われる。
この方式を用いて、各サイトの論理時刻を正確に合わせ
るためには、サイト間の通信による通信遅延を正確に見
積らなければならない。しかし、サイト間通信において
は、ハードウェア、ソフトウェアが複雑に絡むため、通
信遅延を正確に見積ることが難しい。さらに、各サイト
の負荷、ハードウェアの性能などが異なる場合には、通
信遅延の見積はより難しく、各サイトの論理時刻の差異
が大きくなる場合もある。
るためには、サイト間の通信による通信遅延を正確に見
積らなければならない。しかし、サイト間通信において
は、ハードウェア、ソフトウェアが複雑に絡むため、通
信遅延を正確に見積ることが難しい。さらに、各サイト
の負荷、ハードウェアの性能などが異なる場合には、通
信遅延の見積はより難しく、各サイトの論理時刻の差異
が大きくなる場合もある。
また、論理時刻の差異が大きいと次のような問題が生じ
る。
る。
以下、論理時刻の遅れているサイトから処理を開始され
たトランザクションと、論理時刻の進んでいるサイトか
ら処理を開始されたトランザクションとが、あるデータ
へのアクセスの競合を起こす場合を例に説明する。各サ
イトから処理を開始されたトランザクションの時刻印類
に制御を行なう場合、論理時刻の遅れているサイトから
処理を開始されたトランザクションが先にデータにアク
セスしたときには、後からアクセスする論理時刻の進ん
でいるサイトから処理を開始されたトランザクションは
、アボートされることなく待たされる可能性が高い。
たトランザクションと、論理時刻の進んでいるサイトか
ら処理を開始されたトランザクションとが、あるデータ
へのアクセスの競合を起こす場合を例に説明する。各サ
イトから処理を開始されたトランザクションの時刻印類
に制御を行なう場合、論理時刻の遅れているサイトから
処理を開始されたトランザクションが先にデータにアク
セスしたときには、後からアクセスする論理時刻の進ん
でいるサイトから処理を開始されたトランザクションは
、アボートされることなく待たされる可能性が高い。
しかし、論理時刻の進んでいるサイトから処理を開始さ
れたトランザクションが先にデータにアクセスしたとき
には、後からアクセスする論理時刻の遅れているサイト
から処理を開始されたトランザクションはアボートされ
る可能性が高い。
れたトランザクションが先にデータにアクセスしたとき
には、後からアクセスする論理時刻の遅れているサイト
から処理を開始されたトランザクションはアボートされ
る可能性が高い。
このように論理時刻の遅れているサイトで処理を開始さ
れるトランザクションは、データの競合を起こしたとき
、アボートされる可能性が高くなる。
れるトランザクションは、データの競合を起こしたとき
、アボートされる可能性が高くなる。
したがって、論理時刻の差異が大きいと、論理時刻の遅
れているサイトではアボートされるトランザクションの
数が多くなり、トランザクション処理のサイトに対する
バランスが崩れることになる。これは、システム全体の
性能を低下させる原因となる。
れているサイトではアボートされるトランザクションの
数が多くなり、トランザクション処理のサイトに対する
バランスが崩れることになる。これは、システム全体の
性能を低下させる原因となる。
また、前記の方式によって、新しいサイトがネットワー
クに加入するとき、各サイトの論理時刻を正確に合わす
ことができるものとしても、各サイトの時計の進み方に
差異があると、時間の経過に従って各サイトの論理時刻
に差異が生じ、さらに該差異が大きくなる。
クに加入するとき、各サイトの論理時刻を正確に合わす
ことができるものとしても、各サイトの時計の進み方に
差異があると、時間の経過に従って各サイトの論理時刻
に差異が生じ、さらに該差異が大きくなる。
一方、従来新しいサイトがネットワークに加入するとき
には、既にネットワークに加入済みのサイト同士は、時
計の時刻を通知し合うことはなく、したがって、各サイ
トの時計の進み方に差異があるとネットワークに加入済
みの各サイトの論理時刻に差異が生じてしまい、またこ
の差異を修正する手段もなかった。
には、既にネットワークに加入済みのサイト同士は、時
計の時刻を通知し合うことはなく、したがって、各サイ
トの時計の進み方に差異があるとネットワークに加入済
みの各サイトの論理時刻に差異が生じてしまい、またこ
の差異を修正する手段もなかった。
(発明が解決しようとする課11)
上述してきたように従来の分散データベース・システム
における時刻印を用いた同時実行制御方式においては、
サイトの論理時刻を正確に合わせることが難しく、また
ある時点でサイトの論理時刻を正確に合わせることがで
きても、各サイトの時計の進み方に差異があれば、時間
の経過によって各サイトの論理時刻の差異が大きくなっ
てしまった。
における時刻印を用いた同時実行制御方式においては、
サイトの論理時刻を正確に合わせることが難しく、また
ある時点でサイトの論理時刻を正確に合わせることがで
きても、各サイトの時計の進み方に差異があれば、時間
の経過によって各サイトの論理時刻の差異が大きくなっ
てしまった。
また、ネットワークに加入済みのサイトの論理時刻に差
異が生じると、それを修正する手段もなかった。
異が生じると、それを修正する手段もなかった。
さらに、上述してきたように各サイトの論理時刻に差異
が大きいと、トランザクション処理のサイトに対するバ
ランスが崩れ、システム全体の性能の低下を招来すると
ころとなった。
が大きいと、トランザクション処理のサイトに対するバ
ランスが崩れ、システム全体の性能の低下を招来すると
ころとなった。
本発明は、上記事情に鑑みてなされたもので、各サイト
の時計の時刻の差異を小さくすることによって、システ
ム全体の性能を向上するようにした分散データ・システ
ムを提供することを目的とする。
の時計の時刻の差異を小さくすることによって、システ
ム全体の性能を向上するようにした分散データ・システ
ムを提供することを目的とする。
(課題を解決するための手段)
本発明は上記目的を達成するために、通信路により接続
される複数のサイトからなる分散データベース・システ
ムにおいて、各サイトで処理が開始される際に付与され
る時刻印を用いてトランザクションの同時実行制御を行
う際のトランザクションの処理状況の分布を調べる採取
手段と、この採取手段によって調べられた分布結果から
各サイトの時計の時刻の進みあるいは遅れを予測する予
測手段と、この予測手段で予測される時刻の進みあるい
は遅れに基づいて当該サイトの時計の時刻を変更する変
更手段とを具備した。
される複数のサイトからなる分散データベース・システ
ムにおいて、各サイトで処理が開始される際に付与され
る時刻印を用いてトランザクションの同時実行制御を行
う際のトランザクションの処理状況の分布を調べる採取
手段と、この採取手段によって調べられた分布結果から
各サイトの時計の時刻の進みあるいは遅れを予測する予
測手段と、この予測手段で予測される時刻の進みあるい
は遅れに基づいて当該サイトの時計の時刻を変更する変
更手段とを具備した。
(作用)
本発明の分散データベース・システムにおいては、各サ
イトはサイトで処理が開始される際に付与される時刻印
を用いてトランザクションの同時実行制御を行う際のト
ランザクションの処理に関する分布、例えばコミットさ
れたトランザクション数あるいはアボートされたトラン
ザクション数等の統計情報を採取手段で採取する。
イトはサイトで処理が開始される際に付与される時刻印
を用いてトランザクションの同時実行制御を行う際のト
ランザクションの処理に関する分布、例えばコミットさ
れたトランザクション数あるいはアボートされたトラン
ザクション数等の統計情報を採取手段で採取する。
各サイトは、他サイトの統計情報から自サイトの時計が
他サイトの時計に比べて進んでいるか、あるいは、遅れ
ているかを予測する。例えば、統計情報として、コミッ
トされたトランザクション数を採取している場合には、
その数が他サイトに比べて小さいサイトは、自サイトの
時計が遅れていると予測する。自サイトの時計が進んで
いる、あるいは、遅れていると予測したサイトは、その
統計情報に基づいて、その時計をそれぞれ変更する。各
サイトは、以後変更された時計の時刻に基づいて、トラ
ンザクションに時刻印を付与する。
他サイトの時計に比べて進んでいるか、あるいは、遅れ
ているかを予測する。例えば、統計情報として、コミッ
トされたトランザクション数を採取している場合には、
その数が他サイトに比べて小さいサイトは、自サイトの
時計が遅れていると予測する。自サイトの時計が進んで
いる、あるいは、遅れていると予測したサイトは、その
統計情報に基づいて、その時計をそれぞれ変更する。各
サイトは、以後変更された時計の時刻に基づいて、トラ
ンザクションに時刻印を付与する。
すなわち、変更された時計の影響は、その後の統計情報
に反映される。そして、その統計情報は、ある時間に再
び時計の時刻の変更にフィードバックされる。
に反映される。そして、その統計情報は、ある時間に再
び時計の時刻の変更にフィードバックされる。
統計情報の選択、採取方法、および統計情報に基づいた
時計の時刻の変更方法等を工夫することにより、各サイ
トの時計の差異を、時間の経過とともに小さくし、シス
テム全体の性能に影響を与えないような範囲内に収束さ
せることができる。
時計の時刻の変更方法等を工夫することにより、各サイ
トの時計の差異を、時間の経過とともに小さくし、シス
テム全体の性能に影響を与えないような範囲内に収束さ
せることができる。
(実施例)
以下、本発明の一実施例を図面を用いて説明する。ここ
では、システムのグローバルな時計の時刻、すなわち正
しい時刻を標準時刻と呼ぶ。
では、システムのグローバルな時計の時刻、すなわち正
しい時刻を標準時刻と呼ぶ。
第1図は、3つのサイト1,3.5からなる本発明の一
実施例の構成図である。
実施例の構成図である。
各サイト1.3.5は、トランザクション処理をシステ
ムに要求する端末群11,31,51、トランザクショ
ンを処理するプロセッサ13,33.53と、データの
格納されるデータベース17.37.57から構成され
る。各サイト1,3゜5のプロセッサ13,33.53
は、時計15゜35.55をそれぞれ具備している。ま
た、各サイト1.3.5のプロセッサ13.33.53
は、ネットワークを介して、通信を行う。
ムに要求する端末群11,31,51、トランザクショ
ンを処理するプロセッサ13,33.53と、データの
格納されるデータベース17.37.57から構成され
る。各サイト1,3゜5のプロセッサ13,33.53
は、時計15゜35.55をそれぞれ具備している。ま
た、各サイト1.3.5のプロセッサ13.33.53
は、ネットワークを介して、通信を行う。
このような、第1図に示す分散データベース・システム
において、時刻印を用いたトランザクションの同時実行
制御について説明する。
において、時刻印を用いたトランザクションの同時実行
制御について説明する。
いま、サイト1の端末群11のひとつから、トランザク
ションT、の処理の要求があるとする。
ションT、の処理の要求があるとする。
サイト1のプロセッサ13は、時計15の時刻とサイト
1の識別子を用いて、トランザクションTに時刻印ts
(T+)を付与する。
1の識別子を用いて、トランザクションTに時刻印ts
(T+)を付与する。
このとき、時刻印を用いた並行制御ではトランザクショ
ンに付与される時刻印が一意でなければならない。すな
わち異なるトランザクションは異なる時刻印を持たなけ
ればならない。
ンに付与される時刻印が一意でなければならない。すな
わち異なるトランザクションは異なる時刻印を持たなけ
ればならない。
また、分散データベースシステムでは、異なるサイトで
同時にトランザクション処理を開始し得るから、サイト
の時計の時刻をそのまま時刻印とすると、異なるトラン
ザクションに同じ時刻印を付与する可能性がある。
同時にトランザクション処理を開始し得るから、サイト
の時計の時刻をそのまま時刻印とすると、異なるトラン
ザクションに同じ時刻印を付与する可能性がある。
このような可能性をなくすために第3図のように、サイ
トの時計の時刻とサイトの識別子を用いて時刻印を作り
上げる。時刻印の下位mビνトはサイトに対して一意に
決まるので、異なるサイトで同じ時刻印を作り上げるこ
とはない。
トの時計の時刻とサイトの識別子を用いて時刻印を作り
上げる。時刻印の下位mビνトはサイトに対して一意に
決まるので、異なるサイトで同じ時刻印を作り上げるこ
とはない。
尚、第3図においてβは、
2′≧N
(但し、Nは分散データベース・システムのサイトの総
数) であるような値が選ばれ、またαは常に21が当該分散
データベース・システムで同時に処理されている任意の
2つのトランザクションの時刻印の上位aビットの差の
絶対値よりも十分に大であるような値が選ばれる。
数) であるような値が選ばれ、またαは常に21が当該分散
データベース・システムで同時に処理されている任意の
2つのトランザクションの時刻印の上位aビットの差の
絶対値よりも十分に大であるような値が選ばれる。
また、前記時刻印ts(TI)の付与とほぼ同時刻に、
サイト3の端末群31のひとつから、トランザクション
T2の処理の要求があるとする。
サイト3の端末群31のひとつから、トランザクション
T2の処理の要求があるとする。
サイト3のプロセッサ33は、時計35の時刻とサイト
3の識別子を用いて上記と同じ方法で、トランザクショ
ンT2に時刻印ts(T、)を付与する。そして、トラ
ンザクションT1の更新操作が、サイト5のデータベー
ス57にあるデータXにアクセスし、その直後に、トラ
ンザクションT、の更新操作が、サイト5のデータベー
ス57にあるデータXにアクセスするとする。
3の識別子を用いて上記と同じ方法で、トランザクショ
ンT2に時刻印ts(T、)を付与する。そして、トラ
ンザクションT1の更新操作が、サイト5のデータベー
ス57にあるデータXにアクセスし、その直後に、トラ
ンザクションT、の更新操作が、サイト5のデータベー
ス57にあるデータXにアクセスするとする。
このとき、
t s (TI ) < t s (TI )
−(2)ならば、トランザクションT2のXの更
新操作を待たせる。ここで、(2)式はT、の時刻印が
TIの時刻印より小さいことを表す。逆に、t S (
TI ) <t s (TI ) −(3)な
らば、トランザクションT2のXの更新操作を拒否し、
TIをアボートする。すなわち、データにアクセスする
トランザクションの順が、トランザクションの時刻印の
順に一致するように制御する。
−(2)ならば、トランザクションT2のXの更
新操作を待たせる。ここで、(2)式はT、の時刻印が
TIの時刻印より小さいことを表す。逆に、t S (
TI ) <t s (TI ) −(3)な
らば、トランザクションT2のXの更新操作を拒否し、
TIをアボートする。すなわち、データにアクセスする
トランザクションの順が、トランザクションの時刻印の
順に一致するように制御する。
このような制御方式を用いて、あるデータへのアクセス
において競合を起こすような、サイトiで処理を開始し
たトランザクションT、と、サイトjで処理を開始した
トランザクションT、を処理する場合を考える。
において競合を起こすような、サイトiで処理を開始し
たトランザクションT、と、サイトjで処理を開始した
トランザクションT、を処理する場合を考える。
ここで、サイトiの時計(10i+5)の時刻は、サイ
トjの時計(10j+5)の時刻に比べて、相対的に遅
れているとする。
トjの時計(10j+5)の時刻に比べて、相対的に遅
れているとする。
T、とT1の処理開始順と、それらの競合するデータへ
のアクセス順について、その組合せは、次のような4通
りの場合がある。
のアクセス順について、その組合せは、次のような4通
りの場合がある。
(a)TIはTIより先に処理を開始する。
T1はT」より先に競合するデータにアクセスする。
(b)TIはT、より先に処理を開始する。
T、はT、より先に競合するデータにアクセスする。
(C)TIはT、より先に処理を開始する。
TtはT、より先に競合するデータにアクセスする。
(d)TIはT、より先に処理を開始する。
T、はTIより先に競合するデータにアクセスする。
上記の(a) 、(b)の場合には、サイトlの時計(
10i+5)の時刻が、サイトjの時計(10j+5)
の時刻に比べて遅れているので、常に t s (TI ) < t S (TI )
−(4)である。ゆえに、上記の制御方式に基づくと、
(a)の場合には、Tjを待たせ、(b)の場合にはT
、をアボートすることになる。
10i+5)の時刻が、サイトjの時計(10j+5)
の時刻に比べて遅れているので、常に t s (TI ) < t S (TI )
−(4)である。ゆえに、上記の制御方式に基づくと、
(a)の場合には、Tjを待たせ、(b)の場合にはT
、をアボートすることになる。
上記の(C)、(d)の場合には、時計(101+5)
の時刻の時計(10j+5)の時刻に対する遅れが、T
、の標準時刻における処理開始時刻とT、の標準時刻に
おける処理開始時刻の差の絶対値より小さければ、 ts (Tl)<ts (”r+) =・(5)
であるが、そうでなければ、 ts (TI)<ts (T、) −(6)である
。
の時刻の時計(10j+5)の時刻に対する遅れが、T
、の標準時刻における処理開始時刻とT、の標準時刻に
おける処理開始時刻の差の絶対値より小さければ、 ts (Tl)<ts (”r+) =・(5)
であるが、そうでなければ、 ts (TI)<ts (T、) −(6)である
。
ゆえに、上記の制御方式に基づくと、(c)の場合には
、第(5)式が成り立つとき、T、をアボートするが、
第(6)式が成り立つとき、T。
、第(5)式が成り立つとき、T、をアボートするが、
第(6)式が成り立つとき、T。
を持たせる。(d)の場合には、第(5)式が成り立つ
とき、T、を持たせるが、第(6)式が成り立つとき、
TIをアボートする。
とき、T、を持たせるが、第(6)式が成り立つとき、
TIをアボートする。
(8)または(b)の場合が起こる確率と(C)または
(d)が起こる確率は、トランザクション処理がランダ
ムに要求される状況では等しい。
(d)が起こる確率は、トランザクション処理がランダ
ムに要求される状況では等しい。
このことと、上記のように(d)の場合にもT1をアボ
ートすることがあることから、T、をアボートする確率
は、T、をアボートする確率より大きくなる。これは、
サイトiの時計(10i+5)の時刻が、サイトjの時
計(10j+5)の時刻に比べて遅れていることに起因
する。
ートすることがあることから、T、をアボートする確率
は、T、をアボートする確率より大きくなる。これは、
サイトiの時計(10i+5)の時刻が、サイトjの時
計(10j+5)の時刻に比べて遅れていることに起因
する。
したがって、時計が遅れているサイトでは、アボートさ
れるトランザクションの数が多くなり、逆に、時計の進
んでいるサイトでは、アボートされるトランザクション
数が少なくなる。このように、アボートされるトランザ
クション数が各サイトで異なると、トランザクション処
理のサイトに対するバランスが崩れ、システム全体とし
て性能が低下する。
れるトランザクションの数が多くなり、逆に、時計の進
んでいるサイトでは、アボートされるトランザクション
数が少なくなる。このように、アボートされるトランザ
クション数が各サイトで異なると、トランザクション処
理のサイトに対するバランスが崩れ、システム全体とし
て性能が低下する。
そこで、本実施例においては各サイトの時計の時刻の差
異をなくすために、次のような制御方式を行なう。以下
、各サイトの時計の時刻合わせ制御方式を第2図に示す
フローチャートにしたがって説明する。
異をなくすために、次のような制御方式を行なう。以下
、各サイトの時計の時刻合わせ制御方式を第2図に示す
フローチャートにしたがって説明する。
まず、ステップ1において、サイト1のプロセッサ13
に割込みがあると、ステップS3において、プロセッサ
13がサイト1で処理を開始し、アボートしたトランザ
クションの数01を記憶するとともに、トランザクショ
ン数01を変数MINに入れた後、変数MINをサイト
3へ送る。尚、このときnlはサイト1でアボートした
トランザクションの数を表わし、また変数MINはシス
テム全体の中でアボートしたトランザクションの数が最
小であるサイトにおいてアボートしたトランザクション
の数、すなわちそれぞれのサイトにおいてアボートした
トランザクションの数の最小値を表わす。
に割込みがあると、ステップS3において、プロセッサ
13がサイト1で処理を開始し、アボートしたトランザ
クションの数01を記憶するとともに、トランザクショ
ン数01を変数MINに入れた後、変数MINをサイト
3へ送る。尚、このときnlはサイト1でアボートした
トランザクションの数を表わし、また変数MINはシス
テム全体の中でアボートしたトランザクションの数が最
小であるサイトにおいてアボートしたトランザクション
の数、すなわちそれぞれのサイトにおいてアボートした
トランザクションの数の最小値を表わす。
ステップS5においては、サイト1のプロセッサ(lQ
i+3)は、サイトiで処理を開始し、アボートしたト
ランザクションの数niを記憶するとともに、トランザ
クション数niを前記変数MINと比較する。
i+3)は、サイトiで処理を開始し、アボートしたト
ランザクションの数niを記憶するとともに、トランザ
クション数niを前記変数MINと比較する。
ここで、nl≧MINならばステップS9へ進み、また
ni<MIN(nl)ならば、ステップS7へ進みトラ
ンザクション数niをMINに入れた後にステップS9
へ進む。
ni<MIN(nl)ならば、ステップS7へ進みトラ
ンザクション数niをMINに入れた後にステップS9
へ進む。
ステップS9において、iとサイトの数mとを比較して
、i<mならば、ステップSllへ進みMINをサイト
(1+1)に送り、ステップS5へ戻る。またステップ
S9でi−mならば、ステップ313へ進みMINをサ
イト1に送り、ステップS15へ進む。
、i<mならば、ステップSllへ進みMINをサイト
(1+1)に送り、ステップS5へ戻る。またステップ
S9でi−mならば、ステップ313へ進みMINをサ
イト1に送り、ステップS15へ進む。
続いて、ステップS15において、サイトiのプロセッ
サ(10i+3)は、変数MINとトランザクション数
niを比較する。(ni−MIN)がある基準δより大
きければ、ステップS17へ進み適当な関数Fにより g−F (n i−MIN) −(6)
を求めて、ステップS19においてサイトiの時計(1
01+5)の時刻をgだけ進めた後に、ステップS21
へ進む。
サ(10i+3)は、変数MINとトランザクション数
niを比較する。(ni−MIN)がある基準δより大
きければ、ステップS17へ進み適当な関数Fにより g−F (n i−MIN) −(6)
を求めて、ステップS19においてサイトiの時計(1
01+5)の時刻をgだけ進めた後に、ステップS21
へ進む。
ステップS21において、i<mならば、ステップ82
3へ進みMINをサイト(i+1)に送り、ステップS
15へ戻る。またi −mならば、終了する。
3へ進みMINをサイト(i+1)に送り、ステップS
15へ戻る。またi −mならば、終了する。
尚、上述してきたような時刻合わせ制御方式においては
、割込みを入れるタイミングとしては、(e)一定時間
ごとにシステムが入れる。
、割込みを入れるタイミングとしては、(e)一定時間
ごとにシステムが入れる。
(f)サイトがある状態になったとき、システムが入れ
る。
る。
(g)システム管理者が端末から入れる。
等がある。
上記の制御方式では、統計情報の収集、時計の変更のた
めの通信方式として、ラウンド・ロビン方式を採用して
いるが、同報通信方式やそれ以外の通信方式を用いるこ
ともできる。
めの通信方式として、ラウンド・ロビン方式を採用して
いるが、同報通信方式やそれ以外の通信方式を用いるこ
ともできる。
上記の例では、トランザクション処理の統計情報として
、アボートしたトランザクション数を用いたが、それ以
外に、 (h)コミットしたトランザクション数(i)処理を開
始したトランザクション数(j)平均応答時間 等を用いることもできる。統計情報は、サイトの時計の
時刻を合わすたびにクリアしてもよいし、クリアしなく
てもよい。前者の場合には、統計情報を時計の時刻の変
更に速く反映させることができる。後者の場合には、安
定した統計情報を得ることができる。
、アボートしたトランザクション数を用いたが、それ以
外に、 (h)コミットしたトランザクション数(i)処理を開
始したトランザクション数(j)平均応答時間 等を用いることもできる。統計情報は、サイトの時計の
時刻を合わすたびにクリアしてもよいし、クリアしなく
てもよい。前者の場合には、統計情報を時計の時刻の変
更に速く反映させることができる。後者の場合には、安
定した統計情報を得ることができる。
上記のステップS15において、各サイトの統計量とす
べてのサイトの統計量の最小値との差分が基準δより大
きければ、時計が遅れていると判定したが、それ以外に (k)すべてのサイトの統計量の最大値と各サイトの統
計量の差分が、基準δより大きければ、時計が遅れてい
ると判定する (統計量が、コミットしたトランザクション数、処理を
開始したトランザクション数等の場合)。
べてのサイトの統計量の最小値との差分が基準δより大
きければ、時計が遅れていると判定したが、それ以外に (k)すべてのサイトの統計量の最大値と各サイトの統
計量の差分が、基準δより大きければ、時計が遅れてい
ると判定する (統計量が、コミットしたトランザクション数、処理を
開始したトランザクション数等の場合)。
(1)すべてのサイトの統計量の平均値と各サイトの統
計量との差分の絶対値が基準δより大きければ、時計が
進んでいる、あるいは、遅れていると判定する。
計量との差分の絶対値が基準δより大きければ、時計が
進んでいる、あるいは、遅れていると判定する。
(m)サイトの統計量の分布から各サイトの統計量の偏
差を求め、それがある基準δより大きいならば、時計が
進んでいる、あるいは、遅れていると判定する。
差を求め、それがある基準δより大きいならば、時計が
進んでいる、あるいは、遅れていると判定する。
等がある。
関数F (x)として、上記のフローチャートでは、
F (x)一定数×トランザクションの平均開始時間間
隔X z /統計量最小値 を用いる。
隔X z /統計量最小値 を用いる。
ここで、総計量最小値とはフローチャートのMINのこ
と。よって(6)式は g−F (n i−MI N) 一定数×トランザクシジンの平均開始時間間隔x (n
i−MIN)/MI Nとなる。
と。よって(6)式は g−F (n i−MI N) 一定数×トランザクシジンの平均開始時間間隔x (n
i−MIN)/MI Nとなる。
この式は、アボート数が最小のサイトの時計に全サイト
の時計を合わせたいという考えに基づく。
の時計を合わせたいという考えに基づく。
(時計を進める)
という考えに基づく。
トランザクションの平均開始時間間隔を用いるのは、時
計の時刻の変更幅のオーダーとして適当であると考える
からである。
計の時刻の変更幅のオーダーとして適当であると考える
からである。
平均開始時刻間隔が小さいほど同時に実行されるトラン
ザションが多く、それだけサイトの時計の時刻の差異を
細かく変更する必要がある。
ザションが多く、それだけサイトの時計の時刻の差異を
細かく変更する必要がある。
サイトの性能アンバランスを除々に改善していくという
意味で、定数は1未満の値にするのが適当であり、あま
り大きく各サイトの時計の時刻を変更するとフィードバ
ック系が不安定になる。
意味で、定数は1未満の値にするのが適当であり、あま
り大きく各サイトの時計の時刻を変更するとフィードバ
ック系が不安定になる。
上述してきたように、本実施例においては、システムの
動作開始時に、各サイトの時計の時刻を正確に合わせる
必要はない。また、システムの動作中に、各サイトの時
計の時刻の進み方に差異があってもよい。
動作開始時に、各サイトの時計の時刻を正確に合わせる
必要はない。また、システムの動作中に、各サイトの時
計の時刻の進み方に差異があってもよい。
上記実施例によれば、トランザクションの参照、更新操
作の割合や操作数、あるいは、端末の数が、サイトに対
して均一でない場合に、逆に各サイトの時計の時刻に差
異を設けることになる。しかし、これにより、サイトに
優先順位を設けて、トランザクション処理のサイトに対
するバランスを維持することができる。したがって、本
実施例における各サイトの時計の時刻の変更は、各サイ
トの時計の時刻を正確に合わせることを目的として行う
とは限定しない。
作の割合や操作数、あるいは、端末の数が、サイトに対
して均一でない場合に、逆に各サイトの時計の時刻に差
異を設けることになる。しかし、これにより、サイトに
優先順位を設けて、トランザクション処理のサイトに対
するバランスを維持することができる。したがって、本
実施例における各サイトの時計の時刻の変更は、各サイ
トの時計の時刻を正確に合わせることを目的として行う
とは限定しない。
なお、本発明は上記実施例に限定されるものではなく、
その要旨を逸脱しない範囲で適宜変更して実施できる。
その要旨を逸脱しない範囲で適宜変更して実施できる。
本発明によれば、各サイトの時計の時刻の差異を小さく
することができ、トランザクション処理のサイトに対す
るバランスをとることができる。
することができ、トランザクション処理のサイトに対す
るバランスをとることができる。
そして、時計の時刻の差異によるシステム全体としての
性能の低下を防ぐことができる。
性能の低下を防ぐことができる。
第1図は本発明の構成を表す図、第2図は本発明の時計
の時刻合わせ方式を表すフローチャート、第3図は時刻
印付与の方法を表す図、第4図は従来の時刻印を用いた
同時実行制御方式の構成を表す図である。 1.3.5・・・サイト 11.31.51・・・端末群 13.33.53・・・プロセッサ 15.35.55・・・時計 17゜ 37゜ 57・・・データベース
の時刻合わせ方式を表すフローチャート、第3図は時刻
印付与の方法を表す図、第4図は従来の時刻印を用いた
同時実行制御方式の構成を表す図である。 1.3.5・・・サイト 11.31.51・・・端末群 13.33.53・・・プロセッサ 15.35.55・・・時計 17゜ 37゜ 57・・・データベース
Claims (1)
- 【特許請求の範囲】 通信路により接続される複数のサイトからなる分散デー
タベース・システムにおいて、 各サイトで処理が開始される際に付与される時刻印を用
いてトランザクションの同時実行制御を行う際のトラン
ザクションの処理状況の各サイトに対する分布を調べる
採取手段と、 この採取手段によって調べられた分布結果から各サイト
の時計の時刻の進みあるいは遅れを予測する予測手段と
、 この予測手段で予測される時刻の進みあるいは遅れに基
づいて当該サイトの時計の時刻を変更する変更手段と を具備することを特徴とする分散データベース・システ
ム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2131171A JPH0432940A (ja) | 1990-05-23 | 1990-05-23 | 分散データベース・システム |
DE69116428T DE69116428D1 (de) | 1990-05-23 | 1991-05-22 | Verfahren, um die gegenwärtigen Zeittakte in einem verteilten Rechnersystem einzustellen |
US07/704,581 US5293627A (en) | 1990-05-23 | 1991-05-22 | Method for adjusting curent clock counts in a distributed computer system |
EP91304640A EP0458623B1 (en) | 1990-05-23 | 1991-05-22 | A method for adjusting current clock counts in a distributed computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2131171A JPH0432940A (ja) | 1990-05-23 | 1990-05-23 | 分散データベース・システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0432940A true JPH0432940A (ja) | 1992-02-04 |
Family
ID=15051672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2131171A Pending JPH0432940A (ja) | 1990-05-23 | 1990-05-23 | 分散データベース・システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US5293627A (ja) |
EP (1) | EP0458623B1 (ja) |
JP (1) | JPH0432940A (ja) |
DE (1) | DE69116428D1 (ja) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5442772A (en) * | 1991-03-29 | 1995-08-15 | International Business Machines Corporation | Common breakpoint in virtual time logic simulation for parallel processors |
US7299240B1 (en) | 1992-04-10 | 2007-11-20 | Intellisync Corporation | Method for translating computer data from one record structure to another |
US5452445A (en) * | 1992-04-30 | 1995-09-19 | Oracle Corporation | Two-pass multi-version read consistency |
GB2273182A (en) * | 1992-12-04 | 1994-06-08 | Ibm | Currency period of replicated data objects. |
US5710922A (en) * | 1993-06-02 | 1998-01-20 | Apple Computer, Inc. | Method for synchronizing and archiving information between computer systems |
JP2540762B2 (ja) * | 1993-11-10 | 1996-10-09 | 日本電気株式会社 | クロック信号供給方法 |
US5689705A (en) * | 1995-02-13 | 1997-11-18 | Pulte Home Corporation | System for facilitating home construction and sales |
US5715438A (en) * | 1995-07-19 | 1998-02-03 | International Business Machines Corporation | System and method for providing time base adjustment |
US5893115A (en) * | 1995-11-29 | 1999-04-06 | Lucent Technologies, Inc. | Isochronal updating of data records |
US6446092B1 (en) | 1996-11-01 | 2002-09-03 | Peerdirect Company | Independent distributed database system |
US5924094A (en) * | 1996-11-01 | 1999-07-13 | Current Network Technologies Corporation | Independent distributed database system |
US6405218B1 (en) | 1996-11-13 | 2002-06-11 | Pumatech, Inc. | Synchronizing databases |
US5943676A (en) | 1996-11-13 | 1999-08-24 | Puma Technology, Inc. | Synchronization of recurring records in incompatible databases |
US6141664A (en) | 1996-11-13 | 2000-10-31 | Puma Technology, Inc. | Synchronization of databases with date range |
US6212529B1 (en) | 1996-11-13 | 2001-04-03 | Puma Technology, Inc. | Synchronization of databases using filters |
US6044381A (en) * | 1997-09-11 | 2000-03-28 | Puma Technology, Inc. | Using distributed history files in synchronizing databases |
US6330568B1 (en) | 1996-11-13 | 2001-12-11 | Pumatech, Inc. | Synchronization of databases |
US7013315B1 (en) | 1996-11-13 | 2006-03-14 | Intellisync Corporation | Synchronization of databases with record sanitizing and intelligent comparison |
US7302446B1 (en) | 1996-11-13 | 2007-11-27 | Intellisync Corporation | Synchronizing databases |
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 |
US6925477B1 (en) | 1998-03-31 | 2005-08-02 | Intellisync Corporation | Transferring records between two databases |
US6449291B1 (en) | 1998-11-24 | 2002-09-10 | 3Com Corporation | Method and apparatus for time synchronization in a communication system |
US7007003B1 (en) | 1998-12-04 | 2006-02-28 | Intellisync Corporation | Notification protocol for establishing synchronization mode for use in synchronizing databases |
FR2812736B1 (fr) * | 2000-08-04 | 2003-12-19 | Near Technologies | Systeme de stockage virtuel |
US6831890B1 (en) | 2000-10-31 | 2004-12-14 | Agilent Technologies, Inc. | Measuring network performance parameters in data communication networks |
US6633862B2 (en) * | 2000-12-29 | 2003-10-14 | Intel Corporation | System and method for database cache synchronization across multiple interpreted code engines |
SE0101372L (sv) | 2001-04-18 | 2002-05-21 | Saab Ab | System och metod för tidmatning av data |
US7359920B1 (en) | 2001-04-18 | 2008-04-15 | Intellisync Corporation | Communication protocol for synchronization of personal information management databases |
US6783456B2 (en) * | 2001-12-19 | 2004-08-31 | Scientific Games Royalty Corporation | Methods and systems for conducting lottery-type games with strategy elements |
US7364091B2 (en) | 2003-12-19 | 2008-04-29 | Scientific Games International, Inc. | Embedded optical signatures in documents |
KR20070084102A (ko) | 2004-10-28 | 2007-08-24 | 사이언티픽 게임스 인터내셔널, 아이엔씨. | 가변적 포인트 값을 갖는 징표를 사용하여 기하학적도형상에서 플레이되는 로터리 게임 |
US7662038B2 (en) | 2005-01-07 | 2010-02-16 | Scientific Games International, Inc. | Multi-matrix lottery |
MX2007008299A (es) | 2005-01-07 | 2007-11-09 | Scient Game Royalty Corp | Juego de loteria utilizando temas nostalgicos de juego. |
AU2006205010B2 (en) | 2005-01-11 | 2011-02-10 | Scientific Games Holdings Limited | On-line lottery game in which supplemental lottery-selected indicia are available for purchase |
US8262453B2 (en) | 2005-02-09 | 2012-09-11 | Scientific Games International, Inc. | Combination lottery and raffle game |
US7630924B1 (en) * | 2005-04-20 | 2009-12-08 | Authorize.Net Llc | Transaction velocity counting for fraud detection |
AU2006241192A1 (en) | 2005-04-27 | 2006-11-02 | Scientific Games Holdings Limited | Game apparatus |
US7654529B2 (en) | 2005-05-17 | 2010-02-02 | Scientific Games International, Inc. | Combination scratch ticket and on-line game ticket |
US7846016B2 (en) | 2006-07-12 | 2010-12-07 | Scientific Games International, Inc. | Lottery game with interactive game indicia selection |
US8099538B2 (en) * | 2006-03-29 | 2012-01-17 | Intel Corporation | Increasing functionality of a reader-writer lock |
US8808080B2 (en) | 2010-05-14 | 2014-08-19 | Scientific Games International, Inc. | Grid-based lottery game and associated method |
US8460081B2 (en) | 2010-05-14 | 2013-06-11 | Scientific Games International, Inc. | Grid-based multi-lottery game and associated method |
US20140136733A1 (en) * | 2012-11-13 | 2014-05-15 | UmiCam Incorporated | System and method for the collaborative recording, uploading and sharing of multimedia content over a computer network |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3936604A (en) * | 1970-01-02 | 1976-02-03 | Stromberg-Carlson Corporation | Synchronization of clocks in digital signalling networks |
US4144414A (en) * | 1978-01-23 | 1979-03-13 | Rockwell International Corporation | Network synchronization apparatus |
US4530054A (en) * | 1982-03-03 | 1985-07-16 | Sperry Corporation | Processor-addressable timestamp for indicating oldest written-to cache entry not copied back to bulk memory |
JPS5955553A (ja) * | 1982-09-22 | 1984-03-30 | Fujitsu Ltd | 分散デ−タベ−ス・システムにおけるタイムスタンプ同期方式 |
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 |
US4974166A (en) * | 1987-05-18 | 1990-11-27 | Asyst Technologies, Inc. | Processing systems with intelligent article tracking |
US4807224A (en) * | 1987-08-21 | 1989-02-21 | Naron Steven E | Multicast data distribution system and method |
US5210824A (en) * | 1989-03-03 | 1993-05-11 | Xerox Corporation | Encoding-format-desensitized methods and means for interchanging electronic document as appearances |
-
1990
- 1990-05-23 JP JP2131171A patent/JPH0432940A/ja active Pending
-
1991
- 1991-05-22 EP EP91304640A patent/EP0458623B1/en not_active Expired - Lifetime
- 1991-05-22 DE DE69116428T patent/DE69116428D1/de not_active Expired - Lifetime
- 1991-05-22 US US07/704,581 patent/US5293627A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69116428D1 (de) | 1996-02-29 |
EP0458623A3 (en) | 1993-10-06 |
EP0458623B1 (en) | 1996-01-17 |
EP0458623A2 (en) | 1991-11-27 |
US5293627A (en) | 1994-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0432940A (ja) | 分散データベース・システム | |
Ding et al. | Improving optimistic concurrency control through transaction batching and operation reordering | |
US6938070B2 (en) | Conflict resolution for collaborative work system | |
Arvind | Probabilistic clock synchronization in distributed systems | |
EP2182670B1 (en) | A method and apparatus for tracking clock source | |
EP2378718B1 (en) | Method, node and system for controlling version in distributed system | |
JP2002517035A (ja) | リアルタイムスケジューリングロジックおよび時間確定的アーキテクチャを使用する分散コンピューティング環境 | |
CN101359238A (zh) | 一种多核系统的时间同步方法及系统 | |
Lin et al. | Enhancing edge computing with database replication | |
CN111190935A (zh) | 数据读取方法、装置、计算机设备及存储介质 | |
US20140279897A1 (en) | Using average replication latency to influence routing query transactions | |
CN111160873A (zh) | 基于分布式架构的跑批处理装置及方法 | |
CN110276689B (zh) | 基于动态决策的智能合约实现方法 | |
CN110324262B (zh) | 一种资源抢占的方法及装置 | |
US9733997B2 (en) | Event management method and distributed system | |
EP3905064A1 (en) | Method and apparatus for synchronously replicating database | |
Jiang et al. | Aurogon: Taming Aborts in All Phases for Distributed {In-Memory} Transactions | |
CN113810231B (zh) | 一种日志解析方法、系统、电子设备及存储介质 | |
CN112925807A (zh) | 面向数据库的请求的批处理方法、装置、设备及存储介质 | |
US11995069B2 (en) | Systems and methods for a distributed database to transition between centralized transaction management and global clock transaction management with little to no downtime | |
CN113364864B (zh) | 一种服务器数据同步方法、系统及存储介质 | |
Wu et al. | Guaranteed intrusion removal from monitored distributed applications | |
CN103856536B (zh) | 同步控制方法及同步控制装置 | |
JPH01114964A (ja) | マルチプロセッサシステムにおけるクロック同期方式 | |
JPH02122362A (ja) | 分散データ管理システム |