JPH033258B2 - - Google Patents

Info

Publication number
JPH033258B2
JPH033258B2 JP61242222A JP24222286A JPH033258B2 JP H033258 B2 JPH033258 B2 JP H033258B2 JP 61242222 A JP61242222 A JP 61242222A JP 24222286 A JP24222286 A JP 24222286A JP H033258 B2 JPH033258 B2 JP H033258B2
Authority
JP
Japan
Prior art keywords
block
storage location
request
data
replica
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.)
Expired - Lifetime
Application number
JP61242222A
Other languages
English (en)
Other versions
JPS62126458A (ja
Inventor
Maachin Guratsudonii Henrii
Jefurei Roochi Dagurasu
Ruisu Matsutoson Richaado
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS62126458A publication Critical patent/JPS62126458A/ja
Publication of JPH033258B2 publication Critical patent/JPH033258B2/ja
Granted legal-status Critical Current

Links

Classifications

    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/09Obsolescence
    • 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
    • Y10S707/99954Version management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】
A 産業上の利用分野 本発明は、分散処理システムの複数のノードに
記憶されたデータ・オブジエクトのバージヨン管
理に関するものである。さらに詳細には、本発明
は、分散システムのノードにおけるレプリカの陳
腐化をもたらすデータ・オブジエクトの変更の影
響を管理する方法に関する。 B 従来技術 中央データ・ベースの原始記憶場所にアクセス
するように適合された知能作業端末から構成され
る分散処システムは、ますます多数の適用業務に
利用されつつある。これらの適用業務の多くで
は、特定の作業端末がある原始データ・ベースか
らの単一データ・オブジエクトに何度もアクセス
することが必要である。このため、データ・ベー
スおよびネツトワークを管理するシステムの努力
が何倍も重複して必要である。 この努力の重複を低減するには、頻繁にアクセ
スされるデータ・オブジエクトのレプリカを、か
かるデータ・オブジエクトで使用する作業端末に
維持して、作業端末の応答性を高め、同じオブジ
エクトに対する要求の繰返しを防止することによ
つて通信チヤネルの可用性を向上させ、費用を削
減することが望ましい。しかし、頻繁にアクセス
されるデータのレプリカを維持する作業端末に記
憶装置を使用すると、データ陳腐化の問題が深刻
になる。中央データ・ベース中のデータが変更さ
れた場合、作業端末に記憶されたそのデータのレ
プリカは陳腐化する。したがつて、作業端末で陳
腐化したデータを管理するためのシステムが必要
である。 原始データ・ベースからデータ・オブジエクト
のレプリカを取り出す多数の作業端末を有する分
散処理システムにおいては、原始データ・ベース
のデータ・オブジエクトと個々の作業端末に記憶
されるレプリカとの関係を示すマツピングが相当
複雑になりうる。その場合、原始データ・オブジ
エクトの変更による複数のレプリカに対する影響
を確認することが必要となる。 C 発明が解決しようとする問題点 原始データ・オブジエクトの変更による影響に
関するデータを生成し、個々のレプリカ記憶場所
からのアクセスを可能ならしめる様にそのデータ
を記憶しておく従来の技法は、原始データ・ベー
スの変更毎にそのことをシステムの全てのレプリ
カ記憶場所へ伝えて、レプリカを無効にすること
を含む。個々のレプリカ記憶場所におけるレプリ
カが原始データの変更による影響を受けるか否か
に関係なく全てのレプリカ記憶場所に対して原始
データの変更を伝えるこの技法は、システムにお
いて不必要な通信の量を増すという欠点を有す
る。 D 問題点を解決するための手段 本発明は、所与のトランザクシヨン中、或る記
憶場所においてデータ・オブジエクトに関する一
貫性若しくは整合性を維持する様に、データ・オ
ブジエクトの変更による影響を管理することを意
図している。 本発明の方法は、複数のノードのうちの少なく
とも1つのノードが原始データ・オブジエクトに
アクセスできる原始記憶場所として働き且つ少な
くとも他の1つのノードが原始データ・オブジエ
クトのレプリカを受け取つて記憶するレプリカ記
憶場所として働く様になつている分散処理システ
ムにおいて有用であり、原始データ・オブジエク
トの変更による影響を管理するための次のステツ
プから成る。 (イ) 原始データ・オブジエクトの変更に応じて、
該変更にバージヨン番号を付与し、且つ該変更
による影響を受ける原始データ・ベースの部分
の識別子を生成する。 (ロ) 識別子に応じて、変更による影響を受ける原
始データ・ベースの部分からのデータ・オブジ
エクトを含むレプリカのリストを作成する。 (ハ) 原始記憶場所と通信を行うレプリカ記憶場所
について、リスト内のレプリカに関する不良メ
ツセージ・リストとバージヨン番号とを記録す
る。 E 実施例 これから図面を参照しながら本発明の実施例に
ついて詳しく説明する。第1図は本発明を実施す
るための伝達サブシステムを示し、第2図は斯か
る伝達サブシステムを含む分散処理システムを示
している。残りの図は本発明の実施例の動作シー
ケンスを示している。 (EI) システム概要 第2図は、本発明を実施する通信リンクによ
つて接続されたノードのネツトワークから構成
される汎用分散処理システム1を示したもので
ある。第1図に示した分散処理システム1のノ
ードは、伝達サブシステム5と連絡する複数の
作業端末2,3,4を含んでいる。複数の通信
サブシステムを備えることができる伝達サブシ
ステム5は、さらに原始記憶場所6,7,8と
して働く1つまたは複数のノードと連絡してい
る。もちろん、特定の分散システム1は、作業
端末、伝達サブシステムおよび原始記憶場所を
含めて、任意の数のノードを含むことをができ
る。 作業端末2,3,4は、ふつう、各々1つま
たは複数の提示サービス部9およびデータをユ
ーザに提示するためのビデオ・モニタ15等の
表示システムを備えたコンピユータである。 原始記憶場所6,7,8はふつう、関係デー
タ・ベース等のデータ・ベース10、フレー
ム・ライブラリ、データ・フアイルの集合、ま
たは原始データ・オブジエクトを記憶するその
他のデータ記憶システムを含んでいる。デー
タ・ベース10は、応答生成部11を介して伝
達サブシステム5と連絡している。応答生成部
11は、各データ・ベース10にアクセスし
て、要求に応じて応答メツセージを伝達サブシ
ステム5に供給する。応答メツセージは、1つ
または複数の原始記憶場所6,7,8からの、
または原始記憶場所6,7,8内の1つまたは
複数のデータ・ベース10からのデータ・オブ
ジエクトまたはデータ・オブジエクトの一部分
を含むことができる。ふつう、要求は、ユーザ
入力またはノード制御プログラムに応じて、作
業端末2,3,4またはレプリカ記憶場所で発
生される。 原始記憶場所6,7,8はまた、各データ・
ベース10を維持するエデイタ12を含んでい
る。エデイタは、各データ・ベース10に記憶
されているデータ・オブジエクトについて、更
新、削除、再編成またはその他の編集サービス
を実行する。したがつて、データ・ベース10
に記憶されたデータ・オブジエクトは、時おり
変更を受け、そのためにデータ・オブジエクト
の複数のバージヨンが作成されることがあり得
る。したがつて、作業端末2,3,4から見ら
れるデータ・オブジエクトのレプリカは、所与
の任意の時間の原始データ・オブジエクトの陳
腐化したバージヨンのレプリカであることがあ
り得る。 本発明の好ましい実施例では、伝達サブシス
テム5内に、システム1中に存在するデータ・
オブジエクトの変更の影響を管理する手段が設
けられる。 (E2) 伝達サブシステム 第1図は、本発明の好ましい実施例にもとづ
く伝達サブシステム5のブロツク図である。第
1図に示した伝達サブシステム5は、1つまた
は複数のデータ・ベース(第2図参照)の応答
生成部11と連絡する少なくとも1つの原始記憶
場所30と、1つまたは複数の作業端末の提示
サービス部9と連絡する少なくとも1つのレプ
リカ記憶場所20を含んでいる。第2図には示
してないが、本発明は、レプリカ記憶場所20
等の多数のレプリカ記憶場所をサポートする。
レプリカ記憶場所20は、フレーム伝達インタ
ーフエース21、レプリカ記憶場所のための通
信サービス部22、記憶サービス部23、主記
憶管理部24、キヤツシユ管理部25、および
作業端末キヤツシユ26を含んでいる。 作業端末は、たとえば、ビデオ・モニタ上で
表示するためにデータ・フレームを使用するこ
とができる。したがつて、かかる作業端末の提
示サービス部9は、ビデオ・モニタ上で表示す
るための所与のフレームの必要を満たすため、
原始データ・オブジエクトに対する要求を生成
する手段を含んでいる。フレーム伝達インター
フエース21は、所与の作業端末で提示サービ
ス部9が必要とする形のデータ・オブジエクト
を供給する。また、フレーム伝達インターフエ
ース21は、提示サービス部9からの要求信号
を通信サービス部22に供給し、それが少なく
とも1つの通信リンク27を介して原始記憶場
所30に転送する。通信サービス22はまた、
原始記憶場所30からデータ・オブジエクトの
レプリカを含む応答を受け取り、それをフレー
ム伝達インターフエース21を介して提示サー
ビス部9に供給する。レプリカ記憶場所20で
通信サービス22が受け取つたデータ・オブジ
エクトのレプリカは、要求信号を探索キーとし
て用いて、キヤツシユ管理部25を介して作業
端末キヤツシユ26に記憶される。主記憶管理
部24は記憶管理のパフオーマンスを一層向上
させるために設けられている。 好ましい実施例の作業端末キヤツシユ26
は、要求欄MSG―IDと応答欄MSGを有するテ
ーブルとしても編成されている。要求キー
MSG―IDはデータを要求している提示サービ
ス部によつて生成され、応答MSGは応答生成
部11によつて供給される。このようにして、
作業端末キヤツシユ26は、レプリカ記憶場所
20と連絡する作業端末の提示サービス部9が
迅速にアクセスできるように、共通に使用され
る応答MSGを記憶する。作業端末キヤツシユ
26は、LRI交換アルゴリズム等の周知のキヤ
ツシユ管理体系を使つて管理できる。もちろ
ん、作業端末キヤツシユ26の管理は、特定の
ユーザの要求を満たすように最適化できる。 第1図に示すように、通信サービス部22
は、通信ンク27を介して、伝達サブシステム
5の少なくとも1つのレプリカ記憶場所20と
少なくとも1つの原始記憶場所30との間で、
要求、応答およびその他の情報を伝達するため
の手段を提示する。原始記憶場所30と関連し
て、要求代行受信部31、無効果サーバ32、
無効化管理部33、無効化データ・ベース3
4、サーバ・キヤツシユ管理部35およびサー
バ・キヤツシユ36が設けられている。 要求代行受信部31は、レプリカ記憶場所2
0から供給された要求を代行受信し、それを適
当な応答生成部に供給する。レプリカ記憶場所
20からの要求が、システム内の作業端末キヤ
ツシユ26に記憶することができるデータ・オ
ブジエクトの陳腐化したレプリカの管理を伴う
ものである場合、要求代行受信部31は、その
要求を無効化サーバ32に供給する。無効化サ
ーバ32は、無効化管理部33と連絡して、レ
プリカ記憶場所20からの要求を処理し、作業
端末キヤツシユ26に記憶されているデータ・
オブジエクトのレプリカの陳腐化を判定するた
めの手段である。無効化サーバ32は、作業端
末キヤツシユ26に記憶されているデータ・オ
ブジエクトの陳腐化したレプリカを識別する無
効化管理部33からのメツセージを検索し、そ
れを原子的な、即ち最小単位の要求/応答トラ
ンザクシヨンの形でレプリカ記憶場所20に伝
える。 無効化管理部33は、陳腐化したデータ・オ
ブジエクトのレプリカの識別子のリストを含む
陳腐化データを記憶する無効化データ・ベース
34を維持する。無効化管理部33は、無効化
データ・ベース34を隠し、それを使用して、
レプリカ記憶場所20にある一組の作業端末キ
ヤツシユ26に対する陳腐化を管理する。 無効化データ・ベース34は、表1に示す複
数のテーブルを記憶する。各テーブルに含まれ
ている種々の項目の意義は表1に示されている
とおりである。
【表】 セツトを識別する。
好ましい実施例では、伝達サブシステム5中
の原始記憶場所30は、要求代行受信部31と
連絡するサーバ・キヤツシユ管理部35からサ
ービスを受けるサーバ・キヤツシユ36を含ん
でいる。サーバ・キヤツシユ36は、通信サー
ビス部22を介してシステム内のレプリカ記憶
場所20に送られたデータ・オブジエクトのレ
プリカを記憶するために使用される。サーバ・
キヤツシユ36用のキヤツシユ管理部35は、
LRUアルゴリズムなど各種のキヤツシユ管理
体系を使つて実施できる。サーバ・キヤツシユ
36は、表2に示すような編成である。 表 2 サーバ・キヤツシユ・データ メツセージ(MSG)キヤツシユ・テーブル MSG:RLに送られたメツセージMSG(応答)
のレプリカ。 MSG―ID:メツセージ識別子またはキー。 DATETIME:MSGのバージヨン番号。 MSG―LENGTH:記憶された応答メツセー
ジMSGの長さを識別する。 操作に当つては、レプリカ記憶場所20は、要
求を出しているレプリカ記憶場所のの作業端末2
6に記憶されているデータ・オブジエクトのレプ
リカの陳腐化確認要求を通信サービス22に供給
する。陳腐化確認要求は、具体的なインプリメン
テーシヨンに応じてレプリカ記憶場所20または
レプリカ記憶場所20と関連する個々の作業端末
で生成できる。要求代行受信部31は、データ・
オブジエクトの陳腐化確認要求を、無効化サーバ
32に伝達する。無効化サーバ32は、無効化管
理部33を介して、要求を出しているレプリカ記
憶場所に関係するデータ・オブジエクトの一組の
陳腐化したバージヨンの識別子を抜き出す。つぎ
に、無効化サーバ32は、抜き出した識別子を、
通信リンク23を介して原子的な要求/応答トラ
ンザクシヨンの形で、要求き出しているレプリカ
記憶場所20に伝達する。原子的な要求/応答ト
ランザクシヨンが完了すると、無効化管理部33
は、陳腐化データ・テーブル(不良MSGテーブ
ル及び従属MSGテーブル)を更新して、無効化
データ・ベース34内の要求を出しているレプリ
カ記憶場所に関係する一組の識別子から、伝達さ
れた識別子を除去する。レプリカ記憶場所20
で、伝達された識別子に対応するレプリカは、キ
ヤツシユ管理部25によつてアクセス不能にさ
れ、アクセス不能なレプリカが記憶されていた作
業端末キヤツシユ26内のキヤツシユ・スペース
は、後で記憶に使用できるようになる。 本発明では、レプリカ記憶場所20からの要求
のみに応じて陳腐化データを供給することにより
別々のレプリカ記憶場所20からデータの一貫性
若しくは整合性のないバージヨンを見ることがで
きる。ただし、各レプリカ記憶場所20からは、
その作業端末キヤツシユ26に記憶されたアクセ
ス可能なバージヨンを整合するデータしか見えな
い。本発明に特有のこの整合性の要件のため、原
始記憶場所30が、要求を出しているレプリカ記
憶場所20でアクセス可能なバージヨンと整合し
ないデータ・オブジエクトのバージヨンを、その
レプリカ記憶場所に送るのを防止することが必要
である。 レプリカ記憶場所20が、原始データ・オブジ
エクトMSGに対する要求SG―IDを、通信サービ
ス22に供給するとき、要求代行受信部31は、
その要求を応答生成部11またはサーバ・キヤツ
シユ36に伝達する。原始データ・ベースおよび
サーバ・キヤツシユは、要求を出しているレプリ
カ記憶場所20でアクセス可能なデータ・オブジ
エクトのバージヨンと整合しないデータ・オブジ
エクトを含むことがあり得る。データ・オブジエ
クトの要求に応じて、要求代行受信部31は、レ
プリカ記憶場所でアクセス可能なバージヨンを識
別する無効化サーバ32から得られたバージヨン
番号情報、即ちタイムスタンプを、サーバ・キヤ
ツシユ36または応答生成部11に供給し、した
がつて要求を出しているレプリカ記憶場所と関連
するバージヨン番号と整合する応答が供給され
る。このようにして、レプリカ記憶場所20が作
業端末にいるユーザにデータ・オブジエクトの整
合しない様相を提示することが防止される。 原始データ・ベースの一部が変更される場合、
それ以前に分配されたレプリカは陳腐化する。影
響を受けるレプリカは、原始データの変更に関し
てエデイタから得られる情報に基いて無効化管理
部によつて識別される。原始データの変更に関す
る情報は、その変更が行われたデータ・ベースの
サブセツトを識別するハツシユ・コードを生成す
ることによつて提供される。 各応答生成部は、所与の応答の生成に用いられ
た原始データ・オブジエクトを識別する(必ずし
も排他的である必要はない)ハツシユ・コードの
形で「使用場所」情報を生じる。要求代行受信部
及び無効化管理部は、この情報を応答キーと組合
わせて依存MSGテーブルを作成する。このテー
ブルに基いて、原始データの変更による影響を受
ける一群の応答を計算することが可能である。原
始データのエデイタは、データの変更時には必
ず、変更したデータを識別するハツシユ・コード
を生じる様になつており、このコードに基いて変
更テーブル又は変更MSGテーブルに記憶される
項目が作成される。 変更テーブ及び変更MSGテーブルの作成につ
いては、後で第15図及び第16図を参照して説
明する。依存MSGテーブルの作成については、
後で第14図を参照して説明する。更に、バツド
MSGテーブルに記憶すべき候補レプリカ記憶場
所のリスト、即ち原始データの変更による影響を
受けるレプリカ記憶場所のリストの作成について
は、後で第18A図乃至第18C図を参照して説
明する。 原始データ変更プログラムは応答生成部によつ
て定められる使用場所ハツシユ・コード技法を用
いなればならない。即ち、このプログラムの作成
者は使用される照会及び関連するハツシユ・コー
ド技法についての知識を必要とする。この様な知
識はプログラムの作成者がテーブル・スキーマや
結線図について必要とする知識と同等であり、適
用業務の記述の一部として伝えられるべきテーブ
ル・スキーマについての知識に密接な関係があ
る。 好適な実施例は、応答生成プログラムにおいて
原始データを見つけるために使用される要求の述
語の可変部(又は可変部の或る種の関数)をハツ
シユ・コードについて用いている。例えば、応答
生成部がSQL言語を用いて原始データにアクセ
スすると仮定した場合、次の様な照会に関して、
ハツシユ・コードは、原始テーブルを識別するコ
ードを前に伴つた「値1」を用いて生成される。 SELECT 或るテーブル EROM 原始テーブル WHERE フイールド1=:値1 AND フイールド2=:値2 AND …… 各変更プログラムが変更した各原始エレメント
についてフイールド1の内容を伝えるならば、無
効化管理部は影響を受ける可能性のある全ての応
答を見出す。ユーザはフイールド2又は両フイー
ルドに関連した作業も選択できる。ハツシユ・コ
ードはレプリカの生成に用いられる様に予定され
た原始データ・ベースの特定の部分を識別する。
その部分が、レプリカ記憶場所へのレプリカの返
還後に原始データ・ベースに付加されたものであ
つても、識別可能である。1つの例として、フイ
ールド1が在庫目録中の物品を示し、値1が靴を
示し、フイールド2が物品の色等の特性を示し、
値2が茶色を示し、テーブルにおける他のフイー
ルドが物品の他の特性を示すと仮定する。そし
て、茶色の靴全てについての要求に応じてレプリ
カが供給され、その後新型の茶色の靴についての
データがデータ・ベースに追加される場合、前に
提案した3種類の選択可能なハツシユ・コード構
成は新型の茶色の靴データが記憶されたデータ・
ベースの部分を識別することができる。選択され
たハツシユ・コードの値は、新型の茶色の靴のデ
ータの追加に関連して、編集プログラムにより無
効化管理部へ伝えられる。伝えられたハツシユ・
コードは変更テーブル内の他の類似の項目に加え
られる。不良MSGテーブルが変更されるとき、
変更テーブル及び従属MSGテーブルの結合によ
り、レプリカが陳腐化していることが分かる。 常に使用場所ハツシユ・コードを選択すること
が可能であるから、原始データが変更される場
合、影響を受ける応答が見落とされることはな
い。最悪の場合、コードは原始データ・の集合全
体を選択する。好適な実施例において、コードは
実際に変更さたデータ要素だけを選択するか、あ
まり大きくないデータ・セツトを選択する。 使用場所情報について別の供給源を用いること
も可能である。例えば、オブジエクト記述子を無
効化管理部に伝えたり、あるいは要素とハツシ
ユ・コードのための原始データ識別子との間のア
ルゴリズム関係を無効化管理部へ伝えたりする様
にデータ・ベース管理システムを修正してもよ
い。無効化管理部は或る供給源からの使用場所情
報に依存するが、供給源の性質に関しては制約さ
れない。 テーブルは1つより多くのハツシユ・コードを
持ちうる。この様なことは、異なつた照会がフイ
ールドの非交差セツトに関する述語を用いる場合
に必要となる。複数のハツシユ・コードはデータ
の変更による影響の管理のために多数のデータを
考慮に入れることを必要とするが、結果の値には
影響を及ぼさない。 (E3) 伝達サブシステムの機能的構成要素 つぎに、無効化管理部33内のデータ・オブ
ジエクトの陳腐化したバージヨンの識別子のリ
ストを維持するための好ましい方法の説明を含
めて、伝達サブシステム5の構成要素の動作に
ついて詳しく考察する。 (E3a) 要求代行受信部 要求代行受信部31の動作のフローチヤー
トを第3図に示す。要求代行受信機能31
は、通信サービス22からの入力として、要
求を出している端末に対するレプリカ記憶場
所識別子USER―IDを含むレプリカ記憶場
所20からの要求または要求ストリングを受
け取り、レプリカ記憶場所20用のデータ・
オブジエクトMSGのストリングまたはその
他のメツセージからなる応答を、出力として
通信サービス22に供給する(ブロツク30
1)。 操作に当つては、要求代行受信部31は、
入力ストリングからレプリカ記憶場所識別子
USER―IDを取り出し、PL/1大域変数
MSGSTMPからのレプリカ記憶場所に対す
るカレシンを示す同一性およびタイムスタン
プを確認する(ブロツク302)。つぎに、
サーバ・キヤツシユ36を使用する場合、外
部フラツグがセツトされ、要求代行受信部3
1がフラツグを検査する(ブロツク303)。
好ましい実施例では、常にサーバ・キヤツシ
ユ36を使用する。次に、作業端末からの要
求の接頭部が検査され、それが実際に無効化
サーバに対する要求であるかどうか判定され
る(ブロツク304)。それが無効化サーバ
に対する要求でない場合、その要求は、後で
第4図に関連して説明するデータ要求サブル
ーチンとして処理される(ブロツク305)。
ブロツク304で要求が無効化サーバに対す
る呼び出しであると判定された場合は、無効
化サーバ・サブルーチン(第7図乃至第10
図を参照)が呼び出される(ブロツク30
6)。ブロツク306で無効化サーバ・サブ
ルーチンの呼び出しが不成功の場合、作業は
ロールバツクされ、したがつてその要求をレ
プリカ記憶場所20から再び呼び出すことが
できる(ブロツク307)。ブロツク306
での無効化サーバ・サブルーチンに対する呼
び出しがうまくいつた場合は、要求代行受信
部31が要求を出しているレプリカ記憶場所
に応答を戻す(ブロツク308)。 つぎに、ブロツク305で呼び出された要
求代行受信部内のデータ要求サブルーチンに
ついて、第4図を参照しながら説明する。デ
ータ要求サブルーチンは、原始データ・ベー
スからデータ・オブジエクトのレプリカを検
索し、それをレプリカ記憶場所20に戻す。
最初に、無効化管理部が照会されて、要求を
出しているレプリカ記憶場所で処理中のデー
タの様相を示すカレシン・タイムスタンプが
判定される(ブロツク401)。つぎに、要
求されたデータ・オブジエクトをサーバ・キ
ヤツシユ36から検索する試みが行なわれる
(ブロツク402)。サーバ・キヤツシユに対
するアクセスが機能しないか、またはエラー
に出会つた場合、メツセージはロールバツク
され、要求が再処理できるようになる(ブロ
ツク403)。データ・オブジエクトに対す
る要求が処理中であることを示すため、状況
カウンタがゼロにセツトされる(ブロツク4
04)。状況カウンタは、下記で説明するよ
うに無効化サーバ32が使用する。サブルー
チンは次に、サーバ・キヤツシユに対するア
クセスが成功したかどうか判定する(ブロツ
ク405)。サーバ・キヤツシユに対するア
クセスが成功した場合、応答が要求代行受信
部に戻され(ブロツク409)、要求代行受
信部は要求を出しているレプリカ記憶場所に
応答を戻す(第3図のブロツク308参照)。 サーバ・キヤツシユに対するアクセスで要
求された応答がうまく検索できなかつた場
合、サブルーチンは、所与の伝達サブシステ
ムに関連する応答生成部に対する呼び出しを
行い(ブロツク406)、応答生成部は、要
求を満たす応答を、要求を満たすために用い
られた原始データ・ベースの特定部分を識別
る一組のハツシユ・コードDB―IDと共に戻
す。応答生成部から受け取つたハツシユ・コ
ードDB―IDは、無効化管理部内の従属
MSGテーブルに戻され、特定の対が既にテ
ーブル内にある場合以外は、各ハツシユ・コ
ードDB―IDは、それが応答する要求MSG
―IDと対にされる(ブロツク407)。つぎ
に、希望するなら、応答のレプリカが、応答
のカレンシを示すタイムスタンプと共に、サ
ーバ・キヤツシユに記憶される(ブロツク4
08)。 (E3b) サーバ・キヤツシユ管理部 サーバ・キヤツシユ管理部35は、第5図
および第6図に示すサブルーチンに従つて動
作する。第5図に示したサブルーチンは、呼
び出しに応答して(ブロツク501)、ブロ
ツク502に記述するように、サーバ・キヤ
ツシユ内のMSGキヤツシユ・テーブルから
MSGを検索する。ブロツク502で、サブ
ルーチンは要求された応答メツセージMSG
と、応答の長さMSG―LENGTHおよび応
答に対するバージヨン番号、即ちタイムスタ
ンプDATETIMEを示すデータを検索する。
サブルーチンへの入力項目には、要求MSG
―ID、要求を生成する記憶場所に対するレ
プリカ記憶場所識別子USER―ID、そのレ
プリカ記憶場所が要求を出しているレプリカ
記憶場所から見たデータの不整合を防止でき
るようにすることができる最新のタイムスタ
ンプDATETIMEがある。最新のタイムスタ
ンプDATETIMEは、以下で第13図に関連
して判定されるように、要求を出しているレ
プリカ記憶場所に対する次の1組の不完全な
無効化のタイムスタンプによつて示される。
ブロツク503で、応答取得の成否と失敗の
理由を示すように、戻りコードがセツトされ
る(ブロツク503)。最後に、このルーチ
ンから出て、応答が要求代行受信部に戻され
る(ブロツク504)。 第4図のブロツク408のように、サー
バ・キヤツシユに記憶するために呼び出しに
応答して(ブロツク601)、第6図のサブ
ルーチンは、サーバ・キヤツシユ内のMSG
キヤツシユ・テーブルに記憶されるべき応答
MSGを検査して、それが十分かどうか判定
する(ブロツク602)。応答MSGが十分で
ない場合、サブルーチンから出る。そうでな
い場合は、応答MSG、要求キーMSG―ID、
タイムスタンプDATETIMEおよび応答長
MSG―LENGTHを含むMSGキヤツシユ・
テーブルに入る(ブロツク603)。最後に、
サブルーチンは、サブルーチンがうまくいつ
たかどうか、エラーが発生しなかつたかどう
かを判定する(ブロツク604)。エラーが
あつたか、またはサブルーチンがその他の形
で不成功だつた場合、変更は全てバツクアウ
トされ、不服申し立てメツセージが出される
(ブロツク605)。そうでない場合は、シス
テムから出る(ブロツク606)。 (E3c) 無効化サーバ 第7図乃至第10図に、本発明にもとづく
無効化サーバおよび無効化管理部の動作を示
す。4つの動作モードがある。動作モード
は、「完了」または「未了」にセツトされる
メツセージ・フラツグと、「1」または「0」
にセツトされるカウンタによつて決まる(第
4図のブロツク403参照)。 第7図に示すように、最初のモードでは、
メツセージ・フラツグは「完了」を示し、カ
ウンタはゼロである(ブロツク701)。レ
プリカの陳腐化確認要求に応答するこのモー
ドでは、無効化サービスがゲツト(GET)
サブルーチンを実行する。タイムスタンプが
現在の時間より以前の時点を示す場合、
GETサブルーチンはまず、要求を出してい
るレプリカ記憶場所USER―IDに対する不
良MSGテーブル内のセツトから最初期のタ
イムスタンプDATETIMEをもつサブセツト
を選択する(ブロツク702)。無効化サー
バは、選択されたサブセツトから作業リスト
の開始場所と次に処理される部分を指すポイ
ンタを含む作業リストを作成する(ブロツク
703)。 作業リストを作成すると(ブロツク70
3)、サーバはセンド・サム(SEND
SOME)サブルーチンを実行する。このサ
ブルーチンは、作業リストの最初の部分から
メツセージを組立てる(ブロツク704)。
つぎに、送られるメツセージが、その最初の
部分から組立てられたメツセージに等しく設
定される(ブロツク705)。サーバは次に、
作業リストが最初の部分の使用によつて、使
いつくされたかどうか判定する(ブロツク7
06)。作業リストが使いつくされている場
合、メツセージ・フラツグが「完了」にセツ
トされる(ブロツク704)。作業リストが
使いつくされていない場合は、メツセージ・
フラツグは「未了」にセツトされる(ブロツ
ク708)。つぎに、カウンタが1にゼツト
されて(ブロツク709)、作業リストが、
要求を出しているレプリカ記憶場所に送られ
ている最中であり、したがつて次のステツプ
で、無効化サービスが、作業リストの次の部
分が転送可能であるかどうか検査できること
を示す。最後に無効化メツセージを含む応答
が戻される(ブロツク710)。 第7図に関連して説明したプロセスで示さ
れるような通常の事象シーケンスでは、要求
を出しているレプリカ記憶場所からの次の要
求は、その作業端末キヤツシユ内のデータ・
オブジエクトのレプリカの陳腐化確認要求の
繰り返しであるはずである。この場合、カウ
ンタは1にセツトされており、メツセージ・
フラツグは、第7図のフローチヤートのブロ
ツク701,707および708で示される
ように、「完了」または「未了」にセツトさ
れる。第8図は、メツセージ・フラツグが
「完了」にセツトされるモードを示す。 第8図は、メツセージ・フラツグが、「完
了」を示し、かつカウンタがゼロより大きい
ことを示す場合のモードで働く(ブロツク8
01)。このモードでは、アクノリツジ
(ACKNOWLEDGE)サブルーチンが実行
される。このサブルーチンの最初のステツプ
は、要求を出しているレプリカ記憶場所に対
する不良MSGテーブル内セツトから、最初
期のタイムスタンプを有するサブセツトを削
除する(ブロツク802)。この時点で、最
小単位の要求/応答トランザクシヨンが完了
している。何故ならば、要求を出しているレ
プリカ記憶場所は、そのキヤツシユ内のデー
タの陳腐化に関する追加情報を要求すること
によつて、第7図に関連して説明したプロセ
スで生成されたもつと以前の応答の受取りを
肯定応答し、かつメツセージ・フラツグは、
そのキヤツシユ内のバージヨンの整合性を維
持するためそのレプリカ記憶場所に送られる
情報がもう作業リストにないことを示すから
である。したがつて、陳腐化に関する追加情
報を要求することによつて、要求を出してい
る作業端末はそのキヤツシユに記憶されたデ
ータ・オブジエクトの陳腐化したバージヨン
の削除を承認し、無効化処理部はその情報を
不良MSGテーブルから自由に削除できる。 第8図に示したプロセスの次のステツプ
で、無効化サーバは作業リストを空きに対す
る(ブロツク803)。つぎに、サーバは、
要求を出しているレプリカ記憶場所に対る不
良MSGテーブル内のセツトが追加エントリ
を含むかどうか判定する(ブロツク804)。
現在の時間より以前のタイムスタンプを有す
る、要求を出しているレプリカ記憶場所に対
するセツト中にかかる追加エントリがある場
合、追加エントリは、ブロツク802で削除
されたばかりのサブセツトのタイムスタンプ
よりも後のタイムスタンプを有する。要求を
出しているレプリカ記憶場所に対するセツト
中に追加エントリがある場合、サーバは、第
7図に関連して説明したのと同じやり方で、
ゲツト・サブルーチンおよびセンド・サム・
サブルーチンを実行する(ブロツク805)。
要求を出しているレプリカ記憶場所に対する
不良MSGテーブル内に追加エントリがない
場合は、サーバは、「〃」で示される空きの
セツトに応答をセツトする(ブロツク80
6)。いずれの場合にも、生成された応答は、
つぎに要求を出しているレプリカ記憶場所に
戻される(ブロツク807)。 第7図に示したプロセスに続く第2の状態
を第9図に示す。この状態は、メツセージ・
フラツグが「未了」にセツトされ、カウンタ
がゼロより大きい状態である(ブロツク90
1)。この第3のモードでは、無効化サーバ
はセンド・サム・モア(SEND SOME
MORE)サブルーチンを実行する。このサ
ブルーチンの最初のステツプは、作業リスト
の次の部分からメツセージを組み立てること
である(ブロツク902)。このメツセージ
が生成されるもとになる作業リストは、第7
図のブロツク703で作成された。つぎに、
応答がブロツク902で作成されたメツセー
ジに等しく設定される(ブロツク903)。
つぎに無効化サーバは、作業リストが使いつ
くされているかどうか判定する(ブロツク9
04)。作業リストが使いつくされている場
合、メツセージ・フラツグが「完了」にセツ
トされる(ブロツク905)。このシーケン
スでは、カウンタは変更されない。つぎに、
要求を出している記憶場所に応答が戻される
(ブロツク906)。 第10図は、所与のレプリカ記憶場所のキ
ヤツシユに記憶されたデータの陳腐化確認要
求を、無効化サーバが受け取つたとき、メツ
セージ・フラツグが「未了」にセツトされ、
カウンタがゼロである場合を示したものであ
る。この状態は、要求代行受信部がレプリカ
記憶場所のキヤツシユ内のデータの陳腐化確
認要求以外の要求を受け取る場合に、第7図
に関連して説明したプロセスの実行と第8図
および第9図に関連して説明したプロセスの
実行の間で発生し得る。この場合、第8図お
よび第9図に示したプロセスの実行を阻止す
るため、要求代行受信部は、カウンタをゼロ
にセツトしている(第4図のブロツク403
参照)。 したがつて、第10図に示すプロセスは、
メツセージ・フラツグが「未了」であり、カ
ウンタがゼロのときのものである(ブロツク
1001)。この状態で無効化サーバはリセ
ツト(RESET)サブルーチンを実行する。 第10図に示したリセツト・サブルーチン
は、メツセージ・フラツグを「完了」にセツ
トすることによつて開始する(ブロツク10
02)。つぎに、作業リスト機能に割当てら
れたメモリ記憶場所に対するアドレス・ポイ
ンタを開始位置にセツトすることにより、第
7図のプロセスのブロツク303によつて生
成された作業リストが、リセツトされる(ブ
ロツク1003)。応答は「〃」によつて示
される空きのセツトにセツトされる(ブロツ
ク1004)。つぎに、要求を出しているレ
プリカ記憶場所に空のセツトの応答4が戻さ
れる(ブロツク1005)。 したがつて、第10図に示した場合では、
作業端末キヤツシユに記憶されたデータ・オ
ブジエクトの陳腐化したレプリカを削除する
ためのメツセージを送るためのトランザクシ
ヨンが中断されるとき、不良MSGテーブル
は中断により影響を受けず、既存の作業リス
トがあればリセツトされる。メツセージ・フ
ラツグとカウンタがそれぞれ「完了」および
ゼロにセツトされ、その結果、要求を出して
いるレプリカ記憶場所にあるデータ・オブジ
エクトの陳腐化を判定するため、無効化サー
バに対する次の呼出しが、第7図の示すステ
ツプに従つて処理される。このため、要求を
出しているレプリカ記憶場所で陳腐化してい
るデータ・オブジエクトの最初期のタイムス
タンプに対する作業リストの全体が、確実に
最小単位の要求/応答トランザクシヨンで処
理される。 (E3d) 無効化管理部 無効化管理部33は、無効化データ・ベー
ス34、および無効化サーバ32と原始記憶
場所データ・ベース・エデイタを介して無効
化データ・ベースへのインターフエースを処
理するための仮想マシンとして実施できる。
無効化サーバおよび原始記憶場所と連絡する
ときの無効化管理部の動作を示すサブルーチ
ンを、第11図ないし第17図及び第18A
図乃至第18C図に示す。 第11図は、呼び出されたとき、要求を出
しているレプリカ記憶場所に対するレプリカ
記憶場所識別子USER―IDおよびそのレプ
リカ記憶場所のカレンジを示すタイムスタン
プDATETIMEをPL/1大域変数
MSGSTMPから検索するサブルーチンのフ
ローチヤートを示す(ブロツク1102およ
び1103)。つぎに、レプリカ記憶場所
USER―IDおよびタイムスタンプ
DATETIMEが、両方とも要求側に戻される
(ブロツク1104)。 第12図に示したサブルーチンに対する入
力項目は、現在のレプリカ記憶場所識別子
USER―IDを含んでいる(ブロツク120
1)。このサブルーチンは、ユーザIDテーブ
ルについて、入力されたレプリカ記憶場所識
別子USER―IDを検査する(ブロツク12
02)。テーブルが、レプリカ記憶場所に対
する項目を含まない場合、レコードが挿入さ
れる(ブロツク1203)。ブロツク120
2で説明したステツプで項目が見つからなか
つた場合は、テーブルに変更は加えられな
い。次にサブルーチンは、ユーザIDテーブ
ルの検査が成功しかどうか判定する(ブロツ
ク1204)。成功しなかつた場合、サブル
ーチンはバツクアウトされ、再度アクセスが
要求できるようになる(ブロツク1205)。
テーブルの検査が成功した場合、レプリカ記
憶場所識別子USER―IDおよびタイムスタ
ンプDATETIMEを記憶する大域変数
MSGSTMPが、第13図に示したサブルー
チンを使つて更新される(ブロツク120
6)。 第13図は、識別されたレプリカ記憶場所
に対する大域変数MSGSTMPを更新するた
めのサブルーチンのフローチヤートである。
要求代行受信部がデータの整合しない部分を
レプリカ記憶場所に送るのを防止するため
の、識別されたレプリカ記憶場所に対する最
も古いタイムスタンプ、即ちカレシン・バー
ジヨン番号が戻される。このサブルーチンに
対する入力項目は、レプリカ記憶場所識別子
USER―IDを含んでいる(ブロツク130
1)。つぎに、このレプリカに対する最も古
い項目のタイムスタンプDATETIMEを戻す
ため、不良MSGテーブルが探索される(ブ
ロツク1302)。要求を出しているレプリ
カ記憶場所に対する項目が見つかつた場合
(ブロツク1303)、ルーチンは、このレプ
リカ記憶場所に対する不良MSGテーブル内
の最も古いDAHETIMEが現在の時間を示
す現在のタイムスタンプより古いかどうか判
定する(ブロツク1304)。ブロツク13
03に示したステツプで項目が見つからない
場合は、レプリカ記憶場所に対して返すべき
タイムスタンプは、現在のタイムスタンプに
設定される(ブロツク1305)。同様に、
要求を出しているレプリカ記憶場所に対する
不良MSGテーブル内の最も古い項目のタイ
ムスタンプがレプリカ記憶場所の現在のタイ
ムスタンプより新しい(将来有効となる変更
を示す)場合、返すべきレプリカ記憶場所の
タイムスタンプは現在のタイムスタンプに設
定される。そうでない場合は、不良MSGテ
ーブルから探索されたタイムスタンプが戻さ
れる(ブロツク1306)。 第14図は、従属MSGテーブル内の当該
応答MSGに関するデータを無効化データ・
ベースに記録し、応答MSGを形成するため
に使用された最新のデータ要素のタイムスタ
ンプを判定するサブルーチンを示したもので
ある。このサブルーチンに対する入力は、要
求MSG―ID、および要求MSG―IDに対す
る応答を作成するために使用される原始デー
タ・要素を示す一組のハツシユ・コードDB
―IDである(ブロツク1401)。レコード
を走査して従属MSGテーブルに記入すると
き、サブルーチンは、要求MSG―IDによつ
て識別される応答を組み立てるために使用さ
れた最新のデータ・ベース要素からのタイム
スタンプを保管する(ブロツク1402)。 つぎに、特定の原始データ・ベース要素が
システム内のどこで使用されるかを示す情報
を記録するため、サブルーチンは、ハツシ
ユ・コード・セツト中の各ハツシユ・コード
DB―IDと対になつた要求MSG―IDを、無
効化管理部内の従属MSGテーブルに記録す
る(ブロツク1403)。最後に、システム
は、従属関係を記録した後、従属関係を記録
しようと試みた際に生じた問題を検出し、か
かる問題が検出された場合に不服申し立てを
出しながら、このサブルーチンから出る(ブ
ロツク1404)。 無効化管理部はまた、第4図のブロツク4
08で使用される様に第14図のブロツク1
402で保管された特定の応答を組立てるた
めに使用された最後のデータ・ベース要素の
タイムスタンプを戻すサブルーチン(図示せ
ず)を含んでいる。 第15図に示したサブルーチンは、無効化
管理部内の変更テーブルにデータを挿入する
働きをする。このサブルーチンに対する入力
項目は、原始データ・ベースの、原始エデイ
タの動作に応じて変更される原始データ・要
素およびこのサブジエクト動作によつて影響
される最近の原始データ・項目のタイムスタ
ンプを含む部分を識別する、原始エデイタに
よつて供給されるハツシユ・コードDB―ID
のセツトである(ブロツク1502)。 アクセスされた原始データ・ベースの編成
が、要求MSG―IDが原始データ・ベース内
の要素を識別し、ハツシユ・コードとして使
用できるようになつているとき、第15図に
示したサブルーチンの代りに第16図に示す
サブルーチンが使用される。この場合、サブ
ルーチンに対する入力項目には、影響を受け
た原始データ・オブジエクトを識別する要求
MSG―ID、およびその要求に関連するタイ
ムスタンプが含まれる(ブロツク1601)。
サブルーチンは、ブロツク1601でリスト
された各項目を変更MSGテーブルに挿入す
る(ブロツク1602)。 第17図に示すサブルーチンは、一組の変
更が、不良MSGテーブル内の記録によつて
処理されたことを伝える働きをする。このサ
ブルーチンに対する入力項目はタイムスタン
プである(ブロツク1701)。入力された
タイムスタンプに対する全てのエントリが、
変更テーブルおよび変更MSGテーブルから
除去される(ブロツク1702)。 第18A図乃至第18C図に示すサブルー
チンは、第16ヅおよび第16図に示したサ
ブルーチンによつて作成された変更テーブル
および変更MSGテーブルを使つて、有効な
各レプリカ記憶場所毎に、陳腐化したメツセ
ージの陳腐化のリストを組み立てるためのも
のである。そのリストに対するレプリカは、
レプリカ記憶場所に保持することができる。
第18A図に示すサブルーチンに対する直前
の呼び出し以降にこれらの作業テーブルに記
録された全ての変更は集められて、各セツト
の変更と関連するタイムスタンプによつて識
別される「整合セツト」になる。呼び出しに
応じて(ブロツク1801)、サブルーチン
は変更テーブルおよび変更MSGテーブルの
集まり中の最初期の整合セツトに等しい変更
セツトを定義し、変更セツトに対するタイム
スタンプDATETIMEを決定する(ブロツク
1802)。つぎに、変更セツトによつて影
響される可能性がある全ての応答を見つける
ため、サブルーチンは、変更セツトと従属
MSGを組み合わせて照会を定義する(ブロ
ツク1803)。この照会にもとづいてレコ
ードがループ・オーバーされ、陳腐化してい
る可能性のある候補応答が識別される。各候
補応答は、その要求キーMSG―IDによつて
リストに記録される(ブロツク1804)。 要求キーMSG―IDが、アプリケーシヨン
開発者によりアルゴリズム上ハツシユ・コー
ドDB―IDに関係するように選ばれた場合、
この関係を表わすユーザ出口ルーチンが供給
され、従属MSGの代りに使用でる。または、
両者が共に包括的である限り、マツピングの
組合せがあるものは従属MSGテーブルによ
つて、また別のものは出口ルーチンによつて
供給できる。 ブロツク1804で生成された候補応答リ
ストにもとづいて、各候補応答の古いバージ
ヨンが、サーバ・キヤツシユから探索され
(ブロツク1805)、または、サーバ・キヤ
ツシユがない場合は生成される。つぎに、各
候補応答の新しいバージヨンに対するタイム
スタンプと共に原始データから生成される
(ブロツク1806)。各旧バージヨンおよび
それに対する新バージヨンが比較されて、変
更が発生したかどうか判定される。変更が発
生した場合、要求キーMSG―IDが、変更済
み応答リスクに入力される(ブロツク180
7)。 変更MSGテーブル内の各要求キー毎に、
ユーザIDテーブル内にリストされた各レプ
リカ記憶場所USER―IDに対する不良MSG
テーブルに項目が加えられる(ブロツク18
08)。 ブロツク1807で定義された変更済み応
答リスト内の各要求キー毎に、システムは、
ユーザIDテーブルにリストされた各レプリ
カ記憶場所に対する不良MSGテーブルに、
要求キーMSG―IDおよびタイムスタンプを
加える(ブロツク1809)。 図に示してないが、将来有効となる変更
は、次のようにして不良MSGテーブルに記
録される。ブロツク1804で生成されたリ
ストにもとづき、また以前の不良MSGテー
ブルが現在の変更のタイムスタンプよりも大
きいタイムスタンプに対する項目を含んでい
る場合(将来有効となる変更を示す)、かか
る将来の変更に対する項目が、不良MSGテ
ーブルに加えられる。候補応答リスト内の各
応答キー毎に、上記で識別された新しい応答
が、最も近い将来の変更タイムスタンプに対
する要求キーに応答する値と比較される。こ
の2つの値が異なる場合、指示された将来の
変更タイムスタンプ、およびユーザIDテー
ブルで見つかつた各レプリカ記憶場所USER
―IDに対する項目が、不良MSGテーブルに
加えられる。 また、ブロツク1807で定義した変更済
み応答リスト内の各要求キー毎に、将来有効
となる変更が記録されている場合、システム
は、要求キーMSG―IDを、ユーザIDテーブ
ルにリストされた各レプリカ記憶場所に対す
る最も近い将来の変更タイムスタンプと共に
不良MSGテーブルに加える。 サブルーチンの間に何か問題が発生した場
合、データの損失も防ぐため、サブルーチン
は解除される(ブロツク1810)。 最後に、処理済みの項目が、変更テーブル
および変更MSGテーブルから除外される
(ブロツク1811)。この2つのテーブルが
空でない場合、サブルーチンは、ブロツク1
801に戻り、不良MSGテーブルに記憶さ
れる新しい1組の変更を生成する(ブロツク
1812)。テーブルが空きの場合、記憶管
理は、後で使用できるように作業リストを払
う(ブロツク1813)。 F 発明の効果 以上、プロセツサの分散ネツトワーク全体にわ
たつて、レプリカ記憶場所に対する原始データの
変更を管理し、伝達するための技法を説明した。
本発明は、システム全体にわたつて、個々のレプ
リカ記憶場所におけるデータの一貫性(整合性)
を保持するための、データ・オブジエクトのバー
ジヨン管理をもたらす。これは、原始データ・オ
ブジエクトから応答へマツピングするためのどん
なシステムとも一緒に働く。さらに、陳腐化デー
タを無効化管理部に保持し、且つ原子的な要求/
応答トランザクシヨン・フオーマツトを使用して
いるため、どんなサービス途絶の際にもフエイル
セーフな動作が実現され、且つ諸経費も低くてす
む。 本発明によれば、個々のレプリカ記憶場所及び
個々の作業端末が自律していて、他の記憶場所に
おける活動に関連づけられる必要のない時点にお
いてデータの陳腐化等に関する要求を送る様にな
つている分散処理システムにおいて、種々の原始
データ・ベースを取り扱う伝達サブシステム内で
データの変更による影響の計算を行うことができ
る。又、原始データ・ベースに関する将来の全て
の変更の影響を把握する態様で、応答生成部の照
会述語に基くハツシユ・コードを用いて、原始デ
ータ・ベースと遠隔記憶場所のレプリカとに関す
る複雑なマツピングを効率良く取り扱うことがで
きる。又、原始データ・ベースの変更による影響
を全てのレプリカ記憶場所に伝えることはしてい
ないので、通信量や関連する処理動作は少なくて
すむ。
【図面の簡単な説明】
第1図は本発明を実施するための伝達サブシス
テムのブロツク図、第2図は第1図の伝達サブシ
ステムを含む分散処理システムのブロツク図、第
3図および第4図は伝達サブシステム内の要求代
行受信部の動作を示すフローチヤート、第5図お
よび第6図は伝達サブシステム内のサーバ・キヤ
ツシユ管理部の動作を示すフローチヤート、第7
図乃至第10図は本発明にもとづく伝達サブシス
テム内の無効化サーバの動作を示すフローチヤー
ト、第11図乃至第17図及び第18A図乃至第
18C図は本発明にもとづく伝達サブシステム内
の無効化管理部の動作を示すフローチヤートであ
る。 1…分散処理システム、2,3,4…作業端
末、5…伝達サブシステム、6,7,8,30…
原始記憶場所、9…提示サービス部、10…デー
タ・ベース、11…応答生成部、12…エデイ
タ、15…ビデオ・モニタ、20…レプリカ記憶
場所、21…フレーム伝達インターフエース、2
2…通信サービス部、23…記憶サービス部、2
4…主記憶管理部、25…キヤツシユ管理部、2
6…作業端末キヤツシユ、31…要求代行受信
部、32…無効化サーバ、33…無効化管理部、
34…無効化データ・ベース、35…サーバ・キ
ヤツシユ管理部、36…サーバ・キヤツシユ。

Claims (1)

  1. 【特許請求の範囲】 1 複数のノードのうちの少なくとも1つのノー
    ドが原始データ・オブジエクトにアクセスできる
    原始記憶場所として働き且つ少なくとも他の1つ
    のノードが上記原始データ・オブジエクトのレプ
    リカを受け取つて記憶するレプリカ記憶場所とし
    て働く様になつている分散処理システムにおい
    て、上記原始データ・オブジエクトの変更による
    影響を管理するための下記ステツプ(イ)乃至(ハ)から
    成るデータ・オブジエクト変更管理方法: (イ) 上記原始データ・オブジエクトの変更に応じ
    て、該変更にバージヨン番号を付与し、且つ該
    変更による影響を受ける原始データ・ベースの
    部分の識別子を生成し、 (ロ) 上記識別子に応じて、上記変更による影響を
    受ける原始データ・ベースの部分からのデー
    タ・オブジエクトを含むレプリカのリストを作
    成し、 (ハ) 上記原始記憶場所と通信を行うレプリカ記憶
    場所について、上記リスト内のレプリカに関す
    る不良メツセージ・リストと上記バージヨン番
    号とを記録する。
JP61242222A 1985-11-26 1986-10-14 デ−タ・オブジエクト変更管理方法 Granted JPS62126458A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/801,896 US4714996A (en) 1985-11-26 1985-11-26 Impact calculation for version management in a distributed information service
US801896 1991-12-03

Publications (2)

Publication Number Publication Date
JPS62126458A JPS62126458A (ja) 1987-06-08
JPH033258B2 true JPH033258B2 (ja) 1991-01-18

Family

ID=25182299

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61242222A Granted JPS62126458A (ja) 1985-11-26 1986-10-14 デ−タ・オブジエクト変更管理方法

Country Status (3)

Country Link
US (1) US4714996A (ja)
EP (1) EP0224681A3 (ja)
JP (1) JPS62126458A (ja)

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4897781A (en) * 1987-02-13 1990-01-30 International Business Machines Corporation System and method for using cached data at a local node after re-opening a file at a remote node in a distributed networking environment
JP2624676B2 (ja) * 1987-04-24 1997-06-25 株式会社日立製作所 プログラム世代管理方法
US4897782A (en) * 1987-10-19 1990-01-30 International Business Machines Corporation Local cache structure for maintaining updated file characteristics in a file sharing system
US7072849B1 (en) * 1988-07-15 2006-07-04 International Business Machines Corporation Method for presenting advertising in an interactive service
CA1337132C (en) 1988-07-15 1995-09-26 Robert Filepp Reception system for an interactive computer network and method of operation
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US5136707A (en) * 1988-10-28 1992-08-04 At&T Bell Laboratories Reliable database administration arrangement
US5430876A (en) * 1989-06-27 1995-07-04 Digital Equipment Corporation Remote procedure callback system and method
US5249293A (en) * 1989-06-27 1993-09-28 Digital Equipment Corporation Computer network providing transparent operation on a compute server and associated method
US5187790A (en) * 1989-06-29 1993-02-16 Digital Equipment Corporation Server impersonation of client processes in an object based computer operating system
US5129083A (en) * 1989-06-29 1992-07-07 Digital Equipment Corporation Conditional object creating system having different object pointers for accessing a set of data structure objects
US5129084A (en) * 1989-06-29 1992-07-07 Digital Equipment Corporation Object container transfer system and method in an object based computer operating system
US5057996A (en) * 1989-06-29 1991-10-15 Digital Equipment Corporation Waitable object creation system and method in an object based computer operating system
US5136712A (en) * 1989-06-29 1992-08-04 Digital Equipment Corporation Temporary object handling system and method in an object based computer operating system
US5297283A (en) * 1989-06-29 1994-03-22 Digital Equipment Corporation Object transferring system and method in an object based computer operating system
WO1991004534A1 (fr) * 1989-09-14 1991-04-04 Fujitsu Limited Systeme a base de donnees decentralisee et procede d'execution de l'extraction de donnees destine a celui-ci
US5634048A (en) * 1989-09-14 1997-05-27 Fujitsu Limited Distributed database system having a center system with a link file and a method for retrieving data from same
US5613106A (en) * 1989-09-15 1997-03-18 Motorola, Inc. Method for processing and storing a transaction in a distributed database system
JPH03209526A (ja) * 1989-10-23 1991-09-12 Internatl Business Mach Corp <Ibm> オブジェクト指向コンピュータシステム
US5893117A (en) * 1990-08-17 1999-04-06 Texas Instruments Incorporated Time-stamped database transaction and version management system
US5317729A (en) * 1990-10-24 1994-05-31 International Business Machines Corporation Method for the storage of multi-versioned data with retrieval based on searched query
US5619716A (en) * 1991-11-05 1997-04-08 Hitachi, Ltd. Information processing system having a configuration management system for managing the software of the information processing system
US5357631A (en) * 1991-12-09 1994-10-18 International Business Machines Corporation Method and system for creating and maintaining multiple document versions in a data processing system library
GB2263797B (en) * 1992-01-31 1996-04-03 Plessey Telecomm Object orientated system
US5241675A (en) * 1992-04-09 1993-08-31 Bell Communications Research, Inc. Method for enforcing the serialization of global multidatabase transactions through committing only on consistent subtransaction serialization by the local database managers
US7370008B1 (en) 1992-04-10 2008-05-06 Charles E. Hill & Associates, Inc. Electronic catalog system and method
US5528490A (en) * 1992-04-10 1996-06-18 Charles E. Hill & Associates, Inc. Electronic catalog system and method
GB2269033A (en) * 1992-07-22 1994-01-26 Ibm Controlling data storage to enable garbage collection
GB2273183A (en) * 1992-12-04 1994-06-08 Ibm Replicated distributed databases.
GB2273182A (en) * 1992-12-04 1994-06-08 Ibm Currency period of replicated data objects.
US5555412A (en) * 1992-12-09 1996-09-10 International Business Machines Corporation Complier and method for alias checking in a complier
FR2699708B1 (fr) * 1992-12-22 1995-02-24 Bull Sa Procédé de gestion de fichiers, support d'enregistrement et système informatique l'incorporant.
US5737536A (en) * 1993-02-19 1998-04-07 Borland International, Inc. System and methods for optimized access in a multi-user environment
US5493728A (en) * 1993-02-19 1996-02-20 Borland International, Inc. System and methods for optimized access in a multi-user environment
US5706508A (en) * 1993-04-05 1998-01-06 International Business Machines Corporation System and method for monitoring SNMP tables
US5588147A (en) * 1994-01-14 1996-12-24 Microsoft Corporation Replication facility
US5544325A (en) * 1994-03-21 1996-08-06 International Business Machines Corporation System and method for generating messages for use in transaction networks
US5796999A (en) * 1994-04-15 1998-08-18 International Business Machines Corporation Method and system for selectable consistency level maintenance in a resilent database system
EP0678812A1 (en) * 1994-04-20 1995-10-25 Microsoft Corporation Replication verification
US5937343A (en) * 1994-09-13 1999-08-10 At&T Corp. Method and system for updating replicated databases in a telecommunication network system
US5913160A (en) * 1994-09-13 1999-06-15 At&T Corporation Method and system for updating replicated databases in foreign and home telecommunication network systems for supporting global mobility of network customers
US5696965A (en) * 1994-11-03 1997-12-09 Intel Corporation Electronic information appraisal agent
US6128648A (en) * 1994-11-23 2000-10-03 International Business Machines Corporation Information handling system and method for maintaining coherency between network servers and mobile terminals
US5644768A (en) * 1994-12-09 1997-07-01 Borland International, Inc. Systems and methods for sharing resources in a multi-user environment
US5682527A (en) * 1994-12-22 1997-10-28 Unisys Corporation Method and apparatus for block-level auditing and database recovery in a transaction processing system
US5689705A (en) * 1995-02-13 1997-11-18 Pulte Home Corporation System for facilitating home construction and sales
US5978577A (en) * 1995-03-17 1999-11-02 Csg Systems, Inc. Method and apparatus for transaction processing in a distributed database system
US5784570A (en) * 1995-04-07 1998-07-21 At&T Corp Server for applying a recipient filter and compressing the input data stream based upon a set of at least one characteristics in a multiuser interactive virtual environment
US5918224A (en) * 1995-07-26 1999-06-29 Borland International, Inc. Client/server database system with methods for providing clients with server-based bi-directional scrolling at the server
US5758150A (en) * 1995-10-06 1998-05-26 Tele-Communications, Inc. System and method for database synchronization
SE507482C2 (sv) * 1995-10-09 1998-06-15 Ericsson Telefon Ab L M System och förfarande för kommunikationshantering med redundans
WO1997015885A1 (en) * 1995-10-25 1997-05-01 Open Market, Inc. Managing transfers of information in a communications network
AU1293397A (en) * 1995-12-27 1997-07-28 Tele-Communications, Inc. Billing statement rendering system and method
US5826270A (en) * 1995-12-28 1998-10-20 Csg Systems, Inc. Methods and systems for client or customer-site transaction processing in a distributed database system
US5787441A (en) * 1996-01-11 1998-07-28 International Business Machines Corporation Method of replicating data at a field level
GB9600823D0 (en) * 1996-01-16 1996-03-20 British Telecomm Distributed processing
DE19607149A1 (de) * 1996-02-26 1997-08-28 Siemens Ag Verfahren zum rechnergestützten Abgleich mehrerer, in mindestens einem Rechner gespeicherten Dateikopien einer gespeicherten Datei
US5970471A (en) * 1996-03-22 1999-10-19 Charles E. Hill & Associates, Inc. Virtual catalog and product presentation method and apparatus
US6412017B1 (en) 1996-07-01 2002-06-25 Microsoft Corporation Urgent replication facility
US5787247A (en) * 1996-07-12 1998-07-28 Microsoft Corporation Replica administration without data loss in a store and forward replication enterprise
US5819272A (en) * 1996-07-12 1998-10-06 Microsoft Corporation Record tracking in database replication
US5799321A (en) * 1996-07-12 1998-08-25 Microsoft Corporation Replicating deletion information using sets of deleted record IDs
US5881232A (en) * 1996-07-23 1999-03-09 International Business Machines Corporation Generic SQL query agent
US5919247A (en) 1996-07-24 1999-07-06 Marimba, Inc. Method for the distribution of code and data updates
US5881292A (en) * 1996-09-26 1999-03-09 Microsoft Corporation Dynamic versioning system for multiple users of multi-module software system
US6049809A (en) * 1996-10-30 2000-04-11 Microsoft Corporation Replication optimization system and method
US20060195595A1 (en) 2003-12-19 2006-08-31 Mendez Daniel J System and method for globally and securely accessing unified information in a computer network
WO1998040805A2 (en) * 1997-02-27 1998-09-17 Siebel Systems, Inc. Method of synchronizing independently distributed software and database schema
US6016508A (en) 1997-07-02 2000-01-18 Microsoft Corporation Server-determined client refresh periods for dynamic directory services
US6006331A (en) 1997-07-29 1999-12-21 Microsoft Corporation Recovery of online sessions for dynamic directory services
US6157942A (en) * 1997-08-13 2000-12-05 Microsoft Corporation Imprecise caching of directory download responses for dynamic directory services
US6990458B2 (en) * 1997-08-28 2006-01-24 Csg Systems, Inc. System and method for computer-aided technician dispatch and communication
US6044373A (en) * 1997-09-29 2000-03-28 International Business Machines Corporation Object-oriented access control method and system for military and commercial file systems
US6014667A (en) * 1997-10-01 2000-01-11 Novell, Inc. System and method for caching identification and location information in a computer network
US7209949B2 (en) 1998-05-29 2007-04-24 Research In Motion Limited System and method for synchronizing information between a host system and a mobile data communication device
US6438585B2 (en) 1998-05-29 2002-08-20 Research In Motion Limited System and method for redirecting message attachments between a host system and a mobile data communication device
US6343299B1 (en) 1998-11-16 2002-01-29 International Business Machines Corporation Method and apparatus for random update synchronization among multiple computing devices
US6418456B1 (en) * 1998-11-24 2002-07-09 International Business Machines Corporation Clean-up of files in a network system
US6460048B1 (en) 1999-05-13 2002-10-01 International Business Machines Corporation Method, system, and program for managing file names during the reorganization of a database object
US6532476B1 (en) 1999-11-13 2003-03-11 Precision Solutions, Inc. Software based methodology for the storage and retrieval of diverse information
US6542907B1 (en) * 2000-03-31 2003-04-01 International Business Machines Corporation Method and apparatus for decentralized, invertible generation of bounded-length globally unique replica identifiers
US20020059299A1 (en) * 2000-07-14 2002-05-16 Frederic Spaey System and method for synchronizing databases
US7120675B1 (en) * 2000-09-26 2006-10-10 Microsoft Corporation Information location service
US7225219B2 (en) * 2000-11-29 2007-05-29 Broadspider Networks, Inc. Distributed caching architecture for computer networks
US7054887B2 (en) * 2001-01-30 2006-05-30 Ibm Corporation Method and system for object replication in a content management system
US6918013B2 (en) * 2001-07-16 2005-07-12 Bea Systems, Inc. System and method for flushing bean cache
US20030023898A1 (en) * 2001-07-16 2003-01-30 Jacobs Dean Bernard Layered architecture for data replication
US7571215B2 (en) * 2001-07-16 2009-08-04 Bea Systems, Inc. Data replication protocol
US7409420B2 (en) * 2001-07-16 2008-08-05 Bea Systems, Inc. Method and apparatus for session replication and failover
US7702791B2 (en) * 2001-07-16 2010-04-20 Bea Systems, Inc. Hardware load-balancing apparatus for session replication
US20030046230A1 (en) * 2001-08-30 2003-03-06 Jacobs Dean Bernard Method for maintaining account consistency
US7028030B2 (en) * 2001-08-30 2006-04-11 Bea Systems, Inc. Cluster caching with concurrency checking
US6826601B2 (en) * 2001-09-06 2004-11-30 Bea Systems, Inc. Exactly one cache framework
US7113980B2 (en) * 2001-09-06 2006-09-26 Bea Systems, Inc. Exactly once JMS communication
US6898587B2 (en) * 2002-01-18 2005-05-24 Bea Systems, Inc. System and method for performing commutative operations in data access systems
US7930704B2 (en) * 2002-02-06 2011-04-19 Oracle International Corporation J2EE component extension architecture
US7403996B2 (en) * 2002-02-21 2008-07-22 Bea Systems, Inc. Systems and methods for migratable services
US20030163761A1 (en) * 2002-02-21 2003-08-28 Michael Chen System and method for message driven bean service migration
US7178050B2 (en) * 2002-02-22 2007-02-13 Bea Systems, Inc. System for highly available transaction recovery for transaction processing systems
US7152181B2 (en) * 2002-02-22 2006-12-19 Bea Systems, Inc. Method for highly available transaction recovery for transaction processing systems
US20080046592A1 (en) 2002-06-26 2008-02-21 Research In Motion Limited System and Method for Pushing Information Between a Host System and a Mobile Data Communication Device
US7506342B2 (en) * 2002-07-23 2009-03-17 Bea Systems, Inc. System and method for implementing J2EE connector architecture
US7698434B2 (en) * 2002-08-29 2010-04-13 Bea Systems, Inc. J2EE connector architecture
US7415467B2 (en) * 2003-03-06 2008-08-19 Ixion, Inc. Database replication system
US7251669B1 (en) * 2003-03-31 2007-07-31 Microsoft Corporation System and method for database versioning
US20040230862A1 (en) * 2003-05-16 2004-11-18 Arif Merchant Redundant data assigment in a data storage system
US7152077B2 (en) * 2003-05-16 2006-12-19 Hewlett-Packard Development Company, L.P. System for redundant storage of data
US7761421B2 (en) * 2003-05-16 2010-07-20 Hewlett-Packard Development Company, L.P. Read, write, and recovery operations for replicated data
JP2008512763A (ja) * 2004-09-10 2008-04-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 仮想タイトルを使用する場合に、共有されたコンテンツの冗長的な複製を避けるシステム及び方法
US7925749B1 (en) * 2007-04-24 2011-04-12 Netapp, Inc. System and method for transparent data replication over migrating virtual servers
US7996360B2 (en) * 2008-06-27 2011-08-09 International Business Machines Corporation Coordinating updates to replicated data
CN104216955B (zh) * 2014-08-20 2017-12-26 百度在线网络技术(北京)有限公司 一种操作数据及管理事务的方法、装置及分布式系统
US9792108B2 (en) 2015-08-12 2017-10-17 Comcast Cable Communications, Llc Scheme for managing last-modified information
US10262034B2 (en) 2016-06-09 2019-04-16 International Business Machines Corporation Managing data obsolescence in relational databases

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4432057A (en) * 1981-11-27 1984-02-14 International Business Machines Corporation Method for the dynamic replication of data under distributed system control to control utilization of resources in a multiprocessing, distributed data base system
US4620276A (en) * 1983-06-02 1986-10-28 International Business Machines Corporation Method and apparatus for asynchronous processing of dynamic replication messages
JPS59225473A (ja) * 1983-06-06 1984-12-18 Hitachi Ltd 分散フアイル制御方式
US4558413A (en) * 1983-11-21 1985-12-10 Xerox Corporation Software version management system

Also Published As

Publication number Publication date
JPS62126458A (ja) 1987-06-08
US4714996A (en) 1987-12-22
EP0224681A2 (en) 1987-06-10
EP0224681A3 (en) 1991-02-27

Similar Documents

Publication Publication Date Title
JPH033258B2 (ja)
US4714992A (en) Communication for version management in a distributed information service
US20200167370A1 (en) Maintaining a relationship between two different items of data
US20200081879A1 (en) Persistent data storage techniques
JP5171932B2 (ja) カスタマのアクティビティを統合、管理、および調整するためのシステムおよび方法
JP3606542B2 (ja) 基礎データの変更がオブジェクトにどのように影響するかの判定方法およびプログラム記憶装置
US6178425B1 (en) Method of determining the visibility to a remote database client of a plurality of database transactions using simplified visibility rules
JP4593793B2 (ja) 問合せ可能なダイナミック・キャッシュを有するウェブサーバ
US6216135B1 (en) Method of determining visibility to a remote database client of a plurality of database transactions having variable visibility strengths
US6353833B1 (en) Caching of distributed dynamic SQL statements in a multiple node RDBMS
US20030135523A1 (en) Method of using cache to determine the visibility to a remote database client of a plurality of database transactions
CN101263492A (zh) 透明地存档
JP5984355B2 (ja) 分散型データベースシステムおよび分散型データ処理システム
JP2002169718A (ja) 持続的データ記憶技術
Gladney Data replicas in distributed information services
US7213020B1 (en) Methods and system for facilitating updating of data in a database by a data access system
JPH06290098A (ja) 分散データベース処理方法
CA2249059C (en) Caching of distributed dynamic sql statements in a multiple node rdbms
Manassiev et al. Scalable database replication through dynamic multiversioning.
JP2017010569A (ja) 分散型データベースシステムおよび分散型データ処理システム
CN116955494A (zh) 一种数据处理方法、装置、电子设备及存储介质
Sze et al. A Model for Evaluating and Comparing Materialized View Maintenance Algorithms

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees