[go: up one dir, main page]

JP2000132443A - コンピュータ、情報共有システム、及びレプリカ同一性保持方法 - Google Patents

コンピュータ、情報共有システム、及びレプリカ同一性保持方法

Info

Publication number
JP2000132443A
JP2000132443A JP10301007A JP30100798A JP2000132443A JP 2000132443 A JP2000132443 A JP 2000132443A JP 10301007 A JP10301007 A JP 10301007A JP 30100798 A JP30100798 A JP 30100798A JP 2000132443 A JP2000132443 A JP 2000132443A
Authority
JP
Japan
Prior art keywords
change
replica
data
change request
request
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.)
Granted
Application number
JP10301007A
Other languages
English (en)
Other versions
JP3578385B2 (ja
Inventor
Yasushi Negishi
康 根岸
Aaja Mohan
モハン・アージャ
Kazuya Tago
和哉 田胡
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
Priority to JP30100798A priority Critical patent/JP3578385B2/ja
Priority to IL13171099A priority patent/IL131710A/en
Priority to KR1019990039168A priority patent/KR100359960B1/ko
Priority to CN99120897A priority patent/CN1114869C/zh
Priority to US09/425,559 priority patent/US6571278B1/en
Priority to TW088118127A priority patent/TW505852B/zh
Publication of JP2000132443A publication Critical patent/JP2000132443A/ja
Application granted granted Critical
Publication of JP3578385B2 publication Critical patent/JP3578385B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • 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
    • 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/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】レプリカ更新時における通信効率を改善し、メ
モリ使用量を削減する。 【解決手段】共有データのレプリカを有し、データ変更
を他のコンピュータと相互に通知しあうことによりレプ
リカの内容の同一性保持を図るコンピュータであって、
他のコンピュータからレプリカ内のデータの変更要求を
受信する手段と、変更要求の受信順番にかかわらず、受
信した変更要求によるレプリカの更新実行のタイミング
を、変更要求に含まれる情報を用いて、変更要求の受信
毎に制御する制御手段とを有する。よって、変更要求の
受信順番、すなわち、他のコンピュータの送信順番とは
無関係に、変更要求によるレプリカの更新実行のタイミ
ング/順序を決定できる。さらに、例え変更要求がその
生成順に受信されなくとも、実行できる変更要求を判別
且つ実行することができるので、より処理効率も高くな
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、各コンピュータが
共有データのレプリカを有し、データ変更をコンピュー
タ相互に通知しあうことによりレプリカの内容の同一性
を保持するシステムに関し、より詳しくは、レプリカ更
新動作の順序制御に関する。
【0002】
【従来の技術】従来の情報共有システムでは、以下のよ
うな方法でレプリカの更新の順序が決定されていた。 (1)コンピュータ間の通信回線が常に接続されている
ことを前提とする情報共有システムの場合、データの更
新を、当該更新が発生する度に通知しあう機構を有して
いることが多い。この場合、レプリカの更新はデータ変
更が起きるたびに変更の順序と同じ順序で行われること
が保証される。以下、このような順序をFIFO順序と
呼ぶ。しかし、オフィス等に設置されたコンピュータ内
のデータを、オフィス外で携帯端末に取り込み、閲覧・
編集するような場合も存在する。この携帯端末等の場合
によく用いられる無線公衆回線は、通常のLAN(Loca
l Area Network)と比較すると回線の品質が悪く、パケ
ット転送の失敗が頻繁に起こる。一般に転送順序に関す
る制約が強ければ強いほど、転送オーバーヘッドも大き
くなる。最も強い制約を伴うFIFO順序での転送は、
大きな転送オーバーヘッドがかかる。無線公衆回線は回
線使用料も高価なので、この転送オーバーヘッドは大き
な問題である。 (2)Lotus Notes(Lotus社の商標)のよう
な、回線の非接続時の操作を仮定した情報共有システム
では、レプリカの更新は、バッチ処理のように全ての更
新が一括して行われる。このようなシステムでは、更新
中データにアクセスできない。通信回線の切断等により
レプリカの更新が途中で中断された場合、更新の順序は
一般に不定である。すなわち、更新がどこまで実行され
たか分からなくなってしまう。
【0003】EP0794646(特開平9−2464
2号)は、以下の事項を開示している。移動通信ネット
ワークを介して接続可能な複数のコンピュータ・システ
ム上に保持される、共用データ・ファイルのコピーを管
理するデータ管理システムであって、当該データ管理シ
ステムは、共用データ・ファイルの各コピーに関連付け
られ、そのコピーに対して実行される変更の記録を保持
するロギング手段と、移動通信ネットワークへの接続を
介して、共用データ・ファイルの他のコピーに対して保
持される記録を取り出すための取り出し手段と、取り出
された記録を併合し、変更の順序を生成する併合手段
と、予め定義された規則を変更順序に適用し、変更順序
内での衝突を解決する衝突解決手段と、衝突解決済みの
変更順序にもとづき、共用ファイルのコピーを変更する
手段とを含む。なお、ここでいう衝突とは、同一の版の
データに対して並列に行われる複数のデータ変更を意味
すると考えられる。また、衝突の解決とは、衝突を生じ
ている複数のデータ変更を一定の順番に並べ直すことを
意味すると考えられる。このシステムは変更の衝突を解
決するためのシステムであり、変更の衝突を解決するた
めには衝突が発生したか否か判断する時までに全ての変
更に関する情報がそろっていなければならない。すなわ
ち、変更の衝突を解決した後でなければ、共用ファイル
のコピーを変更することができない。よって、1つでも
変更に関する情報を取得できなければ変更処理を実行す
ることはできない。また、受信した変更に関する情報を
記憶するためのメモリについての負担も大きくなる。こ
れは携帯端末のように通信に使用できるメモリ容量が少
ない場合には大きな問題となる。さらに、メモリ容量が
足りないために行われる再送の問題も生じる。
【0004】
【発明が解決しようとする課題】以上のように従来技術
では、レプリカの更新の際の通信効率、メモリ使用量、
及び途中で通信回線が切断した時の処理に問題があっ
た。
【0005】よって、本発明の目的は、レプリカの更新
の際の通信効率を改善する方法及び装置を提供すること
である。
【0006】また、レプリカの更新の際のメモリ使用量
を削減する方法及び装置を提供することも目的である。
【0007】さらに、レプリカの更新のための通信が途
中で切断された場合であっても、変更要求によるレプリ
カの更新がどこまで実行されたか確認することができる
方法及び装置を提供することも目的である。
【0008】さらに、レプリカ更新の順序を明示的に指
定できるようにすることも目的である。
【0009】
【課題を解決するための手段】本発明は、共有データの
レプリカを有し、データ変更を他のコンピュータと相互
に通知しあうことによりレプリカの内容の同一性保持を
図るコンピュータであって、他のコンピュータからレプ
リカ内のデータの変更要求を受信する手段と、変更要求
の受信順番にかかわらず、受信した変更要求によるレプ
リカの更新実行のタイミングを、変更要求に含まれる情
報を用いて、変更要求の受信毎に制御する制御手段とを
有する。変更要求の受信順番、すなわち、他のコンピュ
ータの送信順番とは無関係に、変更要求によるレプリカ
の更新実行のタイミングを決定できるため、通信効率も
改善され且つメモリ使用量も削減される。
【0010】上記の変更要求に含まれる情報は、変更順
番の指定なし(実施例におけるオーディナリ)、当該変
更要求より前の全ての変更要求を前記レプリカに反映し
た後に当該変更要求によるレプリカの更新を実行すると
いう第1の指定(実施例におけるフォワード・フラッシ
ュ)、当該変更要求より後の変更要求を当該変更要求に
よるレプリカの更新実行の後に実行するという第2の指
定(実施例におけるバックワード・フラッシュ)、又は
当該変更要求より前の全ての変更を前記レプリカに反映
した後に当該変更要求によるレプリカの更新を実行し且
つ当該変更要求より後の変更要求を当該変更要求による
レプリカの更新実行の後に実行するという第3の指定
(2ウエー・フラッシュ)を含むようにすることができ
る。このようにレプリカ更新の順序を明示的に指定する
こともできる。
【0011】上記の変更要求に含まれる情報は、これま
でに生成された、第2又は第3の指定を含む変更要求の
数(第1の数:実施例におけるBT数)、及び最後に第
2又は第3の指定を含む変更要求が生成された後に生成
された変更要求の数(第2の数:実施例におけるSBT
数)、をさらに含むようにすることも考えられる。この
ようにすると、途中で通信回線が切断されてもどの変更
要求まで、受信され且つ更新を実行されたか確認できる
機構を構築することができるようになる。
【0012】また、上記制御手段は、第1及び第2の数
にそれぞれ対応し、レプリカの更新実行のタイミングを
規定する第1及び第2の管理値(実施例における処理中
BT数及び処理中SBT数)を保持するようにすること
も可能である。より簡単に更新実行のタイミングを決定
できるようになる。
【0013】さらに、上記制御手段は、変更要求による
レプリカの更新が実行された場合に、当該変更要求に含
まれる第1及び第2の数を第3の数及び第4の数(実施
例では応答予定BT数及び応答予定SBT数)として記
憶するように構成することも可能である。さらに、上記
のコンピュータが、他のコンピュータへレプリカ内のデ
ータの変更要求を送信する手段をさらに含み、上記制御
手段は、送信する変更要求に、第3の数及び第4の数を
含ませるように構成することも考えられる。このように
すれば、通信回線が途中で切断された場合であっても、
送信元はどの変更要求を再送すればよいか判断すること
ができ、さらに、送信元はどの変更要求を破棄してもよ
いかということを判断することも可能になる。
【0014】以上は受信側のコンピュータの構成であっ
た。送信側のコンピュータは、レプリカ内のデータの変
更を命令し、当該データの変更に対して変更順序に関す
る情報を指定する手段と、データの変更の命令に対応し
且つ変更順序に関する情報を含む変更要求を生成する手
段と、変更要求の生成順序と送信順序の一致を保証しな
いような態様で、変更要求を送信する手段とを有する。
このようにデータの変更ごとに変更順序に関する情報を
明示的に指定し、受信側でその情報を使用可能なように
変更要求に含めて送る。また、通信効率を上げるため、
変更要求の生成順序と送信順序の一致を保証しないよう
な態様で送信する。途中で回線が切断され、再接続及び
再送するような場合も含む。
【0015】上記変更要求は、上で述べた変更要求に含
まれる情報と同一の情報を含むようにすることも可能で
ある。
【0016】また、上記コンピュータは、他のコンピュ
ータからレプリカ内のデータの変更要求を受信する手段
をさらに含み、受信した変更要求が、送信した変更要求
によるレプリカの更新が送信先の他のコンピュータで実
行されたことを示す応答情報(実施例では応答予定BT
数及び応答予定SBT数)を含むように構成することも
できる。これにより、再送する必要の無い変更要求を確
定することができる。すなわち、応答情報を参照して、
送信した変更要求を削除するか判断する手段をさらに含
むようにすることができる。
【0017】1つのコンピュータは以上述べた送信側及
び受信側双方の構成を有することも可能であり、且つそ
のようなコンピュータにより情報共有システムを構築す
ることもできる。
【0018】以上はコンピュータの装置構成を示したわ
けであるが、以上のようなコンピュータにおいて実施さ
れる処理は、プログラムとして実施することも可能であ
る。この場合、プログラムは、フロッピーディスクやC
D−ROM、その他の記憶媒体に記憶される。
【0019】
【発明の実施の形態】図1に本発明の情報共有システム
全体の構成図を示す。情報共有システム100は、コン
ピュータA(1)及びコンピュータB(3)から構成さ
れている。コンピュータの数は2に限定されないが、以
下の説明を分かりやすくするためにここでは2つである
とする。また、本発明に係る構成要素はコンピュータA
(1)及びコンピュータB(3)で同一であり、図1で
は代表してコンピュータA(1)に各構成要素を示して
いる。各コンピュータは、1以上のアプリケーション5
とレプリカ・コントローラ7と送信キュー9と受信キュ
ー11とパケット送信機13とパケット受信機15とデ
ータ格納装置17とを含む。
【0020】アプリケーション5は、レプリカ・コント
ローラ7に対して、データの生成、検索、参照、及び削
除等の処理の要求を行う。そして、このデータの生成及
び削除等、データを変更する要求の際には、レプリカの
更新順序の指定を行う。本発明におけるレプリカの更新
順序の指定は、オーディナリ(Ordinary)、フォワード
・フラッシュ(Forward Flush)、バックワード・フラ
ッシュ(Backward Flush)、2ウエー・フラッシュ(Tw
o way Flush)のいずれかである。データの変更以外の
アクセスは、通常のデータベースのアクセスと同じであ
るから、詳しい説明は省略する。
【0021】オーディナリは、当該変更の際に、対応す
るレプリカの更新順序に関する制約はないということを
示すためのものである。フォワード・フラッシュは、当
該データ変更に対応したレプリカの更新は、この変更以
前に行われた全ての変更をレプリカに反映させた後に行
うということを示すためのものである。バックワード・
フラッシュは、当該データ変更より後のデータ変更は、
この変更をレプリカに反映させた後に、レプリカに反映
するということを示すためのものである。2ウエー・フ
ラッシュは、フォワード・フラッシュ及びバックワード
・フラッシュの両方の制約を指定するためのものであ
る。メッセージ送信/受信の順序の指定という点では、
上記のような4種類の指定は、例えば "An Implementat
ion of F-channels," Mohan Ahuja, IEEE Transactions
on Paralell and Distributed Systems, Vol. 4, No.
6, June 1993. に記載されている。しかし、この論文は
その内容の情報共有システムへの適用は何ら記載も示唆
もしていないし、以下に述べる送信キュー及び受信キュ
ーに係る部分などを何ら記載も示唆もしていない。
【0022】レプリカ・コントローラ7は、アプリケー
ション5からのアクセス要求に基づき、データ格納装置
17中のデータへのアクセス、及び送信キュー9へのパ
ケット送信要求の追加を行う。さらに、受信キュー7の
状態を参照して、受信キュー11内に格納されている変
更要求に対応して、レプリカの更新を指定のタイミング
で実行する。レプリカ・コントローラ7は、データ格納
装置17へのアクセスを行う部分と、アクセスの内容等
を指示する部分とに分けることも可能である。本発明
は、複数のアプリケーション5による衝突、及びアプリ
ケーション5によるデータの変更と受信キュー11内の
データ変更要求との衝突は取り扱わず、アプリケーショ
ン5によるデータ変更の実行と受信キュー11内のデー
タ変更要求の実行とは、独立に実施されるものとして扱
う。もし、衝突の問題が生じた場合には、従来技術の手
法を用いて解決しても、いずれかを無視してもよい。
【0023】データ格納装置17は、レプリカを格納し
ており、通常のデータベースと同様の機能を有してい
る。すなわち、レプリカ・コントローラ7からの要求に
従って、データの作成、検索、参照、及び削除等を行
う。
【0024】送信キュー9は、パケット送信要求を管理
するためのキューである。パケット送信要求は、アプリ
ケーション5により実施されたデータ変更の種類及び内
容、更新順序の指定、送信要求作成時のBT数及びSB
T数を含む。このBT数及びSBT数は、キューを管理
するためのデータとして、送信キュー9に含まれる。B
T数は、これまでにアプリケーション5から受けたデー
タ変更(データ変更要求とも言う)であって、更新順序
の指定がバックワード・フラッシュ又は2ウエー・フラ
ッシュであるデータ変更の数であり、レプリカ・コント
ローラ7が管理する。SBT数は、最後にバックワード
・フラッシュ又は2ウエー・フラッシュの指定があった
データ変更から現在までのデータ変更の数であり、同じ
くレプリカ・コントローラ7が管理する。
【0025】また、その他の情報としては、ここではコ
ンピュータB(3)において受信され且つレプリカの更
新実行がなされた最新のデータ変更に係るBT数を管理
するための応答確認済みBT数と、同じくコンピュータ
B(3)において受信され且つレプリカの更新実行がな
された最新のデータ変更に係るSBT数を管理するため
の応答確認済みSBT数を含む。これらの情報は、パケ
ット受信装置15により管理される。
【0026】受信キュー11は、受信したが更新処理を
完了していないパケット中の変更要求を管理するための
キューである。変更要求の他に、現在実行可能な変更要
求のBT数である処理中BT数及び現在実行可能な変更
要求のSBT数である処理中SBT数、レプリカ・コン
トローラ7が実行した最新の変更要求に含まれるBT数
を表す応答予定BT数及びレプリカ・コントローラ7が
実行した最新の変更要求に含まれるSBT数を表す応答
予定SBT数とがある。これらは、レプリカ・コントロ
ーラ7により管理される。
【0027】パケット送信機13は、送信キュー9及び
受信キュー11を監視し、必要なパケットを生成して、
通信媒体19にパケットを送信する。パケット送信機1
3は、送信キュー9に格納されている送信要求を順次送
信するが、従来技術のように送信キュー9内の順番(生
成順番)でコンピュータB(3)が受信することを保証
しない様な態様で送信する。すなわち、送信要求の生成
順番で1つのパケットが受信されるのを確認した後に次
のパケットを送信するわけではなく、次々に送信してゆ
き、送信先のコンピュータB(3)が受信に失敗した場
合には、受信に失敗したパケットを再送する。又は、受
信し且つ更新処理が実施されるということが分かるま
で、同じパケットを何度も送信するようにしてもよい。
その際には、応答確認済みBT数及び応答確認済みSB
T数を使用するとよい。また、送信順番は、送信要求の
生成順番に全く無関係になっていてもよい。
【0028】パケット送信機13は、送信キュー9のパ
ケット送信要求を1つ選び、受信キュー11内の応答予
定BT数及び応答予定SBT数と共に、パケットを作成
して送信する。応答予定BT数及び応答予定SBT数
は、送信先であるコンピュータB(3)の送信キューに
格納されている応答確認済みBT数及びSBT数を変更
するために用いられる。なお、送信すべき送信要求が送
信キュー9に無い場合には、応答予定BT数及び応答予
定SBT数のみを送信する。
【0029】パケット受信機15は、パケットを受信
し、パケットの内容、送信キュー、及び受信キューの状
態を参照して、送信キュー及び受信キューの更新を行
う。すなわち、受信したパケットの応答予定BT数及び
応答予定SBT数を用いて、送信キュー9の応答確認済
みBT数応答確認済みSBT数を更新する。この更新
は、応答予定BT数>応答確認済みBT数であれば、応
答確認済みBT数及び応答確認済みSBT数を応答予定
BT数及び応答予定SBT数でそれぞれ更新する。も
し、応答予定BT数=応答確認済みBT数であれば、応
答予定SBT>応答確認済みSBTかどうか判断する。
もし、この条件が満たされれば、応答確認済みSBTを
応答予定SBTで更新する。以上の条件以外の場合に
は、応答確認済みBT及びSBTの更新は行わない。
【0030】受信したパケットには、重複が存在するか
もしれない。よって、パケット受信機15は、受信した
パケットの変更要求に含まれれるBT数及びSBT数を
参照して、受信キュー9に既に格納されている変更要求
で同じBT数及びSBT数の変更要求が存在する場合に
は、後から送られてきたパケット内の変更要求を破棄す
る。
【0031】さらに、受信したパケットに係る変更要求
を既に実行してしまった場合も存在する。よって、受信
キュー11を参照して、応答予定BT数より小さいBT
数を含む変更要求、及び応答予定BT数と同じBT数を
含む変更要求であって応答予定SBT数より小さいSB
T数を含む変更要求を破棄する。
【0032】なお、応答確認済みBT≧送信要求内のB
T、又は応答確認済みBT=送信要求内のBT且つ応答
確認済みSBT≧送信要求内のSBTとなっている送信
要求は送信キュー9から削除することができる。この削
除を実行するのは、パケット受信機15又はパケット送
信機13のいずれでもよい。
【0033】また、受信したパケットに係る変更要求の
BT及びSBTを参照して、受信キュー11内の変更要
求の順番をSB及びSBTの小さい順で並び替える動作
を行うが、これもパケット受信機15又はレプリカ・コ
ントローラ7のいずれが実施してもよい。
【0034】通信媒体19は、無線でも有線でも構わな
い。また、これらの組み合わせでもよい。本発明の特徴
として、信頼性の低いネットワークを介しての通信でも
対処することができる。
【0035】以上説明したBT数、SBT数、応答予定
BT数、応答予定SBT数、応答確認済みBT数、及び
応答確認済みSBT数の関係及び更新について、図2を
用いてまとめておく。
【0036】図2では、コンピュータA(1)の受信キ
ュー11A(AはコンピュータA内の構成要素であるこ
とを示す。同じくBはコンピュータB内の構成要素であ
ることを示す)に格納されたパケット1に係る変更要求
をレプリカ・コントローラ7Aが実行したところからの
動作を示している。変更要求を実行するとレプリカ・コ
ントローラ7は、受信キュー11Aの応答予定BT数及
び応答予定SBT数をパケット1のBT数及びSBT数
で変更する(ステップ1000)。この更新された応答
予定BT数及び応答予定SBT数は、コンピュータA
(1)が次にコンピュータB(3)に送信すべく送信キ
ュー9A内に用意しているパケット2に取り込まれる
(ステップ1100)。パケット送信機13Aがこのパ
ケット2を送信すると(ステップ1200)、コンピュ
ータB(3)のパケット受信機15Bがこれを受信し、
パケット2'として受信キュー11Bに取り込む。ここ
で、パケット受信機15Bは、上で述べたように、パケ
ット2'内の変更要求に係る応答予定BT数及び応答予
定SBT数により、送信キュー9Bの応答確認済みBT
数及び応答確認済みSBT数を更新すべきかを判断す
る。ここでは、上で述べた条件のいずれかが満たされた
として、応答確認済みBT数及び応答確認済みSBT数
は更新される(ステップ1300)。今度は、応答確認
済みBT数と送信キュー9B内の変更要求のBT数、応
答確認済みSBT数と送信キュー9B内の変更要求のS
BT数が比較され(ステップい1400)、両者共に一
致するパケット1'が破棄される(ステップ150
0)。このように、送信キュー9Bからパケット1'が
破棄されると、二度とコンピュータA(1)に送信され
なくなる。
【0037】次に、図3乃至図6を用いてレプリカ・コ
ントローラ7が受信キュー11内の変更要求をいかに実
行していくか、について説明する。まず、図3を用いて
BT数とSBT数の付け方について説明しておく。図3
では、変更要求に含まれる更新順序の指定がオーディナ
リである場合にはO、バックワード・フラッシュの場合
にはB、2ウエー・フラッシュの場合にはT、フォワー
ド・フラッシュの場合にはFと記している。また、各指
定における出現順番を添字にしている。最初は、BT数
及びSBT数とも0で初期化されている。そして、
(1)でアプリケーション5がオーディナリを指定する
と、データ変更O1には(0,0)が付される。なお(B
T,SBT)である。そうすると、SBT数は1インクリメ
ントされる。(2)で、再度オーディナリが指定される
と、データ変更O2には(0,1)が付される。これに
よりSBT数はさらに1インクリメントされる。よっ
て、(3)でバックワード・フラッシュが指定される
と、データ変更B1には(0,2)が付される。バック
ワード・フラッシュが発生するとSBT数はクリアさ
れ、BT数が1インクリメントされる。
【0038】(4)で2ウエー・フラッシュが指定され
ると、データ変更T1には(1,0)が付される。2ウ
エー・フラッシュが指定された場合も、SBT数をクリ
アして、BT数を1インクリメントする。(5)でオー
ディナリが指定されると、データ変更O3には(2,
0)が付される。この指定によりSBT数は1インクリ
メントされる。(6)でさらにオーディナリが指定され
ると、データ変更O4には(2,1)が付される。さら
にSBT数は1インクリメントされる。(7)でフォワ
ード・フラッシュが指定されると、データ変更F1には
(2,2)が付される。定義より、SBT数は1インク
リメントされる。
【0039】図3のようなデータ変更要求を含むパケッ
トがパケット送信機13から送信され、コンピュータB
(3)で受信された場合の処理を、図4を用いて説明す
る。パケット受信機15Bがパケットを受信した順番
は、図4に示すように、O1,B1,O2,T1,O4
1、O3の順である。但し、図4の例では1つずつデー
タ変更要求を受信し、処理していくものとする。もし、
複数のデータ変更要求が受信キュー11Bに貯まった場
合には、上で述べたようにBT数及びSBT数の小さい
順にデータ変更要求を並び替える。図4は単なる例であ
っていくつかのパケットをまとめて受信するようなこと
があってもよい。
【0040】最初に、処理中BT数及び処理中SBT数
を共に0に初期化しておく。そして(1)で、パケット
受信機15Bはデータ変更O1を受信して受信キュー1
1Bに入れる。受信キュー11Bの状態は、図5の
(1)の左側の状態になる。そして、処理中BT数及び
処理中SBT数、並びにデータ変更O1のBT数及びS
BT数を用いて、データ変更O1を実行してよいのかを
レプリカ・コントローラ7Bが判断する。判断基準は以
下のとおりである。 (a)データ変更要求の更新順序の指定がオーディナリ
又はバックワード・フラッシュの場合 データ変更要求のBT数≦処理中BT数 であれば実行可能である。 (b)データ変更要求の更新順序の指定がフォワード・
フラッシュ又は2ウエー・フラッシュの場合 データ変更要求のBT数=処理中BT数 且つ データ変更要求のSBT数=処理中SBT数 であれば実行可能である。
【0041】上のような判断基準を図4の(1)に当て
はめてみると、オーディナリの指定でデータ変更要求の
BT数は0で処理中BT数も0であるから実行可能であ
る。よって、レプリカ・コントローラ7Bはデータ変更
1を実行する。図4の(1)では「変更実行」の行に
○が記されている。
【0042】次に当該データ変更O1を受信キュー11
Bから削除してもよいか判断する。この判断は、データ
変更要求のBT数=処理中BT数、且つデータ変更要求
のSBT数=処理中SBT数であるかにより行われる。
もし、上記条件が満たされた場合には、処理中BT数及
び処理中SBT数の値も更新する。更新方法は、以下の
とおりである。 (a)データ変更要求の更新順序の指定が、オーディナ
リ又はフォワード・フラッシュの場合 処理中SBT数=処理中SBT数+1 (b)データ変更要求の更新順序の指定が、バックワー
ド・フラッシュ又は2ウエー・フラッシュの場合 処理中BT数=処理中BT数+1 処理中SBT数=0
【0043】上記判断基準を満たしているので、レプリ
カ・コントローラ7Bはデータ変更O1を受信キュー1
1Bから削除することができる。よって図4では「削
除」の欄に○が記されている。そして、データ変更O1
はオーディナリなので、上記更新方法のように処理中S
BT数が1インクリメントされる。図5の(1)の矢印
の先に示したように、受信キュー11Bにデータ変更要
求は無くなる。
【0044】次に(2)で、パケット受信機15Bはデ
ータ変更B1を受信する。バックワード・フラッシュで
あるから、データ変更B1のBT数と処理中BT数を比
較して、上記判断基準を満たしていると判断できる。よ
って、レプリカ・コントローラ7Bはデータ変更B1
実行する(図4の(2)の「変更実行」の行に○が記さ
れている)。しかし,データ変更B1のSBT数と処理
中SBT数は異なるので、当該データ変更B1を受信キ
ュー11Bから削除することはできない。図5の(2)
に示したように、パケット受信機15Bにより受信され
たデータ変更B 1は受信キュー11Bに残る。しかし、
データ変更B1の全てを受信キュー11Bに残しておく
必要はない。データ変更要求は実行したわけであるか
ら、データ変更に直接関係するデータは削除することが
でき、それ以外のBT数及びSBT数及び更新順番の指
定等のデータ変更要求の基本的情報部分のみを残せばよ
い。図5ではそのような場合には点線の四角を用いる。
よってB1が点線で囲まれている。
【0045】(3)で、パケット受信機15Bはデータ
変更O2を受信する。データ変更O2のBT数は0だがS
BT数は1であるから、データ変更B1のSBT数より
小さい。よって、図5の(3)で示したように、パケッ
ト受信機15Bはデータ変更O2を最初にデータ変更B1
を2番目にするように受信キュー11Bを更新する。レ
プリカ・コントローラ7Bは、データ変更O2のBT数
が0で処理中BT数の0であるから、データ変更O2
実行可能と判断し、実行する(図4の(3)の「変更実
行」に○が記されている)。さらに、レプリカ・コント
ローラ7Bは、データ変更O2のBT数と処理中BT数
が一致し、且つデータ変更O2のSBT数と処理中SB
T数が一致するため、データ変更O2を削除する(図4
の(3)の「削除」の行には○が記されている)。
【0046】さらに、更新順序の指定がオーディナリで
あり、且つBT数と処理中BT数及びSBT数と処理中
SBT数が一致するので、処理中SBT数が1インクリ
メントされる。ここでは、処理中BT数0、処理中SB
T数2となる。これにより、受信キュー11Bに残った
データ変更B1のBT数とSBT数がそれぞれ処理中B
T数及び処理中SBT数に一致するようになる。そこ
で、レプリカ・コントローラ7Bはデータ変更B1につ
いても受信キュー11Bから削除する。図4の(3)か
ら(2)への矢印にてデータ変更B1が削除されること
を示している。また、図5の(3)の右側で受信キュー
11Bが空になったことを示している。さらに、削除さ
れたデータ変更の更新順序の指定がバックワード・フラ
ッシュであり、且つBT数と処理中BT数及びSBT数
と処理中SBT数が一致するので、レプリカ・コントロ
ーラ7Bは処理中BT数を1インクリメントし、処理中
SBT数をクリアする。
【0047】(4)でパケット受信機15Bはデータ変
更T1を受信する。レプリカ・コントローラ7Bは、デ
ータ変更T1のBT数と処理中BT数が一致し、且つデ
ータ変更T1のSBT数と処理中SBT数が一致するの
で、データ変更T1を実行する(図4の(4)の「変更
実行」の行には、○が記されている)。さらに、データ
変更T1を削除することも可能であることが分かるの
で、レプリカ・コントローラ7Bはデータ変更T1を受
信キュー11Bから削除する(図4の(4)の「削除」
の行にも○が記されている)。図5の(4)でも、一旦
受信キュー11Bに入れられたデータ変更T1が削除さ
れて、受信キュー11Bが空になる様子を示している。
データ変更T1は2ウエー・フラッシュであるから、処
理中BT数を1インクリメントし、処理中SBT数をク
リアする。
【0048】(5)において、パケット受信機15Bは
データ変更O4を受信する。レプリカ・コントローラ7
Bは、更新順番の指定がオーディナリであり、データ変
更O 4のBT数が2で処理中BT数も2であるから、デ
ータ変更O4を実行する(図4の(5)の「変更実行」
の行に○が記されている)。しかし、処理中SBT数と
データ変更O4のSBT数は一致しないので、受信キュ
ー11Bからこのデータ変更O4を削除することはでき
ない。図5の(5)では、実行は行ったので点線で囲ま
れたデータ変更O4が受信キュー11Bに残ることを示
している。
【0049】(6)において、パケット受信機15Bは
データ変更F1を受信する。パケット受信機15Bはデ
ータ変更F1のBT数及びSBT数から、受信キュー1
1Bにおいてデータ変更O4の後ろにデータ変更F1を追
加する。レプリカ・コントローラ7Bは、データ変更F
1の実行が可能かどうか検査するが、データ変更F1のS
BT数と処理中SBT数が一致しないので、実行するこ
とができない。当然受信キュー11Bから削除すること
もできない。図5の(6)には、受信キュー11Bに2
つのデータ変更要求が貯まった状態を示している。
【0050】(7)において、パケット受信機15Bは
データ変更O3を受信する。パケット受信機15Bは、
データ変更O3のBT数及びSBT数から、受信キュー
11Bの順番を入れ替える。図5の(7)に示したよう
に、データ変更O3が1番目、データ変更O4が2番目、
データ変更F1が3番目に並べられる(図5の(7)の
一番左側参照)。レプリカ・コントローラ7Bは、デー
タ変更O3のBT数と処理中BT数が一致するため、デ
ータ変更O3を実行する(図4の(7)の「変更実行」
の行に○が記されている)。また、データ変更O3のS
BT数と処理中SBT数も一致するため、レプリカ・コ
ントローラ7Bはデータ変更O3を削除する(図5の
(7)の左から2番目参照)。図4の(7)の「削除」
の行には○が記されている。データ変更O3の更新順序
の指定はオーディナリであり、BT数と処理中BT数並
びにSBT数と処理中SBT数が一致するので、レプリ
カ・コントローラ7Bは処理中SBT数を1インクリメ
ントする。そうすると、受信キュー11B内のデータ変
更O4のBT数及びSBT数にそれぞれ一致するように
なる。そこで、レプリカ・コントローラ7Bは、受信キ
ュー11Bからデータ変更O4を削除する(図5の
(7)の左から3番目参照)。図4では(7)から
(5)への矢印で削除が可能になったことを示してい
る。
【0051】さらに、データ変更O4のBT数と処理中
BT数、並びにデータ変更O4のSBT数と処理中SB
T数が一致し、データ変更O3の更新順序の指定はオー
ディナリであるから、レプリカ・コントローラ7Bは処
理中SBT数を1インクリメントする。そうすると、
(6)で実行することができなかったデータ変更F1
BT数及びSBT数と処理中BT数及び処理中SBT数
がそれぞれ一致するようになる。レプリカ・コントロー
ラ7Bはデータ変更F1を実行し、且つ実行後データ変
更F1を受信キュー11Bから削除する。図5の(7)
の右端は最後には受信キュー11Bが空になることを示
している。また、図4の(7)から(6)への点線矢印
が、実行が可能になり且つ削除も可能になったことを示
している。
【0052】以上の処理を、図6にまとめて示してい
る。まず、受信キュー11中の今受信した変更要求又は
ステップ2200により指示を受けた場合にはステップ
2200で指定された変更要求が実行可能か否か判断す
る(ステップ2100)。これは、変更要求に含まれる
更新順番の指定とBT数及びSBT数により決定され
る。もし、実行不可能であれば、受信キュー11の次の
変更要求へ移行する(ステップ2200)。受信キュー
11に次の変更要求が存在しない場合には、受信するま
で待つ。図6では明示していないが、受信キュー11内
は変更要求を受信するごとに、BT数及びSBT数の小
さい順に並び替える。もし、変更要求が実行可能であれ
ば、当該変更要求を実行する(ステップ2300)。そ
して、受信キュー11から削除可能な変更要求があるか
判断する(ステップ2400)。もし、削除可能な変更
要求がある場合には、当該変更要求を削除する(ステッ
プ2600)。このステップ2600においては、レプ
リカ・コントローラ7は受信キュー11内の応答予定B
T数及び応答予定SBT数の更新も、削除した変更要求
のBT数及びSBT数を用いて実施する。削除した場合
には、処理中BT数及び処理中SBT数を必要に応じて
変更する。もし、削除可能な変更要求がない場合には、
ステップ2200に移行する。削除を実行した後に、処
理が完了したか判断し、処理が終了していない場合には
ステップ2200に移行する。処理が完了したと判断さ
れる場合には、ステップ2700で処理を終了する。
【0053】以上のように、パケット受信機11は、レ
プリカ・コントローラ7は変更要求を受信するごとに受
信キュー内の順番を更新し、且つ実行可能な変更要求か
判断することにより各変更要求実行のタイミング/順序
を決定している。この動作は受信順番に全く関係ない。
例え変更要求がその生成順に受信されなくとも、実行で
きる変更要求を判別且つ実行することができるので、よ
り処理効率も高くなる。また、実行した変更要求は受信
キュー11から削除できる場合もあるので、メモリの使
用効率も向上する。また、実行した変更要求で削除でき
ない場合であっても、当該変更要求の基本的情報のみを
残しておくようにすれば、さらにメモリ効率は向上す
る。
【0054】図1の情報共有システムでは、2つのコン
ピュータしか示していないが、3以上設けることも可能
である。但し、本発明を実施するには、各コンピュータ
対ごとに上記の構成を必要とする。
【0055】以上の実施例は様々に変更可能である。各
構成要素は同一のコンピュータ上になくともよい。パケ
ット受信機15とレプリカ・コントローラ7の機能は必
要に応じていずれかの要素に含めることができ、一体化
することも可能である。同様に、データ格納装置17と
レプリカ・コントローラ7が一体化されていてもよい。
また、上の実施例では変更要求の実行と削除を独立に処
理していたが、同時に行うように変形することも可能で
ある。この際には、応答予定BT数及び応答予定SBT
数の更新のために別途BT数及びSBT数を保存してお
く必要が生じ得る。また、応答確認済みBT数及び応答
確認済みSBT数を管理しないで、応答予定BT数及び
応答予定SBT数を受信するごとに、同じ数のBT数及
びSBT数を有する変更要求を削除するように変形する
ことも可能である。送信及び受信キューはメインメモリ
上に設けても、専用のメモリを用いてもよい。また、実
行済の変更要求は受信キューには置かず、別のキュー又
は表を用いて処理中BT数泳ぎ処理中SBT数を更新し
てもよい。さらに、処理中SBT数を管理しないで必要
に応じて受信キュー中の同一のBT数を持つ変更要求を
数えてもよい。
【0056】
【効果】レプリカの更新の際の通信効率を改善する方法
及び装置を提供することができた。
【0057】また、レプリカの更新の際のメモリ使用量
を削減する方法及び装置を提供することもできた。
【0058】さらに、レプリカの更新のための通信が途
中で切断された場合であっても、変更要求によるレプリ
カの更新がどこまで実行されたか確認することができる
方法及び装置を提供することもできた。
【0059】さらに、レプリカ更新の順序を明示的に指
定できるようにすることもできた。
【0060】例えば大画像データを複数枚リプリケート
し、1つの画像データ内のデータを複数に分割してデー
タ転送を行う例を考える。この場合、同一の画像データ
内の転送順序を制御する必要は無いが、リプリケート中
に通信回線が意図的又は不意に切断された場合でも、全
てのデータがリプリケートされている画像データをなる
べく多く得ることが望ましい。従来技術のFIFO順序
でリプリケートされる場合には各画像データの末尾のデ
ータがリプリケートされればその画像データはリプリケ
ートされていることがわかるが、転送オーバーヘッドが
多大である。また、リプリケート全体がバッチ処理的に
リプリケートされる場合でも、途中で回線が切断される
と、どの画像データについても全てのデータがそろった
ことが保証できない。本発明では、1つの画像データの
末尾でフォワード・フラッシュを指定すれば同一画像内
のデータ転送については送信順番に制約はなく、画像間
のデータ転送順序を制御することも可能になる。この場
合、末尾データの更新が実行されれば、当該画像データ
全体がリプリケートされたことを保証することができる
ようになる。
【0061】また、セールスマンの個人情報とそのセー
ルスマンの月例売上表をリプリケートする例を考える。
個人情報には、社員番号、氏名、所属部課、電話番号が
含まれ、月例売上表には、社員番号と毎日の売上高が含
まれるものとする。売上表出力プログラムは、月売上表
から社員番号を得てその社員番号から個人情報を検索
し、対応する氏名、所属部課、電話番号を出力する。こ
のような例で、月例売上表があるのに、対応する個人情
報が存在しないと出力プログラムは月例売上表に対応す
る氏名等を出力することができない。このように依存関
係がある複数のデータをリプリケートする場合、リプリ
ケート中に回線が切断されても依存関係に矛盾が生じな
いように、依存関係があるデータ間のリプリケートの順
序を保証したい場合がある。従来技術のFIFO順序で
リプリケートする場合、個人情報、月例売上表の順でデ
ータを生成することにより、リプリケートの順を保証す
ることができる。しかし、転送順序を保証する必要の無
い他のデータのリプリケートもFIFO順序で行われる
ことになり、不必要な転送オーバヘッドを生じる、ま
た、リプリケート全体がバッチ処理される場合、リプリ
ケートが完全に終了せずに回線が切断された時にその時
点でのリプリケートの順序を保証することができない。
本発明を利用して、最後の個人情報の生成時に2ウエー
・フラッシュを指定し、その後に月例売上表を生成する
ことにより個人情報と月例売上表のリプリケートの順序
を保証することができる。その際に生じる転送オーバヘ
ッドも必要最小限ですむ。
【図面の簡単な説明】
【図1】本発明の情報共有システムを示す図である。
【図2】変更要求のBT数及びSBT数、応答予定BT
数及び応答予定SBT数、応答確認済みBT数及び応答
確認済みSBT数の関係を表すフロー図である。
【図3】BT数及びSBT数の変更要求への付け方を示
す図である。
【図4】変更要求及び削除の実行を説明するための例を
示す図である。
【図5】図4の場合の受信キューのようすを示す図であ
る。
【図6】変更要求の実行及び削除の実行の処理フローを
示す図である。
【符号の説明】
100 情報共有システム 1 コンピュータA 3 コンピュータB 5 アプリケーション 7 レプリカ・コントローラ 9 送信キュー 11 受信キュー 13 パケット送信機 15 パケット受信機 17 データ格納装置 19 通新媒体
───────────────────────────────────────────────────── フロントページの続き (72)発明者 根岸 康 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 東京基礎研究所 内 (72)発明者 モハン・アージャ 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 東京基礎研究所 内 (72)発明者 田胡 和哉 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 東京基礎研究所 内 Fターム(参考) 5B082 GB02 GB06 HA03

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】共有データのレプリカを有し、データ変更
    を他のコンピュータと相互に通知しあうことにより前記
    レプリカの内容の同一性保持を図るコンピュータであっ
    て、 他のコンピュータから前記レプリカ内のデータの変更要
    求を受信する手段と、 前記変更要求の受信順番にかかわらず、受信した前記変
    更要求によるレプリカの更新実行のタイミングを、前記
    変更要求に含まれる情報を用いて、前記変更要求の受信
    毎に制御する制御手段と、 を有するコンピュータ。
  2. 【請求項2】前記変更要求に含まれる情報は、 変更順番の指定なし、当該変更要求より前の全ての変更
    要求を前記レプリカに反映した後に当該変更要求による
    レプリカの更新を実行するという第1の指定、当該変更
    要求より後の変更要求を当該変更要求によるレプリカの
    更新実行の後に実行するという第2の指定、又は当該変
    更要求より前の全ての変更を前記レプリカに反映した後
    に当該変更要求によるレプリカの更新を実行し且つ当該
    変更要求より後の変更要求を当該変更要求によるレプリ
    カの更新実行の後に実行するという第3の指定、を含む
    請求項1記載のコンピュータ。
  3. 【請求項3】前記変更要求に含まれる情報は、 これまでに生成された、前記第2又は第3の指定を含む
    変更要求の数(第1の数)、及び最後に前記第2又は第
    3の指定を含む変更要求が生成された後に生成された変
    更要求の数(第2の数)、をさらに含む、請求項2記載
    のコンピュータ。
  4. 【請求項4】前記制御手段は、 前記第1及び第2の数にそれぞれ対応し、レプリカの更
    新実行のタイミングを規定する第1及び第2の管理値を
    保持している、請求項3記載のコンピュータ。
  5. 【請求項5】前記制御手段は、 前記変更要求によるレプリカの更新が実行された場合
    に、当該変更要求に含まれる前記第1及び第2の数を第
    3の数及び第4の数として記憶する、 請求項3記載のコンピュータ。
  6. 【請求項6】他のコンピュータへ前記レプリカ内のデー
    タの変更要求を送信する手段をさらに含み、 前記制御手段は、 送信する変更要求に、前記第3の数及び第4の数を含ま
    せる、 請求項5記載のコンピュータ。
  7. 【請求項7】共有データのレプリカを有し、データ変更
    を他のコンピュータと相互に通知しあうことにより前記
    レプリカの内容の同一性保持を図るコンピュータであっ
    て、 前記レプリカ内のデータの変更を命令し、当該データの
    変更に対して変更順序に関する情報を指定する手段と、 前記データの変更の命令に対応し且つ前記変更順序に関
    する情報を含む変更要求を生成する手段と、 前記変更要求の生成順序と送信順序の一致を保証しない
    ような態様で、前記変更要求を送信する手段と、 を有するコンピュータ。
  8. 【請求項8】前記変更順序に関する情報が、 変更順番の指定なし、当該変更要求より前の全ての変更
    要求を前記レプリカに反映した後に当該変更要求による
    レプリカの更新を実行するという第1の指定、当該変更
    要求より後の変更要求を当該変更要求によるレプリカの
    更新実行の後に実行するという第2の指定、又は当該変
    更要求より前の全ての変更を前記レプリカに反映した後
    に当該変更要求によるレプリカの更新を実行し且つ当該
    変更要求より後の変更要求を当該変更要求によるレプリ
    カの更新実行の後に実行するという第3の指定、を含む
    請求項7記載のコンピュータ。
  9. 【請求項9】前記変更要求は、 これまでに生成された、前記第2又は第3の指定を含む
    変更要求の数(第1の数)、及び最後に前記第2又は第
    3の指定を含む変更要求が生成された後に生成された変
    更要求の数(第2の数)、をさらに含む、請求項8記載
    のコンピュータ。
  10. 【請求項10】他のコンピュータから前記レプリカ内の
    データの変更要求を受信する手段、 をさらに含み、 受信した前記変更要求は、 送信した変更要求によるレプリカの更新が送信先の他の
    コンピュータで実行されたことを示す応答情報を含む、 請求項7記載のコンピュータ。
  11. 【請求項11】前記応答情報を参照して、前記送信した
    変更要求を削除するか判断する手段をさらに含む請求項
    10記載のコンピュータ。
  12. 【請求項12】前記変更要求の受信順番にかかわらず、
    受信した前記変更要求によるレプリカの更新実行のタイ
    ミングを、前記変更順序に関する情報を用いて、前記変
    更要求の受信毎に制御する制御手段をさらに含む請求項
    7記載のコンピュータ。
  13. 【請求項13】共有データのレプリカを有し、データ変
    更を他のコンピュータと相互に通知しあうことにより前
    記レプリカの内容の同一性保持を図るコンピュータであ
    って、 他のコンピュータから前記レプリカ内のデータの変更要
    求を受信する手段と、 前記変更要求の受信順番にかかわらず、受信した前記変
    更要求によるレプリカの更新実行のタイミングを、前記
    変更要求に含まれる情報を用いて、前記変更要求の受信
    毎に制御する制御手段と、 前記レプリカ内のデータの変更を命令し、当該データの
    変更に対して変更順序に関する情報を指定する手段と、 前記データの変更の命令に対応し且つ前記変更順序に関
    する情報を含む変更要求を生成する手段と、 前記変更要求の生成順序と送信順序の一致を保証しない
    ような態様で、前記変更要求を送信する手段と、 を有するコンピュータ。
  14. 【請求項14】各コンピュータは共有データのレプリカ
    を有し、データ変更を前記コンピュータ間で相互に通知
    しあうことにより前記レプリカの内容の同一性保持を図
    る情報共有システムであって、 前記コンピュータは、 他のコンピュータから前記レプリカ内のデータの変更要
    求を受信する手段と、 前記変更要求の受信順番にかかわらず、受信した前記変
    更要求によるレプリカの更新実行のタイミングを、前記
    変更要求に含まれる情報を用いて、前記変更要求の受信
    毎に制御する制御手段と、 前記レプリカ内のデータの変更を命令し、当該データの
    変更に対して変更順序に関する情報を指定する手段と、 前記データの変更の命令に対応し且つ前記変更順序に関
    する情報を含む変更要求を生成する手段と、 前記変更要求の生成順序と送信順序の一致を保証しない
    ような態様で、前記変更要求を送信する手段と、 を有する、情報共有システム。
  15. 【請求項15】共有データのレプリカを有するコンピュ
    ータにおいて、データ変更を他のコンピュータと相互に
    通知しあうことにより前記レプリカの内容の同一性保持
    を図るレプリカ同一性保持方法であって、 他のコンピュータから前記レプリカ内のデータの変更要
    求を受信するステップと、 前記変更要求の受信順番にかかわらず、受信した前記変
    更要求によるレプリカの更新実行のタイミングを、前記
    変更要求に含まれる情報を用いて、前記変更要求の受信
    毎に制御するステップと、 を含むレプリカ同一性保持方法。
  16. 【請求項16】共有データのレプリカを有するコンピュ
    ータにおいて、データ変更を他のコンピュータと相互に
    通知しあうことにより前記レプリカの内容の同一性保持
    を図るレプリカ同一性保持方法であって、 前記レプリカ内のデータの変更を命令し、当該データの
    変更に対して変更順序に関する情報を指定するステップ
    と、 前記データの変更の命令に対応し且つ前記変更順序に関
    する情報を含む変更要求を生成するステップと、 前記変更要求の生成順序と送信順序の一致を保証しない
    ような態様で、前記変更要求を送信するステップと、 を含むレプリカ同一性保持方法。
  17. 【請求項17】共有データのレプリカを有するコンピュ
    ータにおいて、データ変更を他のコンピュータと相互に
    通知しあうことにより前記レプリカの内容の同一性保持
    を図るためのプログラムを記憶した記憶媒体であって、 前記プログラムは、前記コンピュータに、 他のコンピュータによる前記レプリカ内のデータの変更
    要求の受信順番にかかわらず、受信した前記変更要求に
    よるレプリカの更新実行のタイミングを、前記変更要求
    に含まれる情報を用いて、前記変更要求の受信毎に決定
    するステップと、 決定されたタイミングで、前記変更要求によるレプリカ
    の更新を実行するように命ずるステップと、 を実行させる、記憶媒体。
  18. 【請求項18】共有データのレプリカを有するコンピュ
    ータにおいて、データ変更を他のコンピュータと相互に
    通知しあうことにより前記レプリカの内容の同一性保持
    を図るためのプログラムを格納した記憶媒体であって、 前記プログラムは、前記コンピュータに、 前記レプリカ内のデータの変更を命令し、当該データの
    変更に対して変更順序に関する情報を指定するステップ
    と、 前記データの変更の命令に対応し且つ前記変更順序に関
    する情報を含む変更要求を生成するステップと、 を実行させる、記憶媒体。
JP30100798A 1998-10-22 1998-10-22 コンピュータ、及びレプリカ同一性保持方法 Expired - Fee Related JP3578385B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP30100798A JP3578385B2 (ja) 1998-10-22 1998-10-22 コンピュータ、及びレプリカ同一性保持方法
IL13171099A IL131710A (en) 1998-10-22 1999-09-02 A method for maintaining consistency in copying
KR1019990039168A KR100359960B1 (ko) 1998-10-22 1999-09-14 레프리카의 동일성을 유지하는 컴퓨터와 데이타 공유 시스템 및 그 방법
CN99120897A CN1114869C (zh) 1998-10-22 1999-10-08 维持复制一致性的计算机、数据共享系统和方法
US09/425,559 US6571278B1 (en) 1998-10-22 1999-10-22 Computer data sharing system and method for maintaining replica consistency
TW088118127A TW505852B (en) 1998-10-22 1999-11-04 Computer, data sharing system, and method for maintaining replica consistency

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30100798A JP3578385B2 (ja) 1998-10-22 1998-10-22 コンピュータ、及びレプリカ同一性保持方法

Publications (2)

Publication Number Publication Date
JP2000132443A true JP2000132443A (ja) 2000-05-12
JP3578385B2 JP3578385B2 (ja) 2004-10-20

Family

ID=17891717

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30100798A Expired - Fee Related JP3578385B2 (ja) 1998-10-22 1998-10-22 コンピュータ、及びレプリカ同一性保持方法

Country Status (6)

Country Link
US (1) US6571278B1 (ja)
JP (1) JP3578385B2 (ja)
KR (1) KR100359960B1 (ja)
CN (1) CN1114869C (ja)
IL (1) IL131710A (ja)
TW (1) TW505852B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004511854A (ja) * 2000-10-09 2004-04-15 マキシマム アヴェイラビリティ リミテッド データ処理の方法及び装置
US7680793B2 (en) 2005-10-07 2010-03-16 Oracle International Corporation Commit-time ordered message queue supporting arbitrary read and dequeue patterns from multiple subscribers
US7801856B2 (en) 2006-08-09 2010-09-21 Oracle International Corporation Using XML for flexible replication of complex types
US8374966B1 (en) 2002-08-01 2013-02-12 Oracle International Corporation In memory streaming with disk backup and recovery of messages captured from a database redo stream

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6859821B1 (en) * 1999-07-19 2005-02-22 Groove Networks, Inc. Method and apparatus for prioritizing data change requests and maintaining data consistency in a distributed computer system equipped for activity-based collaboration
US7200869B1 (en) * 2000-09-15 2007-04-03 Microsoft Corporation System and method for protecting domain data against unauthorized modification
ATE432498T1 (de) * 2001-03-26 2009-06-15 Duaxes Corp Protokollduplexer und protokollduplexverfahren
US6745303B2 (en) * 2002-01-03 2004-06-01 Hitachi, Ltd. Data synchronization of multiple remote storage
US7139932B2 (en) * 2002-01-03 2006-11-21 Hitachi, Ltd. Data synchronization of multiple remote storage after remote copy suspension
JP3500379B1 (ja) * 2002-06-28 2004-02-23 株式会社コナミコンピュータエンタテインメント東京 ゲーム装置、プログラム及びゲーム装置の制御方法
JP4227399B2 (ja) * 2002-11-29 2009-02-18 キヤノン株式会社 情報処理方法及び装置
US7739240B2 (en) * 2002-12-09 2010-06-15 Hewlett-Packard Development Company, L.P. Replication and replica management in a wide area file system
GB0229572D0 (en) * 2002-12-19 2003-01-22 Cognima Ltd Quality of service provisioning
WO2004077298A1 (en) * 2003-02-28 2004-09-10 Canon Kabushiki Kaisha Information processing method and apparatus
US7844665B2 (en) * 2004-04-23 2010-11-30 Waratek Pty Ltd. Modified computer architecture having coordinated deletion of corresponding replicated memory locations among plural computers
US20050262513A1 (en) * 2004-04-23 2005-11-24 Waratek Pty Limited Modified computer architecture with initialization of objects
US20060095483A1 (en) * 2004-04-23 2006-05-04 Waratek Pty Limited Modified computer architecture with finalization of objects
US7788314B2 (en) * 2004-04-23 2010-08-31 Waratek Pty Ltd. Multi-computer distributed processing with replicated local memory exclusive read and write and network value update propagation
US20050257219A1 (en) * 2004-04-23 2005-11-17 Holt John M Multiple computer architecture with replicated memory fields
US7849452B2 (en) * 2004-04-23 2010-12-07 Waratek Pty Ltd. Modification of computer applications at load time for distributed execution
US7707179B2 (en) * 2004-04-23 2010-04-27 Waratek Pty Limited Multiple computer architecture with synchronization
US8015236B2 (en) * 2005-10-25 2011-09-06 Waratek Pty. Ltd. Replication of objects having non-primitive fields, especially addresses
US7849369B2 (en) * 2005-10-25 2010-12-07 Waratek Pty Ltd. Failure resistant multiple computer system and method
US20070100828A1 (en) * 2005-10-25 2007-05-03 Holt John M Modified machine architecture with machine redundancy
US7761670B2 (en) * 2005-10-25 2010-07-20 Waratek Pty Limited Modified machine architecture with advanced synchronization
US7660960B2 (en) * 2005-10-25 2010-02-09 Waratek Pty, Ltd. Modified machine architecture with partial memory updating
US7958322B2 (en) * 2005-10-25 2011-06-07 Waratek Pty Ltd Multiple machine architecture with overhead reduction
US7581069B2 (en) * 2005-10-25 2009-08-25 Waratek Pty Ltd. Multiple computer system with enhanced memory clean up
US20100121935A1 (en) * 2006-10-05 2010-05-13 Holt John M Hybrid replicated shared memory
US20080126372A1 (en) * 2006-10-05 2008-05-29 Holt John M Cyclic redundant multiple computer architecture
US20080140970A1 (en) * 2006-10-05 2008-06-12 Holt John M Advanced synchronization and contention resolution
US20080114853A1 (en) * 2006-10-05 2008-05-15 Holt John M Network protocol for network communications
US20080120475A1 (en) * 2006-10-05 2008-05-22 Holt John M Adding one or more computers to a multiple computer system
US20080114896A1 (en) * 2006-10-05 2008-05-15 Holt John M Asynchronous data transmission
US20080120477A1 (en) * 2006-10-05 2008-05-22 Holt John M Contention detection with modified message format
US20080130652A1 (en) * 2006-10-05 2008-06-05 Holt John M Multiple communication networks for multiple computers
EP2069930A4 (en) * 2006-10-05 2012-05-30 Waratek Pty Ltd ADVANCED CONTENT DETECTION
US20080140762A1 (en) * 2006-10-05 2008-06-12 Holt John M Job scheduling amongst multiple computers
US7958329B2 (en) * 2006-10-05 2011-06-07 Waratek Pty Ltd Hybrid replicated shared memory
US20080120478A1 (en) * 2006-10-05 2008-05-22 Holt John M Advanced synchronization and contention resolution
US20080133689A1 (en) * 2006-10-05 2008-06-05 Holt John M Silent memory reclamation
US7962697B2 (en) * 2006-10-05 2011-06-14 Waratek Pty Limited Contention detection
US7949837B2 (en) * 2006-10-05 2011-05-24 Waratek Pty Ltd. Contention detection and resolution
US20080133869A1 (en) * 2006-10-05 2008-06-05 Holt John M Redundant multiple computer architecture
US20080140805A1 (en) * 2006-10-05 2008-06-12 Holt John M Multiple network connections for multiple computers
US20080133691A1 (en) * 2006-10-05 2008-06-05 Holt John M Contention resolution with echo cancellation
US20080126502A1 (en) * 2006-10-05 2008-05-29 Holt John M Multiple computer system with dual mode redundancy architecture
US20080126505A1 (en) * 2006-10-05 2008-05-29 Holt John M Multiple computer system with redundancy architecture
US20080140975A1 (en) * 2006-10-05 2008-06-12 Holt John M Contention detection with data consolidation
WO2008040064A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Switch protocol for network communications
WO2008040063A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Multi-path switching networks
WO2008040078A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Synchronization with partial memory replication
US20080250221A1 (en) * 2006-10-09 2008-10-09 Holt John M Contention detection with data consolidation
US8316190B2 (en) 2007-04-06 2012-11-20 Waratek Pty. Ltd. Computer architecture and method of operation for multi-computer distributed processing having redundant array of independent systems with replicated memory and code striping
US9197486B2 (en) * 2008-08-29 2015-11-24 Google Inc. Adaptive accelerated application startup
CN105071839B (zh) * 2015-08-17 2018-02-23 贵阳朗玛信息技术股份有限公司 蓝牙设备通信方法及装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01200457A (ja) * 1988-02-05 1989-08-11 Hitachi Ltd 分散システムでのノード間メッセージ追い越し処理方式
JPH03256146A (ja) * 1990-03-07 1991-11-14 Hitachi Ltd 並列動作型データベース管理方式
JPH06290125A (ja) * 1993-03-23 1994-10-18 Internatl Business Mach Corp <Ibm> 多重システムの遠隔データバックアップおよび回復を行う方法およびシステム
JPH06301588A (ja) * 1993-03-15 1994-10-28 Internatl Business Mach Corp <Ibm> トランザクション処理の同期方法及びトランザクションのコミット処理方法
JPH07295871A (ja) * 1994-04-15 1995-11-10 Internatl Business Mach Corp <Ibm> データベース・アクセス効率の向上方法及びシステム
JPH08115246A (ja) * 1994-09-28 1996-05-07 Xerox Corp セッションの一貫性を保証する方法
JPH0981430A (ja) * 1995-09-05 1997-03-28 Internatl Business Mach Corp <Ibm> ファイル・システム
JPH09198294A (ja) * 1995-09-25 1997-07-31 Internatl Business Mach Corp <Ibm> ローカル・エリア・ネットワークと分散コンピューティング環境との間の同期化をするシステム
JPH09244936A (ja) * 1996-03-08 1997-09-19 Internatl Business Mach Corp <Ibm> 共用データ・ファイルを管理するための方法及びシステム
JPH10154094A (ja) * 1996-11-22 1998-06-09 Nec Corp マスタメンテナンス集中更新方式
JPH11127188A (ja) * 1997-10-20 1999-05-11 Fujitsu Ltd 蓄積交換型電子会議システムにおける情報伝達装置及び方法並びに情報伝達プログラムを記録した媒体

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940005779B1 (ko) * 1991-12-31 1994-06-23 재단법인 한국전자통신연구소 캐쉬데이타의 공유상태 및 변경상태를 알리는 회로
JPH06110759A (ja) * 1992-09-30 1994-04-22 Toshiba Corp ファイルシステム
JP3182000B2 (ja) * 1992-10-20 2001-07-03 富士通株式会社 複合情報処理システムにおける拡張記憶装置
US5434994A (en) * 1994-05-23 1995-07-18 International Business Machines Corporation System and method for maintaining replicated data coherency in a data processing system
JPH08123714A (ja) * 1994-10-21 1996-05-17 Hitachi Ltd ファイル形式を集中変換するシステム
US5819020A (en) * 1995-10-16 1998-10-06 Network Specialists, Inc. Real time backup system
US5765171A (en) * 1995-12-29 1998-06-09 Lucent Technologies Inc. Maintaining consistency of database replicas
US5787262A (en) * 1996-06-26 1998-07-28 Microsoft Corporation System and method for distributed conflict resolution between data objects replicated across a computer network
US5893116A (en) * 1996-09-30 1999-04-06 Novell, Inc. Accessing network resources using network resource replicator and captured login script for use when the computer is disconnected from the network
US6049809A (en) * 1996-10-30 2000-04-11 Microsoft Corporation Replication optimization system and method
US6052718A (en) * 1997-01-07 2000-04-18 Sightpath, Inc Replica routing

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01200457A (ja) * 1988-02-05 1989-08-11 Hitachi Ltd 分散システムでのノード間メッセージ追い越し処理方式
JPH03256146A (ja) * 1990-03-07 1991-11-14 Hitachi Ltd 並列動作型データベース管理方式
JPH06301588A (ja) * 1993-03-15 1994-10-28 Internatl Business Mach Corp <Ibm> トランザクション処理の同期方法及びトランザクションのコミット処理方法
JPH06290125A (ja) * 1993-03-23 1994-10-18 Internatl Business Mach Corp <Ibm> 多重システムの遠隔データバックアップおよび回復を行う方法およびシステム
JPH07295871A (ja) * 1994-04-15 1995-11-10 Internatl Business Mach Corp <Ibm> データベース・アクセス効率の向上方法及びシステム
JPH08115246A (ja) * 1994-09-28 1996-05-07 Xerox Corp セッションの一貫性を保証する方法
JPH0981430A (ja) * 1995-09-05 1997-03-28 Internatl Business Mach Corp <Ibm> ファイル・システム
JPH09198294A (ja) * 1995-09-25 1997-07-31 Internatl Business Mach Corp <Ibm> ローカル・エリア・ネットワークと分散コンピューティング環境との間の同期化をするシステム
JPH09244936A (ja) * 1996-03-08 1997-09-19 Internatl Business Mach Corp <Ibm> 共用データ・ファイルを管理するための方法及びシステム
JPH10154094A (ja) * 1996-11-22 1998-06-09 Nec Corp マスタメンテナンス集中更新方式
JPH11127188A (ja) * 1997-10-20 1999-05-11 Fujitsu Ltd 蓄積交換型電子会議システムにおける情報伝達装置及び方法並びに情報伝達プログラムを記録した媒体

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004511854A (ja) * 2000-10-09 2004-04-15 マキシマム アヴェイラビリティ リミテッド データ処理の方法及び装置
US7930271B2 (en) 2000-10-09 2011-04-19 Maximum Availability Ltd. Method and apparatus for data processing
US8818939B2 (en) 2000-10-09 2014-08-26 Maximum Availability Ltd. Method and apparatus for data processing
US8374966B1 (en) 2002-08-01 2013-02-12 Oracle International Corporation In memory streaming with disk backup and recovery of messages captured from a database redo stream
US7680793B2 (en) 2005-10-07 2010-03-16 Oracle International Corporation Commit-time ordered message queue supporting arbitrary read and dequeue patterns from multiple subscribers
US7801856B2 (en) 2006-08-09 2010-09-21 Oracle International Corporation Using XML for flexible replication of complex types

Also Published As

Publication number Publication date
IL131710A0 (en) 2001-03-19
IL131710A (en) 2002-12-01
KR20000028662A (ko) 2000-05-25
US6571278B1 (en) 2003-05-27
CN1252568A (zh) 2000-05-10
JP3578385B2 (ja) 2004-10-20
KR100359960B1 (ko) 2002-11-04
CN1114869C (zh) 2003-07-16
TW505852B (en) 2002-10-11

Similar Documents

Publication Publication Date Title
JP3578385B2 (ja) コンピュータ、及びレプリカ同一性保持方法
JP4160642B2 (ja) ネットワークデータ転送方法
JP3384686B2 (ja) 通信ネットワークから情報を受信するための方法および装置
CA2205725C (en) Preventing conflicts in distributed systems
US5559933A (en) Distributed enterprise print controller
US5005122A (en) Arrangement with cooperating management server node and network service node
US7225231B2 (en) System and method for transmitting workspace elements across a network
US20010039548A1 (en) File replication system, replication control method, and storage medium
EP0617373A2 (en) A method and system for parallel, system managed storage for objects on multiple servers
JP2002543491A (ja) 分散コンピューティング環境のための通信アーキテクチャ
US20080086658A1 (en) Backup control device and system for data processing system
KR101822401B1 (ko) 공동 편집 문서를 공유하는 방법 및 장치
JP4512386B2 (ja) バックアップシステムおよび方法
US20020073175A1 (en) Updating world wide web pages in a storage area network environment
JP2896394B2 (ja) ファイルサーバ装置
JP4550604B2 (ja) 設定情報同期プログラム
CN109376193B (zh) 基于自适应规则的数据交换系统
JPH04229367A (ja) 文書伝送方法及びシステム
JP2009199281A (ja) データ送信装置
JPH04317118A (ja) ネットワークプリンタ制御装置およびネットワークシステム
US20050281258A1 (en) Address translation program, program utilizing method, information processing device and readable-by-computer medium
JP6912105B2 (ja) ディスクアレイシステム、ディスクアレイシステムの制御方法、および、ディスクアレイ装置
JPH05216737A (ja) ファイル転送におけるアプリ連携処理方式
JPH05158846A (ja) コンピュータネットワークのデータ送信システム
JPS6263348A (ja) リモ−トフアイルコピ−方式

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040706

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040709

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees