JPH06222968A - 複製オブジェクトの書込みロックの移動 - Google Patents
複製オブジェクトの書込みロックの移動Info
- Publication number
- JPH06222968A JPH06222968A JP5240012A JP24001293A JPH06222968A JP H06222968 A JPH06222968 A JP H06222968A JP 5240012 A JP5240012 A JP 5240012A JP 24001293 A JP24001293 A JP 24001293A JP H06222968 A JPH06222968 A JP H06222968A
- Authority
- JP
- Japan
- Prior art keywords
- shadow
- replica
- write lock
- master
- copy
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【目的】 複数アドレス空間における複製データ・オブ
ジェクトの更新スピードを改良すること。 【構成】 データ・オブジェクトの更新に必要な準備の
後、陰影複製が、現在書込みロックを保持する複製か
ら、或いはマスタ複製として指定される複製から、書込
みロックを要求する。書込みロックが、要求を発した陰
影複製に転送されて、この陰影複製は自身の更新を実行
する。この更新は次にローカル・システム・ディスプレ
イに反映され、ユーザに対して可視的フィードバックを
提供する。更に、この更新は他の複製にも伝搬されて、
それぞれの関連ディスプレイにおいて変更が表示され
る。
ジェクトの更新スピードを改良すること。 【構成】 データ・オブジェクトの更新に必要な準備の
後、陰影複製が、現在書込みロックを保持する複製か
ら、或いはマスタ複製として指定される複製から、書込
みロックを要求する。書込みロックが、要求を発した陰
影複製に転送されて、この陰影複製は自身の更新を実行
する。この更新は次にローカル・システム・ディスプレ
イに反映され、ユーザに対して可視的フィードバックを
提供する。更に、この更新は他の複製にも伝搬されて、
それぞれの関連ディスプレイにおいて変更が表示され
る。
Description
【0001】
【産業上の利用分野】本発明は一般に複製データに関
し、特に、メモリ内の複数の複製データ・オブジェクト
間における書込みロックの移動に関する。
し、特に、メモリ内の複数の複製データ・オブジェクト
間における書込みロックの移動に関する。
【0002】
【従来の技術】分散環境における複数のデータ処理シス
テムを、ネットワークを介して結合することが急速に普
及しつつある。ピア・ツー・ピア(peer-to-peer)の関
係において構築される分散アプリケーションにおいて
は、システムは任意の機能を実行するように協力する。
この協力は、良好な対話性能を発揮するために、データ
・オブジェクトの複数のコピーを共用することを必要と
する。任意のアプリケーションからの1つ或いは複数の
共用ディスク・ファイルを介する協力が、良好な応答時
間を保証するのに受容不能なほど遅い場合、データ・オ
ブジェクトは複数のアドレス空間において複製される。
ネットワーク内の分散システムにおいて、データ・オブ
ジェクトの複製は、いくつかのデータ処理システムのメ
モリ内において見い出すことができる。各システムにお
けるデータが現在のものであり、完全であることを保証
するために、全ての複製に渡りデータを管理する方法が
提供されねばならない。従来技術の1つに、1次コピー
或いはマスタ・コピーを使用する方法があり、この場
合、マスタ・コピーが最初に更新され、他の全てのコピ
ーはそれに同期される。特に分散システムにおける対話
式アプリケーションにおいて、全てのコピーが更新され
るまで、ローカル・ディスプレイ上におけるユーザへの
フィードバックを遅延することは、非現実的なものとな
る。
テムを、ネットワークを介して結合することが急速に普
及しつつある。ピア・ツー・ピア(peer-to-peer)の関
係において構築される分散アプリケーションにおいて
は、システムは任意の機能を実行するように協力する。
この協力は、良好な対話性能を発揮するために、データ
・オブジェクトの複数のコピーを共用することを必要と
する。任意のアプリケーションからの1つ或いは複数の
共用ディスク・ファイルを介する協力が、良好な応答時
間を保証するのに受容不能なほど遅い場合、データ・オ
ブジェクトは複数のアドレス空間において複製される。
ネットワーク内の分散システムにおいて、データ・オブ
ジェクトの複製は、いくつかのデータ処理システムのメ
モリ内において見い出すことができる。各システムにお
けるデータが現在のものであり、完全であることを保証
するために、全ての複製に渡りデータを管理する方法が
提供されねばならない。従来技術の1つに、1次コピー
或いはマスタ・コピーを使用する方法があり、この場
合、マスタ・コピーが最初に更新され、他の全てのコピ
ーはそれに同期される。特に分散システムにおける対話
式アプリケーションにおいて、全てのコピーが更新され
るまで、ローカル・ディスプレイ上におけるユーザへの
フィードバックを遅延することは、非現実的なものとな
る。
【0003】複製データ・オブジェクトは、複数のメモ
リにおいて物理的に複製されるデータの論理単位であ
る。各メモリは一般に、ネットワークに接続される個々
のデータ処理システムの主メモリである。複製データ・
オブジェクトはいくつかの物理的ロケーション内に存在
するにもかかわらず、そのデータ・オブジェクトの単一
のコピーのように振る舞う。単一のコピーの様に振る舞
うということは、すなわち、いずれかの複製が更新され
ると、他の全ての複製もまた更新されることを意味す
る。いずれか1つの局所複製を読出すことにより、任意
のプロセッサは、離れたロケーションに存在する同一の
複製内のデータを知ることができる。複製がオブジェク
ト指向のプログラムにおいて結合される場合、システム
は同一データを含むだけでなく、論理的にも等価な複数
の複製を有することができる。
リにおいて物理的に複製されるデータの論理単位であ
る。各メモリは一般に、ネットワークに接続される個々
のデータ処理システムの主メモリである。複製データ・
オブジェクトはいくつかの物理的ロケーション内に存在
するにもかかわらず、そのデータ・オブジェクトの単一
のコピーのように振る舞う。単一のコピーの様に振る舞
うということは、すなわち、いずれかの複製が更新され
ると、他の全ての複製もまた更新されることを意味す
る。いずれか1つの局所複製を読出すことにより、任意
のプロセッサは、離れたロケーションに存在する同一の
複製内のデータを知ることができる。複製がオブジェク
ト指向のプログラムにおいて結合される場合、システム
は同一データを含むだけでなく、論理的にも等価な複数
の複製を有することができる。
【0004】本発明は、複数のアドレス空間において、
複製データ・オブジェクトを更新する改良された手段を
提案する。
複製データ・オブジェクトを更新する改良された手段を
提案する。
【0005】
【発明が解決しようとする課題】従って、本発明の目的
は、複数アドレス空間における複製データ・オブジェク
トの更新スピードを改良することである。
は、複数アドレス空間における複製データ・オブジェク
トの更新スピードを改良することである。
【0006】本発明の別の目的は、複製データ・オブジ
ェクトに対する変更が最初に導入されるデータ処理シス
テムにおける、当該複製データ・オブジェクトの変更の
表示をスピード・アップすることである。
ェクトに対する変更が最初に導入されるデータ処理シス
テムにおける、当該複製データ・オブジェクトの変更の
表示をスピード・アップすることである。
【0007】
【課題を解決するための手段】これらの目的が、データ
・オブジェクトの複製間を移動する書込みロックにより
達成される。本発明は、少なくとも1つのプロセッサ及
びメモリを有するデータ処理システムにおいて使用され
るが、好適には、共通データ・オブジェクトの複数の複
製が複数のアドレス空間に存在する、分散データ処理シ
ステムにおいて使用される。データ・オブジェクトを更
新するために必要な準備の後、陰影複製が、現在書込み
ロックを保持する複製から、或いはマスタ複製として指
定される複製から、書込みロックを要求する。書込みロ
ックは要求を発する陰影複製に移動され、これはそれ自
身の更新を実行する。更新は次にローカル・システム・
ディスプレイに反映されて、ユーザに可視的フィードバ
ックを提供する。更新は他の複製にも伝搬されて、関連
するディスプレイにおいても変更が表示される。
・オブジェクトの複製間を移動する書込みロックにより
達成される。本発明は、少なくとも1つのプロセッサ及
びメモリを有するデータ処理システムにおいて使用され
るが、好適には、共通データ・オブジェクトの複数の複
製が複数のアドレス空間に存在する、分散データ処理シ
ステムにおいて使用される。データ・オブジェクトを更
新するために必要な準備の後、陰影複製が、現在書込み
ロックを保持する複製から、或いはマスタ複製として指
定される複製から、書込みロックを要求する。書込みロ
ックは要求を発する陰影複製に移動され、これはそれ自
身の更新を実行する。更新は次にローカル・システム・
ディスプレイに反映されて、ユーザに可視的フィードバ
ックを提供する。更新は他の複製にも伝搬されて、関連
するディスプレイにおいても変更が表示される。
【0008】実施例では、書込みロックは、次の更新を
受信する可能性の最も高い、最後に書込みロックを要求
した複製に保持される。本発明のいくつかの実施例で
は、書込みロックがマスタ複製から要求された後、マス
タ複製は自身が書込みロックを有するかどうかを判断す
る。有さない場合、そのマスタは書込みロックを保持す
る陰影複製からの書込みロックの返却を要求する。書込
みロックを保持する陰影複製はマスタに対し、書込みロ
ックと同様に、現行処理された新たな更新を返却する。
マスタ複製は、2番目の更新を種々のアドレス空間にお
ける複数の複製に伝搬し、書込みロックを最後に要求を
発した複製に提供する。他の実施例では、マスタ複製が
書込みロックの足跡を保持する。書込みロックを要求す
る陰影は、マスタ複製に対し、複数の複製の内のどれが
現在書込みロックを保持しているかを問合わせ、保持す
る複製に対して依頼する。
受信する可能性の最も高い、最後に書込みロックを要求
した複製に保持される。本発明のいくつかの実施例で
は、書込みロックがマスタ複製から要求された後、マス
タ複製は自身が書込みロックを有するかどうかを判断す
る。有さない場合、そのマスタは書込みロックを保持す
る陰影複製からの書込みロックの返却を要求する。書込
みロックを保持する陰影複製はマスタに対し、書込みロ
ックと同様に、現行処理された新たな更新を返却する。
マスタ複製は、2番目の更新を種々のアドレス空間にお
ける複数の複製に伝搬し、書込みロックを最後に要求を
発した複製に提供する。他の実施例では、マスタ複製が
書込みロックの足跡を保持する。書込みロックを要求す
る陰影は、マスタ複製に対し、複数の複製の内のどれが
現在書込みロックを保持しているかを問合わせ、保持す
る複製に対して依頼する。
【0009】本発明は分散データ処理システム環境にお
いて特定のアプリケーションを見い出すが、別のメモリ
区分内に複数の複製を有する単一のプロセッサにおいて
も使用できる。
いて特定のアプリケーションを見い出すが、別のメモリ
区分内に複数の複製を有する単一のプロセッサにおいて
も使用できる。
【0010】
【実施例】本発明は、多数の異なるオペレーティング・
システム下に置かれる様々なコンピュータ或いはコンピ
ュータの集合において実行される。コンピュータは例え
ばパーソナル・コンピュータ、ミニ・コンピュータ、或
いはメインフレーム・コンピュータなどである。しかし
ながら、好適には複数のコンピュータはローカル・エリ
ア・ネットワーク、ワイド・エリア・ネットワーク、或
いは大規模遠隔処理システムなどのネットワークの一部
として使用される。コンピュータの特定の選択は、ディ
スク及びディスク記憶装置の要求によってのみ限定され
るが、IBMPS/2シリーズのコンピュータは本発明
により体系化される。IBMのPS/2シリーズ・コン
ピュータに関する情報については、Techinical Referen
ceManual Personal System/2 Model 50、60 Systems IB
M Corporation(Part No.68X2224 Order Number S68X-
2224)、並びにTechinical Reference ManualPersonal
System/2(Model 80)IBM Corporation(Part No.68X2
256 OrderNumber S68X-2254)を参照されたい。IBM
PS/2パーソナル・コンピュータが実行する1つの
オペレーティング・システムとして、IBMのOS/2
2.0があり、これについてはIBM OS/2 2.0 Operat
ing SystemのOS/2 Techinical Library、Programming Guide Vo.1、2、3
Version 2.00(Ordernos.10G6261、10G6495、10G649
4)を参照されたい。
システム下に置かれる様々なコンピュータ或いはコンピ
ュータの集合において実行される。コンピュータは例え
ばパーソナル・コンピュータ、ミニ・コンピュータ、或
いはメインフレーム・コンピュータなどである。しかし
ながら、好適には複数のコンピュータはローカル・エリ
ア・ネットワーク、ワイド・エリア・ネットワーク、或
いは大規模遠隔処理システムなどのネットワークの一部
として使用される。コンピュータの特定の選択は、ディ
スク及びディスク記憶装置の要求によってのみ限定され
るが、IBMPS/2シリーズのコンピュータは本発明
により体系化される。IBMのPS/2シリーズ・コン
ピュータに関する情報については、Techinical Referen
ceManual Personal System/2 Model 50、60 Systems IB
M Corporation(Part No.68X2224 Order Number S68X-
2224)、並びにTechinical Reference ManualPersonal
System/2(Model 80)IBM Corporation(Part No.68X2
256 OrderNumber S68X-2254)を参照されたい。IBM
PS/2パーソナル・コンピュータが実行する1つの
オペレーティング・システムとして、IBMのOS/2
2.0があり、これについてはIBM OS/2 2.0 Operat
ing SystemのOS/2 Techinical Library、Programming Guide Vo.1、2、3
Version 2.00(Ordernos.10G6261、10G6495、10G649
4)を参照されたい。
【0011】別な例として、コンピュータ・システムが
AIX(TM)オペレーティング・システム上で動作す
るIBM RISC System/6000(TM)ラインのコンピュータの
場合が挙げられる。RISC System/6000の様々なモデルが
IBMからの多くの発行書に述べられており、これらに
は、例えばRISC System/6000、7073 and 7016 POWERstation and POWERserver Hardware Technical Re
ference(Order No.SA23-2644-00)がある。
AIX(TM)オペレーティング・システム上で動作す
るIBM RISC System/6000(TM)ラインのコンピュータの
場合が挙げられる。RISC System/6000の様々なモデルが
IBMからの多くの発行書に述べられており、これらに
は、例えばRISC System/6000、7073 and 7016 POWERstation and POWERserver Hardware Technical Re
ference(Order No.SA23-2644-00)がある。
【0012】AIXオペレーティング・システムは、Ge
neral Concepts and Procedure--AIX Version 3 for RI
SC System/6000(Order No.SC23-2202-00)、並びにI
BM社からの他の発行書に述べられている。
neral Concepts and Procedure--AIX Version 3 for RI
SC System/6000(Order No.SC23-2202-00)、並びにI
BM社からの他の発行書に述べられている。
【0013】図1に、システム・ユニット11、キーボ
ード12、マウス13、及びディスプレイ14を含むコ
ンピュータ10が示されている。表示装置14の画面1
6はデータ・オブジェクトの可視的変更を表示するため
に使用される。オペレーティング・システムによりサポ
ートされるグラフィカル・ユーザ・インタフェースによ
り、ユーザは"ポイント・アンド・シュート"入力方法を
使用して、ポインタ15を画面16上の特定のロケーシ
ョンに存在するデータ・オブジェクトを表すアイコンに
移動し、マウス・ボタンの1つを押すことにより、ユー
ザ・コマンドの選択を実行する。選択されたデータ・オ
ブジェクトがウィンドウ上に現れ、ウィンドウ上にはそ
のオブジェクトの任意の数の選択画面が表示される。
ード12、マウス13、及びディスプレイ14を含むコ
ンピュータ10が示されている。表示装置14の画面1
6はデータ・オブジェクトの可視的変更を表示するため
に使用される。オペレーティング・システムによりサポ
ートされるグラフィカル・ユーザ・インタフェースによ
り、ユーザは"ポイント・アンド・シュート"入力方法を
使用して、ポインタ15を画面16上の特定のロケーシ
ョンに存在するデータ・オブジェクトを表すアイコンに
移動し、マウス・ボタンの1つを押すことにより、ユー
ザ・コマンドの選択を実行する。選択されたデータ・オ
ブジェクトがウィンドウ上に現れ、ウィンドウ上にはそ
のオブジェクトの任意の数の選択画面が表示される。
【0014】図2は図1に示されるマルチメディア・パ
ーソナル・コンピュータのコンポーネントのブロック図
を示す。システム・ユニット11はシステム・バス21
を含み、これには様々なコンポーネントが結合され、ま
たコンピュータのバスを介して、種々のコンポーネント
間の通信が実行される。マイクロプロセッサ22がシス
テム・バス21に接続され、同様にシステム・バス21
に接続される読出し専用メモリ(ROM)23、及びラ
ンダム・アクセス・メモリ(RAM)24によりサポー
トされる。IBMマルチメディアPS/2シリーズのコ
ンピュータ内で使用されるマイクロプロセッサは、イン
テル・ファミリのマイクロプロセッサであり、これらに
は386マイクロプロセッサ或いは486マイクロプロ
セッサが含まれるが、他のマイクロプロセッサ、例えば
モトローラ社の68000、68020或いは6803
0マイクロプロセッサなどのマイクロプロセッサ・ファ
ミリ、並びにIBM、ヒューレット・パッカード、サ
ン、インテル、モトローラなどにより製造される様々な
縮小命令セット・コンピュータ(RISC)型マイクロ
プロセッサなどが、特定のコンピュータにおいて使用さ
れる。
ーソナル・コンピュータのコンポーネントのブロック図
を示す。システム・ユニット11はシステム・バス21
を含み、これには様々なコンポーネントが結合され、ま
たコンピュータのバスを介して、種々のコンポーネント
間の通信が実行される。マイクロプロセッサ22がシス
テム・バス21に接続され、同様にシステム・バス21
に接続される読出し専用メモリ(ROM)23、及びラ
ンダム・アクセス・メモリ(RAM)24によりサポー
トされる。IBMマルチメディアPS/2シリーズのコ
ンピュータ内で使用されるマイクロプロセッサは、イン
テル・ファミリのマイクロプロセッサであり、これらに
は386マイクロプロセッサ或いは486マイクロプロ
セッサが含まれるが、他のマイクロプロセッサ、例えば
モトローラ社の68000、68020或いは6803
0マイクロプロセッサなどのマイクロプロセッサ・ファ
ミリ、並びにIBM、ヒューレット・パッカード、サ
ン、インテル、モトローラなどにより製造される様々な
縮小命令セット・コンピュータ(RISC)型マイクロ
プロセッサなどが、特定のコンピュータにおいて使用さ
れる。
【0015】ROM23は他のコードのほかに、対話及
びディスク・ドライブ並びにキーボードなどの基本的ハ
ードウェア・オペレーションを制御する基本入出力シス
テム(BIOS)を含む。RAM24は主メモリであ
り、オペレーティング・システム及びマルチメディア・
アプリケーション・プログラムがロードされる。メモリ
管理チップ25はシステム・バス21に接続されて、直
接メモリ・アクセス・オペレーションを制御する。すな
わち、RAM24とハード・ディスク・ドライブ26
間、及びフロッピ・ディスク・ドライブ27間のデータ
転送が制御される。CD ROM32もまたシステム・
バス21に接続されて、マルチメディア・プログラム或
いはプレゼンテーション内に存在する大量データを記憶
するために使用される。
びディスク・ドライブ並びにキーボードなどの基本的ハ
ードウェア・オペレーションを制御する基本入出力シス
テム(BIOS)を含む。RAM24は主メモリであ
り、オペレーティング・システム及びマルチメディア・
アプリケーション・プログラムがロードされる。メモリ
管理チップ25はシステム・バス21に接続されて、直
接メモリ・アクセス・オペレーションを制御する。すな
わち、RAM24とハード・ディスク・ドライブ26
間、及びフロッピ・ディスク・ドライブ27間のデータ
転送が制御される。CD ROM32もまたシステム・
バス21に接続されて、マルチメディア・プログラム或
いはプレゼンテーション内に存在する大量データを記憶
するために使用される。
【0016】システム・バス21には更に様々なI/O
制御装置が接続され、これらにはキーボード制御装置2
8、マウス制御装置29、ビデオ制御装置30、及びオ
ーディオ制御装置31などが含まれる。キーボード制御
装置28はキーボード12のハードウェア・インタフェ
ースを提供し、マウス制御装置29はマウス13のハー
ドウェア・インタフェースを提供し、ビデオ制御装置3
0はディスプレイ14のハードウェア・インタフェース
を提供し、オーディオ制御装置31はスピーカ15A及
び15Bのハードウェア・インタフェースを提供する。
システム・バス21には更にデジタル信号プロセッサ3
3が接続され、これはスピーカ・システムにより生成さ
れる音声を修正し、好適にはオーディオ制御装置31内
に組込まれる。スピーカ15A及び15Bは、オーディ
オ・オブジェクトをユーザに提供するために使用され
る。最後に、トークン・リング・アダプタなどのI/O
制御装置40がシステム・バスに接続されて、このシス
テムをローカル・エリア・ネットワーク106に接続す
る。
制御装置が接続され、これらにはキーボード制御装置2
8、マウス制御装置29、ビデオ制御装置30、及びオ
ーディオ制御装置31などが含まれる。キーボード制御
装置28はキーボード12のハードウェア・インタフェ
ースを提供し、マウス制御装置29はマウス13のハー
ドウェア・インタフェースを提供し、ビデオ制御装置3
0はディスプレイ14のハードウェア・インタフェース
を提供し、オーディオ制御装置31はスピーカ15A及
び15Bのハードウェア・インタフェースを提供する。
システム・バス21には更にデジタル信号プロセッサ3
3が接続され、これはスピーカ・システムにより生成さ
れる音声を修正し、好適にはオーディオ制御装置31内
に組込まれる。スピーカ15A及び15Bは、オーディ
オ・オブジェクトをユーザに提供するために使用され
る。最後に、トークン・リング・アダプタなどのI/O
制御装置40がシステム・バスに接続されて、このシス
テムをローカル・エリア・ネットワーク106に接続す
る。
【0017】図3は本発明が使用される分散的共同環境
を表す。3つのデータ処理システム100、102及び
104が、ネットワーク106に接続されて示されてい
る。これらのシステムは任意のベンダから提供されるデ
ータ処理システムであるが、好適にはIBM社の製品で
ある。ネットワーク106はイーサネット或いはPCN
etであるが、好適にはIBMトークン・リングであ
る。この図では、各システムはディスプレイ及びメモリ
を有するように示されており、複製データ・オブジェク
トを共用する。第1のシステム100では、ディスプレ
イ108はメモリ114内に存在するデータ・オブジェ
クト120の円グラフを示す。第2のシステム102で
は、ディスプレイ110はメモリ116内に存在するデ
ータ・オブジェクト120の表を示す。第3のシステム
104では、ディスプレイ112はメモリ118内に存
在するデータ・オブジェクト120の棒グラフを示す。
後の説明のために、第1のコンピュータ・システム10
0におけるデータ・オブジェクトがマスタ複製であり、
第2及び第3のシステム102、104におけるデータ
・オブジェクトが、それぞれ第1及び第2の陰影複製で
あるものとする。図3に表される実施例は、本発明がネ
ットワークに接続される3つの別々のプロセッサ上で機
能する場合を示すが、任意の数のプロセッサをネットワ
ークに接続することが可能である。本発明の別の実施例
では、単一のプロセッサ上の3つの異なるメモリ区分内
で機能する3つの別々のプロセスが、プロセス間通信機
能により結合される。
を表す。3つのデータ処理システム100、102及び
104が、ネットワーク106に接続されて示されてい
る。これらのシステムは任意のベンダから提供されるデ
ータ処理システムであるが、好適にはIBM社の製品で
ある。ネットワーク106はイーサネット或いはPCN
etであるが、好適にはIBMトークン・リングであ
る。この図では、各システムはディスプレイ及びメモリ
を有するように示されており、複製データ・オブジェク
トを共用する。第1のシステム100では、ディスプレ
イ108はメモリ114内に存在するデータ・オブジェ
クト120の円グラフを示す。第2のシステム102で
は、ディスプレイ110はメモリ116内に存在するデ
ータ・オブジェクト120の表を示す。第3のシステム
104では、ディスプレイ112はメモリ118内に存
在するデータ・オブジェクト120の棒グラフを示す。
後の説明のために、第1のコンピュータ・システム10
0におけるデータ・オブジェクトがマスタ複製であり、
第2及び第3のシステム102、104におけるデータ
・オブジェクトが、それぞれ第1及び第2の陰影複製で
あるものとする。図3に表される実施例は、本発明がネ
ットワークに接続される3つの別々のプロセッサ上で機
能する場合を示すが、任意の数のプロセッサをネットワ
ークに接続することが可能である。本発明の別の実施例
では、単一のプロセッサ上の3つの異なるメモリ区分内
で機能する3つの別々のプロセスが、プロセス間通信機
能により結合される。
【0018】図4は、更新を実行するために陰影複製に
おいて発信される書込みロック要求の実施例の流れ図を
示す。例えば、第2のシステム102(図3)上の第1
の陰影120' が更新の実行を要望するものとする。状
態がデータの追加/消去/変更により変更される。例え
ば、テキスト・オブジェクト(これは文書のグループ・
エディタにより使用される)では、更新内容として、単
語の追加、単語の消去、或いは単語の変更がある。陰影
複製を更新するための要求により、処理がステップ15
0で開始される。陰影が既に書込みロックを有するかを
判断するためのテストが、ステップ152で実行され
る。有する場合には、ステップ160で更新処理が開始
される。一方、有さない場合には、ステップ154にお
いて、陰影複製がマスタ複製に書込みロック要求を送信
する。図4の流れ図において、書込みロックが当初、マ
スタ複製により保持されているものと仮定する。従っ
て、次にステップ156において、書込みロックがマス
タにより第1の陰影複製に提供される。ステップ158
において第1の陰影は、第1の陰影が現在書込みロック
を有することを通知するメッセージを受信する。ステッ
プ160では、図5に示される更新処理が開始される。
更新処理の終了後、ステップ162において要求を発し
た陰影、すなわちこの場合には第1の陰影が書込みロッ
クを保持する。実施例では、システム性能を改良するた
めに、書込みロックを要求した最後の陰影、或いは更新
を実行した最後の陰影が書込みロックを保持する。ここ
でデータ・オブジェクトに対する更新が、単一の孤立し
た更新としてではなく、むしろグループとして実行され
ることの方が一般的である。従って、書込みロックをマ
スタに返却し、再度それを要求するよりも、次に更新を
実行する可能性が最も高い、最後に要求を発した陰影が
書込みロックを保持することにより、システム性能が改
良される。
おいて発信される書込みロック要求の実施例の流れ図を
示す。例えば、第2のシステム102(図3)上の第1
の陰影120' が更新の実行を要望するものとする。状
態がデータの追加/消去/変更により変更される。例え
ば、テキスト・オブジェクト(これは文書のグループ・
エディタにより使用される)では、更新内容として、単
語の追加、単語の消去、或いは単語の変更がある。陰影
複製を更新するための要求により、処理がステップ15
0で開始される。陰影が既に書込みロックを有するかを
判断するためのテストが、ステップ152で実行され
る。有する場合には、ステップ160で更新処理が開始
される。一方、有さない場合には、ステップ154にお
いて、陰影複製がマスタ複製に書込みロック要求を送信
する。図4の流れ図において、書込みロックが当初、マ
スタ複製により保持されているものと仮定する。従っ
て、次にステップ156において、書込みロックがマス
タにより第1の陰影複製に提供される。ステップ158
において第1の陰影は、第1の陰影が現在書込みロック
を有することを通知するメッセージを受信する。ステッ
プ160では、図5に示される更新処理が開始される。
更新処理の終了後、ステップ162において要求を発し
た陰影、すなわちこの場合には第1の陰影が書込みロッ
クを保持する。実施例では、システム性能を改良するた
めに、書込みロックを要求した最後の陰影、或いは更新
を実行した最後の陰影が書込みロックを保持する。ここ
でデータ・オブジェクトに対する更新が、単一の孤立し
た更新としてではなく、むしろグループとして実行され
ることの方が一般的である。従って、書込みロックをマ
スタに返却し、再度それを要求するよりも、次に更新を
実行する可能性が最も高い、最後に要求を発した陰影が
書込みロックを保持することにより、システム性能が改
良される。
【0019】マスタは各陰影複製がネットワーク内にお
いて配置される場所を追跡する。どの複製がマスタであ
るかを設定し、マスタに陰影を登録する1つの方法が、
米国特許第09/61750号"Determining the Winne
r of a Race in a Distributed System"で述べられている。
いて配置される場所を追跡する。どの複製がマスタであ
るかを設定し、マスタに陰影を登録する1つの方法が、
米国特許第09/61750号"Determining the Winne
r of a Race in a Distributed System"で述べられている。
【0020】図5は、本発明による書込みロックを保持
する陰影複製における更新手順を示す。局所陰影複製が
更新される時に、処理がステップ180で開始される。
次にステップ182で、局所陰影複製を有するシステム
において、更新を反映するために表示がリフレッシュさ
れる。この場合、システム102のディスプレイ110
上に示される表がリフレッシュされる(図3)。次にス
テップ184において、更新を実行した陰影120'
は、第1のシステム100のマスタ複製に新たな更新情
報を送信する。マスタはステップ186において更新を
受信し、ステップ187でこの更新をマスタ複製に提供
する。ディスプレイすなわちこの場合にはデータ・オブ
ジェクトのパイ画面が、マスタ複製120(図3)を保
持するシステム100においてリフレッシュされる。マ
スタ複製はステップ190において、存在する他の陰影
複製に対しても更新を伝搬する。本説明においては、マ
スタは更新を第3のシステム104(図3)上の第2の
陰影120''に送信するものとする。ステップ192に
おいて、第2の陰影複製が更新を適用し、データ・オブ
ジェクトに対する変更を反映するために、棒グラフ11
2表示をリフレッシュする。
する陰影複製における更新手順を示す。局所陰影複製が
更新される時に、処理がステップ180で開始される。
次にステップ182で、局所陰影複製を有するシステム
において、更新を反映するために表示がリフレッシュさ
れる。この場合、システム102のディスプレイ110
上に示される表がリフレッシュされる(図3)。次にス
テップ184において、更新を実行した陰影120'
は、第1のシステム100のマスタ複製に新たな更新情
報を送信する。マスタはステップ186において更新を
受信し、ステップ187でこの更新をマスタ複製に提供
する。ディスプレイすなわちこの場合にはデータ・オブ
ジェクトのパイ画面が、マスタ複製120(図3)を保
持するシステム100においてリフレッシュされる。マ
スタ複製はステップ190において、存在する他の陰影
複製に対しても更新を伝搬する。本説明においては、マ
スタは更新を第3のシステム104(図3)上の第2の
陰影120''に送信するものとする。ステップ192に
おいて、第2の陰影複製が更新を適用し、データ・オブ
ジェクトに対する変更を反映するために、棒グラフ11
2表示をリフレッシュする。
【0021】図6及び図7は、別の陰影複製が書込みロ
ックを保持する時に、第2の陰影複製において発信され
る書込みロック要求の流れ図を示す。処理はステップ2
00において、第2の陰影複製を更新する要求により開
始される。第2の陰影が書込みロックを有するかを判断
するためのテストが、ステップ202で実行される。有
さない場合には、ステップ204でロック要求がマスタ
に送信される。ステップ206において、マスタは自身
が書込みロックを有するかどうかを判断する。有さない
場合、ステップ208において、マスタは図9に示され
るロック・データ構造を参照して、どの陰影が書込みロ
ックを有するかを判断する。マスタはステップ210
で、書込みロックを有する陰影複製に対し、書込みロッ
クをマスタに解放するように依頼する。その陰影はステ
ップ212で書込みロックを解放するが、ステップ21
4で、データ・オブジェクトに対する新たな更新の最中
であるかを判断する。もしそうであれば、この陰影はス
テップ216において、局所複製に対する更新を終了す
る。
ックを保持する時に、第2の陰影複製において発信され
る書込みロック要求の流れ図を示す。処理はステップ2
00において、第2の陰影複製を更新する要求により開
始される。第2の陰影が書込みロックを有するかを判断
するためのテストが、ステップ202で実行される。有
さない場合には、ステップ204でロック要求がマスタ
に送信される。ステップ206において、マスタは自身
が書込みロックを有するかどうかを判断する。有さない
場合、ステップ208において、マスタは図9に示され
るロック・データ構造を参照して、どの陰影が書込みロ
ックを有するかを判断する。マスタはステップ210
で、書込みロックを有する陰影複製に対し、書込みロッ
クをマスタに解放するように依頼する。その陰影はステ
ップ212で書込みロックを解放するが、ステップ21
4で、データ・オブジェクトに対する新たな更新の最中
であるかを判断する。もしそうであれば、この陰影はス
テップ216において、局所複製に対する更新を終了す
る。
【0022】処理は図7に継続する。ステップ218に
おいて、陰影複製はマスタ複製に対して、書込みロック
及び新たな更新を返却する。マスタはステップ220に
おいて、ロック並びに新たな更新を受信する。次にステ
ップ222で、マスタは新たな更新が存在するかを判断
し存在する場合には、ステップ224で、新たな更新が
マスタ複製に提供され、マスタ複製に関連するディスプ
レイがリフレッシュされる。次にステップ226で、新
たな更新が他の陰影に伝搬され、そこで更新が実行され
て、ローカル・ディスプレイがリフレッシュされる。ロ
ックはステップ228で、マスタ複製により第2の陰影
に提供される。第2の陰影複製に対し、それが書込みロ
ックを有することを伝える応答メッセージが、ステップ
230で送信される。この応答はまた、第2の陰影をマ
スタに同期させるのに必要な更新を含む。次にステップ
232で、図5に示される更新手順が開始される。本発
明の実施例によれば、第2の陰影はステップ234にお
いて書込みロックを保持する。なぜなら、第2の陰影が
次の更新を実行する可能性が最も高いからである。
おいて、陰影複製はマスタ複製に対して、書込みロック
及び新たな更新を返却する。マスタはステップ220に
おいて、ロック並びに新たな更新を受信する。次にステ
ップ222で、マスタは新たな更新が存在するかを判断
し存在する場合には、ステップ224で、新たな更新が
マスタ複製に提供され、マスタ複製に関連するディスプ
レイがリフレッシュされる。次にステップ226で、新
たな更新が他の陰影に伝搬され、そこで更新が実行され
て、ローカル・ディスプレイがリフレッシュされる。ロ
ックはステップ228で、マスタ複製により第2の陰影
に提供される。第2の陰影複製に対し、それが書込みロ
ックを有することを伝える応答メッセージが、ステップ
230で送信される。この応答はまた、第2の陰影をマ
スタに同期させるのに必要な更新を含む。次にステップ
232で、図5に示される更新手順が開始される。本発
明の実施例によれば、第2の陰影はステップ234にお
いて書込みロックを保持する。なぜなら、第2の陰影が
次の更新を実行する可能性が最も高いからである。
【0023】図8は、ユーザ・プログラムから局所複製
に対する読出し要求のフル・ダイアグラムを示す。処理
はステップ250において、ユーザ・プログラムからの
ウィンドウ再作成要求により開始される。なぜなら、ユ
ーザは例えば、局所複製コピーの画面を表示するウィン
ドウを移動するように決めたりするからである。本発明
は連続的に全ての複製を更新するため、局所複製は全て
の更新に関して最新の状態を維持するものと仮定する。
従ってステップ252で、ユーザ・プログラムが局所陰
影複製或いはマスタ複製をアクセスする場合、データ・
オブジェクトの最も最近のバージョンを獲得することが
比較的保証される。ステップ256において、ユーザ・
プログラムは要求情報に対応する局所陰影複製或いはマ
スタ複製を読出し、画面表示をリフレッシュする。局所
複製に変更が発生していない場合には、システムを通じ
て更新が伝搬される必要はない。
に対する読出し要求のフル・ダイアグラムを示す。処理
はステップ250において、ユーザ・プログラムからの
ウィンドウ再作成要求により開始される。なぜなら、ユ
ーザは例えば、局所複製コピーの画面を表示するウィン
ドウを移動するように決めたりするからである。本発明
は連続的に全ての複製を更新するため、局所複製は全て
の更新に関して最新の状態を維持するものと仮定する。
従ってステップ252で、ユーザ・プログラムが局所陰
影複製或いはマスタ複製をアクセスする場合、データ・
オブジェクトの最も最近のバージョンを獲得することが
比較的保証される。ステップ256において、ユーザ・
プログラムは要求情報に対応する局所陰影複製或いはマ
スタ複製を読出し、画面表示をリフレッシュする。局所
複製に変更が発生していない場合には、システムを通じ
て更新が伝搬される必要はない。
【0024】図9は一般的な書込みロック260のコピ
ーを示す。マスタ及び陰影の両者とも、図9に示される
ロック・データ構造を保持する。書込みロックは3つの
フィールドから構成され、第1のフィールド261は書
込みロックの状態を、第2のフィールド262はロック
の所有者を、第3のフィールド263はロックの現在の
保持者をそれぞれ含む。実施例におけるロックの所有者
は、常にマスタ複製である。しかしながら、同一の複製
が常時、指定されたマスタ複製でなくてもよい。一般的
に、マスタ複製はネットワークに最初に導入されるシス
テムにおける複製である。ロックの保持者は現在進行中
であり、ネットワーク上で実行中のマスタ複製或いは陰
影複製のいずれかである。
ーを示す。マスタ及び陰影の両者とも、図9に示される
ロック・データ構造を保持する。書込みロックは3つの
フィールドから構成され、第1のフィールド261は書
込みロックの状態を、第2のフィールド262はロック
の所有者を、第3のフィールド263はロックの現在の
保持者をそれぞれ含む。実施例におけるロックの所有者
は、常にマスタ複製である。しかしながら、同一の複製
が常時、指定されたマスタ複製でなくてもよい。一般的
に、マスタ複製はネットワークに最初に導入されるシス
テムにおける複製である。ロックの保持者は現在進行中
であり、ネットワーク上で実行中のマスタ複製或いは陰
影複製のいずれかである。
【0025】図9はまた、書込みロック・データ構造の
3つの特定の実施例を示す。第1の実施例は、書込みロ
ックが陰影1に提供された後のマスタのロック・データ
構造266を示し、ロックの状態267は"ここには存
在しない"となる。また、ロックの所有者268は"自
身"であり、ロックの保持者269は"陰影1"である。
第2の実施例は、ロックを獲得した後の陰影1のロック
・データ構造270を示す。ここではロックの状態27
1は"フリー"であり、ロックの所有者272は "マス
タ" であり、ロックの保持者273は"自身"である。第
3の実施例は、局所更新が進行中の陰影1のロック・デ
ータ構造276を示す。ここではロックの状態277
は"ビジー"であり、所有者278は"マスタ"であり、ロ
ックの保持者279は"自身"である。
3つの特定の実施例を示す。第1の実施例は、書込みロ
ックが陰影1に提供された後のマスタのロック・データ
構造266を示し、ロックの状態267は"ここには存
在しない"となる。また、ロックの所有者268は"自
身"であり、ロックの保持者269は"陰影1"である。
第2の実施例は、ロックを獲得した後の陰影1のロック
・データ構造270を示す。ここではロックの状態27
1は"フリー"であり、ロックの所有者272は "マス
タ" であり、ロックの保持者273は"自身"である。第
3の実施例は、局所更新が進行中の陰影1のロック・デ
ータ構造276を示す。ここではロックの状態277
は"ビジー"であり、所有者278は"マスタ"であり、ロ
ックの保持者279は"自身"である。
【0026】図10は本発明による書込みロック要求の
別の実施例の流れ図である。ステップ280における陰
影複製に対する更新要求に応答して、ローカル・システ
ムはステップ282で、その陰影複製が書込みロックを
有するかを判断する。その陰影複製が書込みロックを所
持しないと判断されると、ローカル・システムはステッ
プ284で、マスタ複製からロック保持者である複製の
名前を要求する。マスタ複製はステップ286で、ロッ
ク保持複製の識別を含むメッセージを要求を発した陰影
複製に返却する。次にステップ288において、陰影複
製は、現在書込みロックを保持する複製から書込みロッ
クを要求する。ステップ290では、ロックを保持する
陰影複製が書込みロックを解放する。この陰影複製は必
要に応じて更新を完了した後、ステップ291におい
て、書込みロック並びに新たな更新を要求を発した陰影
複製に転送する。ステップ292において、要求を発し
た陰影複製は、新たな更新が存在すればこれを適用し、
ローカル・ディスプレイをリフレッシュする。次にステ
ップ293において、陰影はメッセージをマスタに転送
し、新たなロック保持複製並びに新たな更新(存在する
場合)を通知する。マスタはステップ294で新たな更
新を適用し、ステップ295でその新たな更新を伝搬す
る。次にステップ296で、図5に示される更新処理が
要求を発した陰影において開始される。新たなロック保
持者は次の更新を要求する可能性の最も高い複製である
ため、ステップ298において、書込みロックを保持す
る。
別の実施例の流れ図である。ステップ280における陰
影複製に対する更新要求に応答して、ローカル・システ
ムはステップ282で、その陰影複製が書込みロックを
有するかを判断する。その陰影複製が書込みロックを所
持しないと判断されると、ローカル・システムはステッ
プ284で、マスタ複製からロック保持者である複製の
名前を要求する。マスタ複製はステップ286で、ロッ
ク保持複製の識別を含むメッセージを要求を発した陰影
複製に返却する。次にステップ288において、陰影複
製は、現在書込みロックを保持する複製から書込みロッ
クを要求する。ステップ290では、ロックを保持する
陰影複製が書込みロックを解放する。この陰影複製は必
要に応じて更新を完了した後、ステップ291におい
て、書込みロック並びに新たな更新を要求を発した陰影
複製に転送する。ステップ292において、要求を発し
た陰影複製は、新たな更新が存在すればこれを適用し、
ローカル・ディスプレイをリフレッシュする。次にステ
ップ293において、陰影はメッセージをマスタに転送
し、新たなロック保持複製並びに新たな更新(存在する
場合)を通知する。マスタはステップ294で新たな更
新を適用し、ステップ295でその新たな更新を伝搬す
る。次にステップ296で、図5に示される更新処理が
要求を発した陰影において開始される。新たなロック保
持者は次の更新を要求する可能性の最も高い複製である
ため、ステップ298において、書込みロックを保持す
る。
【0027】上述の実施例は単一のデータ・オブジェク
トに関して述べられてきたが、本発明は複数のデータ・
オブジェクトが更新される場合においても対応可能であ
る。また、分散環境における異なるシステムが、異なる
データ・オブジェクトのマスタ複製を保持することも可
能である。1つの状況が図11に示されており、ここで
は共通オブジェクトに関する3つの異なるアプリケーシ
ョンの表示が表されている。第1のウィンドウ300は
マーケット・シェア・アプリケーションに対応し、第2
のウィンドウ302は財政見通しアプリケーションに対
応し、第3のウィンドウ304は研究開発(R&D)支
出アプリケーションに対応する。ここでマーケット・シ
ェア・ウィンドウ300が最初に現れ、財政見通しウィ
ンドウ302が第2に現れ、R&D支出ウィンドウ30
4が最後に現れるものと仮定すると、いくつかの観察が
可能となる。マーケット・シェア・ウィンドウ300
は、販売予測データ・オブジェクト305とマーケット
・シェア・データ・オブジェクト306の両方を含み、
後者は財政見通しウィンドウ302でも共用される。マ
ーケット・シェア・ウィンドウ300が最初に現れるた
め、マーケット・シェア・データ・オブジェクト306
がマスタであり、マーケット・シェア・データ・オブジ
ェクト306' が陰影である。同様に、財政見通しウィ
ンドウ302に示される歳入プロジェクト・データ・オ
ブジェクト307がマスタであり、これはR&D支出ウ
ィンドウ304の歳入プロジェクト・データ・オブジェ
クトより以前に現れる。このように、データ・オブジェ
クトのマスタ・コピーが、異なるマシンにより保持され
ることが可能である。また、財政見通しウィンドウ30
2が最初に現れる場合には、これは両方のマスタ複製を
含むことになる。
トに関して述べられてきたが、本発明は複数のデータ・
オブジェクトが更新される場合においても対応可能であ
る。また、分散環境における異なるシステムが、異なる
データ・オブジェクトのマスタ複製を保持することも可
能である。1つの状況が図11に示されており、ここで
は共通オブジェクトに関する3つの異なるアプリケーシ
ョンの表示が表されている。第1のウィンドウ300は
マーケット・シェア・アプリケーションに対応し、第2
のウィンドウ302は財政見通しアプリケーションに対
応し、第3のウィンドウ304は研究開発(R&D)支
出アプリケーションに対応する。ここでマーケット・シ
ェア・ウィンドウ300が最初に現れ、財政見通しウィ
ンドウ302が第2に現れ、R&D支出ウィンドウ30
4が最後に現れるものと仮定すると、いくつかの観察が
可能となる。マーケット・シェア・ウィンドウ300
は、販売予測データ・オブジェクト305とマーケット
・シェア・データ・オブジェクト306の両方を含み、
後者は財政見通しウィンドウ302でも共用される。マ
ーケット・シェア・ウィンドウ300が最初に現れるた
め、マーケット・シェア・データ・オブジェクト306
がマスタであり、マーケット・シェア・データ・オブジ
ェクト306' が陰影である。同様に、財政見通しウィ
ンドウ302に示される歳入プロジェクト・データ・オ
ブジェクト307がマスタであり、これはR&D支出ウ
ィンドウ304の歳入プロジェクト・データ・オブジェ
クトより以前に現れる。このように、データ・オブジェ
クトのマスタ・コピーが、異なるマシンにより保持され
ることが可能である。また、財政見通しウィンドウ30
2が最初に現れる場合には、これは両方のマスタ複製を
含むことになる。
【0028】
【発明の効果】以上説明したように、本発明によれば、
複数アドレス空間において、複製データ・オブジェクト
を更新する改良された方法が提供される。
複数アドレス空間において、複製データ・オブジェクト
を更新する改良された方法が提供される。
【図1】システム・ユニット、キーボード、マウス、及
びディスプレイを含むコンピュータを示す図である。
びディスプレイを含むコンピュータを示す図である。
【図2】図1に示されるパーソナル・コンピュータのコ
ンポーネントのブロック図である。
ンポーネントのブロック図である。
【図3】本発明が実施される一般的なネットワーク・ア
ーキテクチャを示す図である。
ーキテクチャを示す図である。
【図4】本発明による陰影複製において発信される書込
みロック要求の一実施例の流れ図である。
みロック要求の一実施例の流れ図である。
【図5】本発明による書込みロックを有する陰影複製に
おける更新手順の流れ図である。
おける更新手順の流れ図である。
【図6】第1の陰影複製が書込みロックを保持する時
に、第2の陰影複製において発信される書込みロック要
求の流れ図である。
に、第2の陰影複製において発信される書込みロック要
求の流れ図である。
【図7】第1の陰影複製が書込みロックを保持する時
に、第2の陰影複製において発信される書込みロック要
求の流れ図である。
に、第2の陰影複製において発信される書込みロック要
求の流れ図である。
【図8】ウィンドウ再作成要求に応答する局所陰影複製
における読出しオペレーションの流れ図である。
における読出しオペレーションの流れ図である。
【図9】一般的な書込みロックデータ構造、及びマスタ
複製及び陰影複製に対応する書込みロックデータ構造を
示す図である。
複製及び陰影複製に対応する書込みロックデータ構造を
示す図である。
【図10】書込みロック要求の第2の実施例の流れ図で
ある。
ある。
【図11】本発明により、複数のデータ・オブジェクト
がそれらのデータを更新する実施例を表す図である。
がそれらのデータを更新する実施例を表す図である。
11 システム・ユニット 12 キーボード 13 マウス 14 ディスプレイ 21 システム・バス 22 マイクロプロセッサ 23 読出し専用メモリ(ROM) 24 ランダム・アクセス・メモリ(RAM) 25 メモリ管理チップ 26 ハード・ディスク・ドライブ 27 フロッピ・ディスク・ドライブ 32 CD ROM 28 キーボード制御装置 29 マウス制御装置 30 ビデオ制御装置 31 オーディオ制御装置 33 デジタル信号プロセッサ 40 I/O制御装置 106 ローカル・エリア・ネットワーク 120 データ・オブジェクト 112 棒グラフ 260 書込みロック 266、270、276 ロック・データ構造 267、277 ロックの状態 268、278 ロック所有者 269、279 ロック保持者 300 マーケット・シェア・ウィンドウ 302 財政見通しウィンドウ 304 R&D支出ウィンドウ 305 販売予測データ・オブジェクト 306 マーケット・シェア・データ・オブジェクト 307 歳入プロジェクト・データ・オブジェクト
Claims (2)
- 【請求項1】共通データ・オブジェクトの複数の複製が
存在するデータ処理システムにおいて、複数の複製を更
新する方法であって、 上記システム内の第1のメモリ区画内に存在し且つ現在
書込みロックを保持する第1の複製から書込みロックを
要求するステップと、 上記書込みロックを、上記システム内の第2のメモリ区
画内に存在する第2の複製に転送するステップと、 上記第2の複製の更新を実行するステップと、 少なくとも1つの複製における更新を反映するように、
上記システムの表示をリフレッシュするステップと、 上記更新を上記複数の複製に伝搬するステップとを備え
る方法。 - 【請求項2】共通データ・オブジェクトの複数の複製が
存在するデータ処理システムであって、 少なくとも1つのメモリ内の第1及び第2のメモリ区分
と、 それぞれ上記第1及び第2のメモリ区分内に存在する第
1及び第2の複製と、 現在書込みロックを保持する第1の複製から書込みロッ
クを要求する手段と、 上記書込みロックを第2の複製に転送する手段と、 上記第2の複製の更新を実行する手段と、 上記更新を上記複数の複製に伝搬する手段と、 少なくとも1つの複製における更新を反映するように、
上記システムの表示をリフレッシュする手段とを備える
データ処理システム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US961757 | 1992-10-16 | ||
| US07/961,757 US5418966A (en) | 1992-10-16 | 1992-10-16 | Updating replicated objects in a plurality of memory partitions |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06222968A true JPH06222968A (ja) | 1994-08-12 |
| JP2549252B2 JP2549252B2 (ja) | 1996-10-30 |
Family
ID=25504952
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5240012A Expired - Fee Related JP2549252B2 (ja) | 1992-10-16 | 1993-09-27 | 複製オブジェクトの書込みロックの移動 |
Country Status (2)
| Country | Link |
|---|---|
| US (2) | US5418966A (ja) |
| JP (1) | JP2549252B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7409389B2 (en) | 2003-04-29 | 2008-08-05 | International Business Machines Corporation | Managing access to objects of a computing environment |
Families Citing this family (73)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5418966A (en) * | 1992-10-16 | 1995-05-23 | International Business Machines Corporation | Updating replicated objects in a plurality of memory partitions |
| JP2703498B2 (ja) * | 1993-04-30 | 1998-01-26 | インターナショナル・ビジネス・マシーンズ・コーポレイション | バージョン化オブジェクトに対するロッキング機構 |
| US5526524A (en) * | 1993-12-23 | 1996-06-11 | International Business Machines Corporation | Method and system for management of locked objects in a computer supported cooperative work environment |
| US5884308A (en) * | 1994-04-21 | 1999-03-16 | British Telecommunications Public Limited Company | Updating distributed data files using active token distributed at different times to different sites |
| US5619656A (en) | 1994-05-05 | 1997-04-08 | Openservice, Inc. | System for uninterruptively displaying only relevant and non-redundant alert message of the highest severity for specific condition associated with group of computers being managed |
| JP2580536B2 (ja) * | 1994-06-02 | 1997-02-12 | 工業技術院長 | オブジェクト指向言語における動的オブジェクトの管理方式 |
| US5832487A (en) * | 1994-12-15 | 1998-11-03 | Novell, Inc. | Replicated object identification in a partitioned hierarchy |
| US5608903A (en) * | 1994-12-15 | 1997-03-04 | Novell, Inc. | Method and apparatus for moving subtrees in a distributed network directory |
| US5892954A (en) * | 1995-07-07 | 1999-04-06 | Sun Microsystems, Inc. | Method and apparatus for refreshing file locks to minimize conflicting accesses to data files |
| US6041383A (en) * | 1996-07-22 | 2000-03-21 | Cabletron Systems, Inc. | Establishing control of lock token for shared objects upon approval messages from all other processes |
| US5917998A (en) * | 1996-07-26 | 1999-06-29 | International Business Machines Corporation | Method and apparatus for establishing and maintaining the status of membership sets used in mirrored read and write input/output without logging |
| US6014667A (en) * | 1997-10-01 | 2000-01-11 | Novell, Inc. | System and method for caching identification and location information in a computer network |
| US7930278B2 (en) * | 1998-02-13 | 2011-04-19 | Oracle International Corporation | Methods to perform disk writes in a distributed shared disk system needing consistency across failures |
| US7200623B2 (en) | 1998-11-24 | 2007-04-03 | Oracle International Corp. | Methods to perform disk writes in a distributed shared disk system needing consistency across failures |
| US7162689B2 (en) | 1998-05-28 | 2007-01-09 | Oracle International Corporation | Schema evolution in replication |
| US6532479B2 (en) * | 1998-05-28 | 2003-03-11 | Oracle Corp. | Data replication for front office automation |
| US6529904B1 (en) | 1998-05-28 | 2003-03-04 | Oracle Corp. | Deployment of snapshots with parameterized data description language strings |
| US6792540B1 (en) | 1998-05-28 | 2004-09-14 | Oracle International Corporation | Data replication security |
| US6324544B1 (en) * | 1998-10-21 | 2001-11-27 | Microsoft Corporation | File object synchronization between a desktop computer and a mobile device |
| US6605732B1 (en) * | 1999-05-03 | 2003-08-12 | Aerojet Fine Chemicals Llc | Clean, high-yield preparation of S,S and R,S amino acid isosteres |
| US7596563B1 (en) * | 1999-10-28 | 2009-09-29 | Hewlett-Packard Development Company, L.P. | Computerized file system and method |
| US6505200B1 (en) * | 2000-07-06 | 2003-01-07 | International Business Machines Corporation | Application-independent data synchronization technique |
| US20050091666A1 (en) * | 2000-08-14 | 2005-04-28 | Transvirtual Technologies, Inc. | Portable operating environment for information devices |
| US20040019640A1 (en) * | 2002-07-25 | 2004-01-29 | Bartram Linda Ruth | System and method for distributing shared storage for collaboration across multiple devices |
| US7739240B2 (en) * | 2002-12-09 | 2010-06-15 | Hewlett-Packard Development Company, L.P. | Replication and replica management in a wide area file system |
| US7849452B2 (en) * | 2004-04-23 | 2010-12-07 | Waratek Pty Ltd. | Modification of computer applications at load time for distributed execution |
| 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 |
| US7707179B2 (en) * | 2004-04-23 | 2010-04-27 | Waratek Pty Limited | Multiple computer architecture with synchronization |
| US20050257219A1 (en) * | 2004-04-23 | 2005-11-17 | Holt John M | Multiple computer architecture with replicated memory fields |
| US8090806B1 (en) | 2004-06-10 | 2012-01-03 | Cisco Technology, Inc. | Two-stage network device configuration process |
| US7779404B2 (en) * | 2004-06-10 | 2010-08-17 | Cisco Technology, Inc. | Managing network device configuration using versioning and partitioning |
| US8028299B2 (en) * | 2005-04-21 | 2011-09-27 | Waratek Pty, Ltd. | Computer architecture and method of operation for multi-computer distributed processing with finalization of objects |
| US7958322B2 (en) * | 2005-10-25 | 2011-06-07 | Waratek Pty Ltd | Multiple machine architecture with overhead reduction |
| US7849369B2 (en) * | 2005-10-25 | 2010-12-07 | Waratek Pty Ltd. | Failure resistant multiple computer system and method |
| US7660960B2 (en) | 2005-10-25 | 2010-02-09 | Waratek Pty, Ltd. | Modified machine architecture with partial memory updating |
| 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 |
| US8015236B2 (en) * | 2005-10-25 | 2011-09-06 | Waratek Pty. Ltd. | Replication of objects having non-primitive fields, especially addresses |
| US20080126572A1 (en) * | 2006-10-05 | 2008-05-29 | Holt John M | Multi-path switching networks |
| WO2008040066A1 (en) * | 2006-10-05 | 2008-04-10 | Waratek Pty Limited | Redundant multiple computer architecture |
| US20080140801A1 (en) * | 2006-10-05 | 2008-06-12 | Holt John M | Multiple computer system with dual mode redundancy architecture |
| US7958329B2 (en) * | 2006-10-05 | 2011-06-07 | Waratek Pty Ltd | Hybrid replicated shared memory |
| US20080114853A1 (en) * | 2006-10-05 | 2008-05-15 | Holt John M | Network protocol for network communications |
| WO2008040080A1 (en) * | 2006-10-05 | 2008-04-10 | Waratek Pty Limited | Silent memory reclamation |
| US20080120475A1 (en) * | 2006-10-05 | 2008-05-22 | Holt John M | Adding one or more computers to a multiple computer system |
| WO2008040077A1 (en) * | 2006-10-05 | 2008-04-10 | Waratek Pty Limited | Multiple communication networks for multiple computers |
| US20080133692A1 (en) * | 2006-10-05 | 2008-06-05 | Holt John M | Multiple computer system with redundancy architecture |
| US20080133859A1 (en) * | 2006-10-05 | 2008-06-05 | Holt John M | Advanced synchronization and contention resolution |
| US7962697B2 (en) * | 2006-10-05 | 2011-06-14 | Waratek Pty Limited | Contention detection |
| US20080133690A1 (en) * | 2006-10-05 | 2008-06-05 | Holt John M | Contention detection and resolution |
| US20100121935A1 (en) * | 2006-10-05 | 2010-05-13 | Holt John M | Hybrid replicated shared memory |
| US20080120478A1 (en) * | 2006-10-05 | 2008-05-22 | Holt John M | Advanced synchronization and contention resolution |
| US20080140762A1 (en) * | 2006-10-05 | 2008-06-12 | Holt John M | Job scheduling amongst multiple computers |
| US20080184071A1 (en) * | 2006-10-05 | 2008-07-31 | Holt John M | Cyclic redundant multiple computer architecture |
| US20080133884A1 (en) * | 2006-10-05 | 2008-06-05 | Holt John M | Multiple network connections for multiple computers |
| US20100054254A1 (en) * | 2006-10-05 | 2010-03-04 | Holt John M | Asynchronous data transmission |
| WO2008040074A1 (en) * | 2006-10-05 | 2008-04-10 | Waratek Pty Limited | Contention detection with data consolidation |
| JP5318768B2 (ja) * | 2006-10-05 | 2013-10-16 | ワラテック プロプライエタリー リミテッド | 高度な競合検出 |
| US20080133862A1 (en) * | 2006-10-05 | 2008-06-05 | Holt John M | Contention detection with modified message format |
| US7739349B2 (en) * | 2006-10-05 | 2010-06-15 | Waratek Pty Limited | Synchronization with partial memory replication |
| WO2008040064A1 (en) * | 2006-10-05 | 2008-04-10 | Waratek Pty Limited | Switch protocol for network communications |
| 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 |
| US8527454B2 (en) * | 2007-08-29 | 2013-09-03 | Emc Corporation | Data replication using a shared resource |
| US8510334B2 (en) | 2009-11-05 | 2013-08-13 | Oracle International Corporation | Lock manager on disk |
| US20120278294A1 (en) * | 2011-04-29 | 2012-11-01 | Siemens Product Lifecycle Management Software Inc. | Selective locking of object data elements |
| US9375561B2 (en) | 2011-09-02 | 2016-06-28 | Carefusion 303, Inc. | Self-flushing valve |
| US9569461B2 (en) * | 2014-06-11 | 2017-02-14 | The Boeing Company | Distributed data authority system |
| US10235249B1 (en) * | 2016-07-01 | 2019-03-19 | EMC IP Holding Company LLC | System and method for PaaS replication |
| US10783026B2 (en) * | 2018-02-15 | 2020-09-22 | Honeywell International Inc. | Apparatus and method for detecting network problems on redundant token bus control network using traffic sensor |
| CN109472668B (zh) * | 2018-10-24 | 2021-02-23 | 广州市创乐信息技术有限公司 | 一种商品数据的处理方法、系统、服务器和存储介质 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01258170A (ja) * | 1988-04-08 | 1989-10-16 | Hitachi Ltd | データセット管理方式 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4506360A (en) * | 1982-03-29 | 1985-03-19 | Gould Inc. | Multi-station token pass communication system and method |
| DE3376590D1 (en) * | 1982-04-28 | 1988-06-16 | Int Computers Ltd | Data processing system |
| CA1239227A (en) * | 1984-10-17 | 1988-07-12 | Randy D. Pfeifer | Method of and arrangement for ordering of multiprocessor operations in a multiprocessor system |
| US5220657A (en) * | 1987-12-02 | 1993-06-15 | Xerox Corporation | Updating local copy of shared data in a collaborative system |
| US5055999A (en) * | 1987-12-22 | 1991-10-08 | Kendall Square Research Corporation | Multiprocessor digital data processing system |
| JPH06101044B2 (ja) * | 1988-01-23 | 1994-12-12 | シャープ株式会社 | デッドロック回避実行制御方式 |
| US4961134A (en) * | 1988-07-15 | 1990-10-02 | International Business Machines Corporation | Method for minimizing locking and reading in a segmented storage space |
| US5226143A (en) * | 1990-03-14 | 1993-07-06 | International Business Machines Corporation | Multiprocessor system includes operating system for notifying only those cache managers who are holders of shared locks on a designated page by global lock manager |
| EP0447736B1 (en) * | 1990-03-19 | 1995-09-27 | BULL HN INFORMATION SYSTEMS ITALIA S.p.A. | Multiprocessor system having distributed shared resources and dynamic and selective global data replication and method therefor |
| US5418966A (en) * | 1992-10-16 | 1995-05-23 | International Business Machines Corporation | Updating replicated objects in a plurality of memory partitions |
-
1992
- 1992-10-16 US US07/961,757 patent/US5418966A/en not_active Expired - Lifetime
-
1993
- 1993-09-27 JP JP5240012A patent/JP2549252B2/ja not_active Expired - Fee Related
-
1995
- 1995-01-31 US US08/381,623 patent/US5664176A/en not_active Expired - Lifetime
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01258170A (ja) * | 1988-04-08 | 1989-10-16 | Hitachi Ltd | データセット管理方式 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7409389B2 (en) | 2003-04-29 | 2008-08-05 | International Business Machines Corporation | Managing access to objects of a computing environment |
| US8700584B2 (en) | 2003-04-29 | 2014-04-15 | International Business Machines Corporation | Managing access to objects of a computing environment |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2549252B2 (ja) | 1996-10-30 |
| US5664176A (en) | 1997-09-02 |
| US5418966A (en) | 1995-05-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2549252B2 (ja) | 複製オブジェクトの書込みロックの移動 | |
| JP7263297B2 (ja) | ハイブリッドクラウド弾性スケーリングおよび高性能データ仮想化のためのリアルタイムクロスシステムデータベースレプリケーション | |
| US6643667B1 (en) | System and method for replicating data | |
| US5289574A (en) | Multiple virtual screens on an "X windows" terminal | |
| JP2731374B2 (ja) | 書き込み衝突解決方法 | |
| US6119151A (en) | System and method for efficient cache management in a distributed file system | |
| US6915312B2 (en) | Data processing environment with methods providing contemporaneous synchronization of two or more clients | |
| US5991768A (en) | Finer grained quiescence for data replication | |
| JP3268555B2 (ja) | 記憶システム故障に続き、ミラー論理データ・ボリュームの動的再同期化を有するデータ・プロセッサ記憶システム | |
| JP2731375B2 (ja) | データ識別方法 | |
| JPH03218514A (ja) | I/oバッファのサイズを最適にする方法および最適にされたi/oバッファを有するコンピュータ装置 | |
| US5956713A (en) | Techniques for reducing the number of snapshots of a database | |
| US20070288587A1 (en) | Transactional shared memory system and method of control | |
| CN110188114A (zh) | 一种数据操作的优化方法、装置、系统、设备和存储介质 | |
| WO2025176121A1 (zh) | 数据处理 | |
| US7870566B2 (en) | Application integration for operating systems without inter-process integration support | |
| US5873098A (en) | Dynamic snapshot set adjustment | |
| US7117249B1 (en) | Computer system and data sharing method between computers | |
| US6092166A (en) | Cross-system data piping method using an external shared memory | |
| CN114546720A (zh) | 数据处理方法、分布式协调系统、计算机设备及存储介质 | |
| JP2545436B2 (ja) | 分散デ―タベ―スコミットメント処理装置 | |
| JPH04305741A (ja) | データベース入出力制御方式 | |
| JPH11272628A (ja) | 共用データの転送方法および結合装置 | |
| US6430579B1 (en) | Partition support tool to maintain/service multiple copies of a database | |
| US20040255833A1 (en) | Method, system, and article of manufacture for selecting replication volumes |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |