JP2007299431A - レプリケーション・ファシリティ - Google Patents

レプリケーション・ファシリティ Download PDF

Info

Publication number
JP2007299431A
JP2007299431A JP2007214031A JP2007214031A JP2007299431A JP 2007299431 A JP2007299431 A JP 2007299431A JP 2007214031 A JP2007214031 A JP 2007214031A JP 2007214031 A JP2007214031 A JP 2007214031A JP 2007299431 A JP2007299431 A JP 2007299431A
Authority
JP
Japan
Prior art keywords
files
copy
file
group
computer system
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
JP2007214031A
Other languages
English (en)
Other versions
JP4310354B2 (ja
Inventor
Yuval Neeman
ニーマン ユーヴァル
Peter J Cook
ジェイ クック ピーター
Arnold S Miller
エス ミラー アーノルド
Balan S Raman
エス ラーマン バラン
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.)
Microsoft Corp
Original Assignee
Microsoft 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22665428&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2007299431(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2007299431A publication Critical patent/JP2007299431A/ja
Application granted granted Critical
Publication of JP4310354B2 publication Critical patent/JP4310354B2/ja
Expired - Lifetime legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • 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/99931Database or file accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】分散型環境におけるファイルまたはファイルの部分のレプリケーションを供給するレプリケーション・ファシリティを提供する。
【解決手段】本発明の方法は、レプリケーション・ファシリティ及びそれぞれが記憶装置を含む多数のコンピュータ・システムを有している分散型システムにおいて、ファイルのツリーに編成された複数のファイルを供給し、ファイルのコピーが別のコンピュータ・システムの記憶装置に記憶されるようにレプリケーション・ファシリティを用いて一つのコンピュータ・システムの記憶装置に記憶される単一のファイルをレプリケートし、ファイルのサブツリーのコピーが別のコンピュータ・システムの記憶装置に記憶されるようにレプリケーション・ファシリティを用いて一つのコンピュータ・システムの記憶装置に記憶される、ファイルのツリーから、多重段階のファイルのサブツリーをレプリケートする段階を具備する。
【選択図】図5

Description

本発明は、データ処理システムに関し、より特定的には、分散型システム内で用いられるレプリケーション・ファシリティ(replication facilities)に関する。
レプリケーション・ファシリティは、多数の異なる形式のソフトウェア・プロダクトに供給されている。例えば、レプリケーション・ファシリティは、データベース・プロダクト(database products )、ネットワーク・ディレクトリー・サービス・プロダクト(network directory service products)、及びグループウェア・プロダクト(groupware products)に組み込まれている。
しかしながら、通常のレプリケーション・ファシリティの多くは、何をそれらがレプリケート(replicate )できるかについて制限される。例えば、多くの通常のレプリケータは、一形式の論理構造(例えば、ファイル)をレプリケートできるだけである。更に、通常のレプリケータは、一度にレプリケートされうる論理的構造の量について制限される。特に、多くの通常のレプリケータは、一度に一つのファイルだけをレプリケートできる。
本発明の目的は、上記従来のレプリケーション・ファシリティにおける問題点に鑑み、分散型環境におけるファイルまたはファイルの部分のレプリケーションを供給するレプリケーション・ファシリティを提供することである。
本発明の他の目的は、分散型環境の分散型ネーム空間内であらゆるサブツリーをレプリケートすることができるレプリケーション・ファシリティを提供することである。
本発明の別の目的は、多重マスターの、弱く一貫するレプリケーションを供給するレプリケーション・ファシリティを提供することである。
本発明の更なる目的は、公開レプリケーションと専用レプリケーションの両方を支援するレプリケーション・ファシリティを提供することである。
本発明の上記目的は、レプリケーション・ファシリティ及びそれぞれが記憶装置を含む多数のコンピュータ・システムを有している分散型システムにおいて、ファイルのツリーに編成された複数のファイルを供給し、ファイルのコピーが別のコンピュータ・システムの記憶装置に記憶されるようにレプリケーション・ファシリティを用いて一つのコンピュータ・システムの記憶装置に記憶される単一のファイルをレプリケートし、ファイルのサブツリーのコピーが別のコンピュータ・システムの記憶装置に記憶されるようにレプリケーション・ファシリティを用いて一つのコンピュータ・システムの記憶装置に記憶される、ファイルのツリーから、多重段階のファイルのサブツリーをレプリケートする段階を具備する方法によって達成される。
本発明の方法において、ファイルのコピーが追加のコンピュータ・システムの記憶装置に記憶されるようにレプリケーション・ファシリティを用いて単一ファイルをレプリケートする段階を更に具備するように構成してもよい。
本発明の方法において、サブツリーのコピーが追加のコンピュータ・システムの記憶装置に記憶されるようにレプリケーション・ファシリティを用いてサブツリーをレプリケートする段階を更に具備するように構成してもよい。
本発明の方法において、レプリケートされているサブツリーは、少なくとも三段階のファイルを含むように構成してもよい。
また、上述した本発明の目的は、それぞれがファイルを記憶する記憶装置を含んでいる複数のコンピュータ・システムと、ファイルのネームのツリー構造としてシステムのネーム空間を管理するネーム空間管理プログラムと、ネーム空間のサブツリーを含んでいるあらゆるファイルをレプリケートするレプリケーション・ファシリティとを備えている分散型システムによっても達成される。
更に、上述した本発明の目的は、リコンサイラ・ファシリティ及び多数のコンピュータ・システムを有している分散型システムにおいて、一つのコンピュータ・システムのファイルの第1のコピー及び別のコンピュータ・システムのファイルの第2のコピーを供給し、最後に一致されて以来ファイルの第1のコピーに対してなされたあらゆる変更をファイルの第2のコピーが組み込むようにリコンサイラ・ファシリティを用いてファイルの第1のコピーをファイルの第2のコピーと一致させ、一つのコンピュータ・システムの一群のファイルの第1のコピー及び別のコンピュータ・システムの一群のファイルの第2のコピーを供給し、最後に一致されて以来一群のファイルの第1のコピーに対してなされたあらゆる変更を一群のファイルの第2のコピーが組み込むようにリコンサイラ・ファシリティを用いて一群のファイルの第1のコピーを一群のファイルの該第2のコピーと一致させる段階を具備する方法によっても達成される。
本発明において、一群のファイルの第1のコピーを一群のファイルの第2のコピーと一致させる段階は、一群のファイルの第1のコピーの各ファイルを一群のファイルの第2のコピーの対応しているファイルと対基準により一対で一致させる段階を更に含むように構成してもよい。
本発明の上述した目的は、レプリケーション・ファシリティ及びそれぞれが記憶装置を含んでいる多数のコンピュータ・システムを有している分散型システムにおいて、第1のコンピュータ・システムの記憶装置に記憶される一群のファイルの第1のコピーを供給し、第2のコンピュータ・システムの記憶装置に記憶される一群のファイルの第2のコピーを供給し、一群のファイルの第1のコピーのファイルの少なくとも一つに対して変更を行い、事象の発生により一群のファイルの第2のコピーへ変更を伝搬し、一群のファイルの第1のコピーのファイルの少なくとも一つに対して追加の変更を行い、別の事象の発生により一群のファイルの第2のコピーへ追加の変更を伝搬する段階を具備する方法によっても達成される。
本発明において、事象は、所定の時限の経過であるように構成してもよい。
本発明において、別の事象も、所定の時限の経過であるように構成してもよい。
本発明において、事象は、変更を受け取るための第2のコンピュータ・システムによる要求であるように構成してもよい。
本発明において、別の事象は、追加の変更を受け取るための第2のコンピュータ・システムによる要求であるように構成してもよい。
本発明において、一群のファイルの第2のコピーが一群のファイルの第1のコピーに対してなされた変更を組み込むように一群のファイルの第2のコピーを一群のファイルの第1のコピーと一致させる段階を更に含むように構成してもよい。
本発明において、一群のファイルの第2のコピーが一群のファイルの第1のコピーに対してなされた追加の変更を組み込むように一群のファイルの第2のコピーを一群のファイルの第1のコピーと一致させる段階を更に含むように構成してもよい。
上述した本発明の目的は、レプリケーション・ファシリティ及びそれぞれが記憶装置を含むコンピュータ・システムを有している分散型システムにおいて、コンピュータ・システムの記憶装置に、ネームを有している、ファイルを記憶し、記憶されたファイルのネームの論理的編成からなる分散型ネーム空間を供給し、ファイルの選択された部分を保持している新しいファイルを生成するためにレプリケーション・ファシリティを用いてそのネームが分散型ネーム空間の一部を形成しかつ一つのコンピュータ・システムの記憶装置に記憶された一群のファイルの選択された部分をレプリケートする段階を具備する方法によっても達成される。
本発明において、分散型システムのコンピュータ・システムの少なくとも部分にわたり新しいファイルを分散すべく新しいファイルをレプリケートする段階を更に具備するように構成してもよい。
また、上記本発明の目的は、第1のコンピュータ・システム及び第2のコンピュータ・システムを有している分散型システムにおいて、第1のコンピュータ・システムに記憶される所与のクラスの一組のファイルの第1のコピーを供給し、第2のコンピュータ・システムに記憶される所与のクラスの一組のファイルの第2のコピーを供給し、所与のクラスのファイルだけを一致させるクラス特定リコンサイラを用いて一組のファイルの第1のコピーを一組のファイルの第2のコピーと一致させる段階を具備する方法によっても達成される。
本発明において、一組のファイルの第1のコピーに対して変更を行い、クラスに関係なくファイルを一致させるクラス独立リコンサイラを用いて一組のファイルの第1のコピーを一組のファイルの第2のコピーと一致させる段階を更に含むように構成してもよい。
更に、本発明の上記目的は、専用レプリケーション機構及びそれぞれが記憶装置を含んでおり処理を実行するためのコンピュータ・システムを有している分散型システムにおいて、一つのコンピュータ・システム上でアプリケーション・プログラムを実行し、アプリケーション内にてそれぞれがファイルをアクセスすることを許容される処理のリストを維持している一組のファイルをリプリケートすべく専用レプリケーション機構に対して要求を行い、ファイルをアクセスすることを許容される処理のリストを、各ファイルに対して、レプリケートすることなく新しい組のファイルを生成すべく専用レプリケーション機構を用いて一組のファイルをレプリケートする段階を具備する方法によっても達成される。
本発明の上記目的は、第1のコンピュータ・システム及び第2のコンピュータ・システムを有している分散型システムにおいて、第1のコンピュータ・システムでファイルのコレクションを供給し、ファイルのコレクションを第2のコンピュータ・システムへレプリケートするための要求に応じて、コレクションの全てのファイルがレプリケートされるべきかまたはされるべきでないかを決定し、コレクションの全てのファイルがレプリケートされるべきであると決定されるならば、コレクションのレプリカが第2のコンピュータ・システムで供給されるようにコレクションの全てのファイルをレプリケートし、コレクションの全てのファイルがレプリケートされるべきでないと決定されるならば、コレクションのファイルの全てをレプリケートしない段階を具備する方法によっても達成される。
また、本発明の上述した目的は、第1のコンピュータ・システム及び第2のコンピュータ・システムを有している分散型システムにおいて、第1のコンピュータ・システムの一群のファイルの第1のコピーを供給し、第2のコンピュータ・システムの一群のファイルの第2のコピーを供給し、一群のファイルの第1のコピーに対して変更を行い、それぞれが一群のファイルの第1のコピーのファイルをアクセスしかつ読取るためのアクセス権を有するエージェントを一群のファイルの第1のコピーに対して供給し、一群のファイルの第2のコピーを一群のファイルの第1のコピーと一致させるために第2のコンピュータ・システムでリコンサイラを供給し、一群のファイルの第1のコピーのファイルをアクセスしかつ読取るべく限定された権限をリコンサイラに賦与するプロクシを、一群のファイルの第1のコピーのエージェントからリコンサイラへ賦与し、一群のファイルの第1のコピーに対してなされた変更が一群のファイルの第2のコピーに対してなされるようにリコンサイラを用いて一群のファイルの第2のコピーを一群のファイルの第1のコピーと一致させる段階を具備する方法によっても達成される。
更に、本発明の目的は、分散型システムにおいて、分散型システムの非均質ファイル・システムを供給し、ファイル・システムのファイルへのアクセスを管理すべく各ファイル・システムに対して記憶管理プログラムを供給し、第1の組のファイルを第2の組のファイルと一致させるための要求に応じて、第1の組のファイルを保持するファイル・システムに対する記憶管理プログラムにより第1の組のファイルへのアクセスを賦与し、かつ第2の組のファイルを保持するファイル・システムに対する記憶管理プログラムにより第2の組のファイルへのアクセスを賦与し、第1の組のファイル及び第2の組のファイルを保持しているそれぞれのファイル・システムの記憶管理プログラムの制御の下で第1のオブジェクト・セットを第2の組のオブジェクトと一致させる段階を具備する方法によっても達成される。
本発明において、ファイル・システムに記憶されるファイルの各コピーは、記憶管理プログラムによって記憶特定識別子が供給されるように構成してもよい。
本発明において、各記憶管理プログラムは、そのファイル・システムのファイルへ変更を報告するように構成してもよい。
本発明において、変更は、ファイルの消去を含むように構成してもよい。
本発明において、変更は、ファイルの改名を含むように構成してもよい。
本発明において、変更は、分散型システムのファイルの移動を含むように構成してもよい。
本発明において、変更は、変更記録簿へ報告されかつ一致させる段階は、変更記録簿を用いて実行されるように構成してもよい。
本発明において、ファイルの各コピーは、固有の識別子に割り当てられかつ一致させる段階は、どのファイルが一致させられるのかを決定するために識別子を比較することを含むように構成してもよい。
(作用)
本発明の好ましい実施例の第1の観点によれば、レプリケーション・ファシリティ及びそれぞれが記憶装置を含む多数のコンピュータ・システムを有している分散型システムにおいて方法が実行される。この方法では、複数のファイルが供給されかつツリー(木)に編成される。ファイルの単一のものは、ファイルのオリジナル・コピーよりも、ファイルのコピーが異なるコンピュータシステムの記憶装置に記憶されるようにレプリケーション・ファシリティを用いてレプリケートされる。多重レベルのファイルのサブツリーもレプリケートされる。サブツリーは、一つのコンピュータ・システムの記憶装置に初め記憶されている。レプリケーションは、サブツリーのコピー及びそのファイルが別のコンピュータ・システムの記憶装置に記憶されるようにレプリケーション・ファシリティを用いて実行される。
本発明の別の観点によれば、ファイルの第1のコピーは、一つのコンピュータ・システムに供給される。ファイルの第2のコピーは、別のコンピュータ・システムに供給される。ファイルの第1のコピーは、リコンサイラ・ファシリティ(reconciler facility )を用いてファイルの第2のコピーと一致される。リコンシリエーション(reconciliation)は、ファイルの第2のコピーがファイルの第1のコピーになされたあらゆる変更(changes )を含むことを確実にする。一群のファイルの第1のコピーは、一つのコンピュータ・システムに供給され、そして一群のファイルの第2のコピーは、別のコンピュータ・システムに供給される。リコンサイラ・ファシリティは、最後に一致されていらい一群のファイルの第2のコピーが一群のファイルの第1のコピーになされたあらゆる変更を含むように一群のファイルの第1のコピーを一群のファイルの第2のコピーと一致させるべく用いられる。
本発明の更なる観点によれば、一群のファイルの第1のコピーは、第1のコンピュータ・システムの記憶装置に記憶される。一群のファイルの第2のコピーは、第2のコンピュータ・システムの記憶装置に記憶される。変更は、一群のファイルの第1のコピーのファイルの少なくとも一つに対してなされる。変更は、事象の発生によりファイルの第2の群へ伝達される。追加の変更は、一群のファイルの第1のコピーのファイルの少なくとも一つに対してなされ、そしてこれらの変更は、別の事象の発生により一群のファイルの第2のコピーへも伝達される。
本発明の別の観点によれば、一群のファイルの第1のコピーは、第1のコンピュータ・システムの記憶装置に記憶される。一群のファイルの第2のコピーは、第2のコンピュータ・システムの記憶装置に記憶される。一群のファイルの第1のコピーに対してなされたあらゆる変更は、変更が一群のファイルの第2のコピーに対してなされうるように第2のコンピュータ・システムへ増加的に送られる。
本発明の追加の観点によれば、記憶装置の一つに記憶されるファイルの第1のセットは、レプリケートされるべく特定される。フィルタは、ファイルの第1のセットのどのファイルがレプリケートされるべきかを決定するために特定される。フィルタによって特定されたファイルは、ファイルの第2のセットを生成すべくレプリケーション・ファシリティを用いてレプリケートされる。
本発明の更なる観点によれば、ネームを有しているファイルは、分散型システムのコンピュータ・システムの記憶装置に記憶される。分散型ネーム空間は、供給される。分散型ネーム空間は、記憶されたファイルのネームの論理的編成(logical organization)を含む。ネーム空間の一群のファイル選択された部分は、ファイルの選択された部分を保持している新しいファイルを生成すべくレプリケートされる。
本発明の更なる観点によれば、所与クラスの一セットのファイルの第1のコピーは、第1のコンピュータ・システムに記憶される。一セットのファイルの第2のコピーは、第2のコンピュータ・システムに記憶される。一セットのファイルの第1のコピーは、所与クラスのファイルだけを一致するクラス特定リコンサイラ(class-specific reconciler )を用いて一セットの第2のコピーと一致される。ファイルは、クラスに編成される、持続オブジェクト(persistent objects)として記憶されうる。オフジェクト及びクラスは、後述する。
本発明の別の観点によれば、アプリケーション・プログラムは、分散型システムのコンピュータ・システムの一つで実行される。一セットのファイルをレプリケートすべく、要求がアプリケーション・プログラム内で専用レプリケーション機構に対してなされる。ファイルのそれぞれは、ファイルをアクセスすることが許される処理の一覧表を維持する。一セットのファイルは、ファイルをアクセスすることが許される処理の一覧表をレプリケートしないでファイルの新しいセットを生成すべく専用レプリケーション機構(private replication mechanism )を用いてレプリケートされる。
本発明の更なる観点によれば、一群のファイルの第1のコピーは、第1のコンピュータ・システムに供給され、そして一群のファイルの第2のコピーは、第2のコンピュータ・システムに供給される。変更は、一群のファイルの第1のコピーに対してなされる。エージェントは、一群のファイルの第1のコピーに対して供給される。各エージェントは、一群のファイルの第1のコピーにおけるファイルをアクセスしかつ読取るためのアクセス権を有する。リコンサイラ(reconciler)は、一群のファイルの第2のコピーを一群のファイルの第1のコピーと一致させるために第2のコンピュータ・システムで供給される。プロクシ(proxy )は、一群のファイルの第1のコピーのエージェントからリコンサイラへ与えられる。プロクシは、一群のファイルの第1のコピーにおけるファイルをアクセスしかつ読取るために限定された権限(limited authority )をリコンサイラに与える。次に、リコンサイラは、一群のファイルの第1のコピーに対してなされた変更が一群のファイルの第2のファイルにもなされるようにリコンサイラを用いて一群のファイルの第2のコピーを一群のファイルの第1にコピーと一致させる。
本発明の最後の観点によれば、方法は、分散型システムにおいて実施される。
この方法では、非均質ファイル・システム(heterogeneous file systems)が分散型システムに供給される。それに保持されるファイルへのアクセスを管理するために、記憶管理プログラム(storage manager )が各ファイル・システムに対して供給される。ファイルの第1のセットをファイルの第2のセットと一致させるための要求に応じて、ファイルの第1のセットを保持するファイル・システムに対する記憶管理プログラムによってアクセスがファイルの第1のセットへ与えられ、かつファイルの第2のセットを保持するファイル・システムに対する記憶管理プログラムによってアクセスがファイルの第2のセットへ与えられる。第1のオブジェクト・セットは、ファイルの第1のセット及びファイルの第2のセットを保持するそれぞれのファイル・システムの記憶管理プログラムの制御の下で第2のオブジェクト・セットと一致させられる。
本発明の方法は、レプリケーション・ファシリティ及びそれぞれが記憶装置を含む多数のコンピュータ・システムを有している分散型システムにおいて、ファイルのツリーに編成された複数のファイルを供給し、ファイルのコピーが別のコンピュータ・システムの記憶装置に記憶されるようにレプリケーション・ファシリティを用いて一つのコンピュータ・システムの記憶装置に記憶される単一のファイルをレプリケートし、ファイルのサブツリーのコピーが別のコンピュータ・システムの記憶装置に記憶されるようにレプリケーション・ファシリティを用いて一つのコンピュータ・システムの記憶装置に記憶される、ファイルのツリーから、多重段階のファイルのサブツリーをレプリケートする段階を具備するので、分散型環境におけるファイルまたはファイルの部分のレプリケーションを供給し、かつ多重マスターの弱一貫性のレプリケーションを供給することができる。
本発明の分散型システムは、それぞれがファイルを記憶する記憶装置を含んでいる複数のコンピュータ・システムと、ファイルのネームのツリー構造としてシステムのネーム空間を管理するネーム空間管理プログラムと、ネーム空間のサブツリーを含んでいるあらゆるファイルをレプリケートするレプリケーション・ファシリティとを備えているので、分散型環境の分散型ネーム空間内であらゆるサブツリーをレプリケートすることが可能である。
本発明の方法は、リコンサイラ・ファシリティ及び多数のコンピュータ・システムを有している分散型システムにおいて、一つのコンピュータ・システムのファイルの第1のコピー及び別のコンピュータ・システムのファイルの第2のコピーを供給し、最後に一致されて以来ファイルの第1のコピーに対してなされたあらゆる変更をファイルの第2のコピーが組み込むようにリコンサイラ・ファシリティを用いてファイルの第1のコピーをファイルの第2のコピーと一致させ、一つのコンピュータ・システムの一群のファイルの第1のコピー及び別のコンピュータ・システムの一群のファイルの第2のコピーを供給し、最後に一致されて以来一群のファイルの第1のコピーに対してなされたあらゆる変更を一群のファイルの第2のコピーが組み込むようにリコンサイラ・ファシリティを用いて一群のファイルの第1のコピーを一群のファイルの該第2のコピーと一致させる段階を具備するので、分散型環境におけるファイルまたはファイルの部分のレプリケーションを供給する。
本発明の方法は、レプリケーション・ファシリティ及びそれぞれが記憶装置を含んでいる多数のコンピュータ・システムを有している分散型システムにおいて、第1のコンピュータ・システムの記憶装置に記憶される一群のファイルの第1のコピーを供給し、第2のコンピュータ・システムの記憶装置に記憶される一群のファイルの第2のコピーを供給し、一群のファイルの第1のコピーのファイルの少なくとも一つに対して変更を行い、事象の発生により一群のファイルの第2のコピーへ変更を伝搬し、一群のファイルの第1のコピーのファイルの少なくとも一つに対して追加の変更を行い、別の事象の発生により一群のファイルの第2のコピーへ追加の変更を伝搬する段階を具備するので、分散型環境におけるファイルまたはファイルの部分のレプリケーションを供給する。
本発明の方法は、レプリケーション・ファシリティ及びそれぞれが記憶装置を含むコンピュータ・システムを有している分散型システムにおいて、コンピュータ・システムの記憶装置に、ネームを有している、ファイルを記憶し、記憶されたファイルのネームの論理的編成からなる分散型ネーム空間を供給し、ファイルの選択された部分を保持している新しいファイルを生成するためにレプリケーション・ファシリティを用いてそのネームが分散型ネーム空間の一部を形成しかつ一つのコンピュータ・システムの記憶装置に記憶された一群のファイルの選択された部分をレプリケートする段階を具備するので、分散型環境の分散型ネーム空間内であらゆるサブツリーをレプリケートすることが可能である。
本発明の方法は、第1のコンピュータ・システム及び第2のコンピュータ・システムを有している分散型システムにおいて、第1のコンピュータ・システムに記憶される所与のクラスの一組のファイルの第1のコピーを供給し、第2のコンピュータ・システムに記憶される所与のクラスの一組のファイルの第2のコピーを供給し、所与のクラスのファイルだけを一致させるクラス特定リコンサイラを用いて一組のファイルの第1のコピーを一組のファイルの第2のコピーと一致させる段階を具備するので、分散型環境におけるファイルまたはファイルの部分のレプリケーションを供給する。
本発明の方法は、専用レプリケーション機構及びそれぞれが記憶装置を含んでおり処理を実行するためのコンピュータ・システムを有している分散型システムにおいて、一つのコンピュータ・システム上でアプリケーション・プログラムを実行し、アプリケーション内にてそれぞれがファイルをアクセスすることを許容される処理のリストを維持している一組のファイルをリプリケートすべく専用レプリケーション機構に対して要求を行い、ファイルをアクセスすることを許容される処理のリストを、各ファイルに対して、レプリケートすることなく新しい組のファイルを生成すべく専用レプリケーション機構を用いて一組のファイルをレプリケートする段階を具備するので、多重マスターの、弱一貫性のレプリケーションを供給し、公開レプリケーションと専用レプリケーションの両方を支援するという効果を奏する。
本発明の方法は、第1のコンピュータ・システム及び第2のコンピュータ・システムを有している分散型システムにおいて、第1のコンピュータ・システムでファイルのコレクションを供給し、ファイルのコレクションを第2のコンピュータ・システムへレプリケートするための要求に応じて、コレクションの全てのファイルがレプリケートされるべきかまたはされるべきでないかを決定し、コレクションの全てのファイルがレプリケートされるべきであると決定されるならば、コレクションのレプリカが第2のコンピュータ・システムで供給されるようにコレクションの全てのファイルをレプリケートし、コレクションの全てのファイルがレプリケートされるべきでないと決定されるならば、コレクションのファイルの全てをレプリケートしない段階を具備するので、分散型環境におけるファイルまたはファイルの部分のレプリケーションを供給し、多重マスターの、弱一貫性のレプリケーションを供給する。
本発明の方法は、第1のコンピュータ・システム及び第2のコンピュータ・システムを有している分散型システムにおいて、第1のコンピュータ・システムの一群のファイルの第1のコピーを供給し、第2のコンピュータ・システムの一群のファイルの第2のコピーを供給し、一群のファイルの第1のコピーに対して変更を行い、それぞれが一群のファイルの第1のコピーのファイルをアクセスしかつ読取るためのアクセス権を有するエージェントを一群のファイルの第1のコピーに対して供給し、一群のファイルの第2のコピーを一群のファイルの第1のコピーと一致させるために第2のコンピュータ・システムでリコンサイラを供給し、一群のファイルの第1のコピーのファイルをアクセスしかつ読取るべく限定された権限をリコンサイラに賦与するプロクシを、一群のファイルの第1のコピーのエージェントからリコンサイラへ賦与し、一群のファイルの第1のコピーに対してなされた変更が一群のファイルの第2のコピーに対してなされるようにリコンサイラを用いて一群のファイルの第2のコピーを一群のファイルの第1のコピーと一致させる段階を具備するので、分散型環境におけるファイルまたはファイルの部分のレプリケーションを供給し、多重マスターの、弱一貫性のレプリケーションを供給する。
本発明の方法は、分散型システムにおいて、分散型システムの非均質ファイル・システムを供給し、ファイル・システムのファイルへのアクセスを管理すべく各ファイル・システムに対して記憶管理プログラムを供給し、第1の組のファイルを第2の組のファイルと一致させるための要求に応じて、第1の組のファイルを保持するファイル・システムに対する記憶管理プログラムにより第1の組のファイルへのアクセスを賦与し、かつ第2の組のファイルを保持するファイル・システムに対する記憶管理プログラムにより第2の組のファイルへのアクセスを賦与し、第1の組のファイル及び第2の組のファイルを保持しているそれぞれのファイル・システムの記憶管理プログラムの制御の下で第1のオブジェクト・セットを第2の組のオブジェクトと一致させる段階を具備するので、分散型環境におけるファイルまたはファイルの部分のレプリケーションを供給し、多重マスターの、弱一貫性のレプリケーションを供給する。
本発明の好ましい実施例は、分散型環境(distributed environment )で用いられるレプリケーション・ファシリティを提供する。レプリケーション・ファシリティは、システムの分散型ネーム空間における存続オブジェクト(persistent objects)のあらゆるツリーの弱一貫レプリケーション(weakly consistent replication )を支援する。レプリケーション・ファシリティは、単独オブジェクト(single objects)をレプリケート(模写、複製:replicate )しうるか、または多重オブジェクトを含む論理的構造(logical structures)をレプリケートしうる。レプリケーション・ファシリティは、オブジェクトの局所コピー(local copies)をオブジェクトの遠隔コピー(remote copies )と一致させる。リコンシリエーション(一致、reconciliation)は、オブジェクトの局所セットにおける各オブジェクトが局所オブジェクトの遠隔セットにおける(それに)対応するオブジェクトと一致させられるように一対様式基準(a pair-wise basis )で発生する。リコンシリエーションは、非均質ファイル・システム(heterogeneous file systems)にわたって発生しうる。
図1は、本発明の好ましい実施例を実行するのに適当な分散型システム10を示す。分散型システム10は、多数の異なるデータ処理資源を相互接続する、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、または他の相互接続機構のような、相互接続機構12を含む。データ処理資源は、ワークステーション14、16、18及び20、プリンタ22及び24、そして二次記憶装置26及び28を含む。ワークステーション14、16、18及び20のそれぞれは、各々メモリ30、32、34及び36を含む。メモリ30、32、34及び36のそれぞれは、分散型オペレーティング・システム38のコピーを保持する。各ワークステーション14、16、18及び20は、個別のファイル・システムを実行しうる。
当業者は、本発明が図1に示す構成以外の構成で実施しうるということに注目するであろう。図1に示す分散型システム10は、単に説明のために企図したものであり、本発明を限定するものではない。例えば、相互接続機構12は、個別のネットワーク・オペレーティング・システムを実行している多数のネットワークを一緒に相互接続しうる。
本発明の好ましい実施例は、ユーザ及びシステム管理責任者に存続“オブジェクト”をレプリケートさせる。このコンテキストにおいて、オブジェクトは、少なくとも一つのデータ・フィールド(data field)を保持する論理的構造である。類似な特性(similar properties)及び共通な意味(コモン・セマンティクス:common semantics)を有するオブジェクトの群は、オブジェクト・クラス(object classes)に編成される。多数の異なるオブジェクト・クラスが分散型システム10について規定されうる。本発明の好ましい実施例は、オブジェクトを採用するけれども、当業者は、本発明がオブジェクト指向型環境だけに限定されない;それよりも、本発明は、非オブジェクト指向型環境においても実施されうるということに注目するであろう。本発明は、オブジェクトのレプリケーションに限定されない;それよりも、ファイルやファイル・ディレクツリーズ(file directories)のような、論理的構造のレプリケーションを支援することがより一般化される。
オペレーティング・システム38は、本発明の好ましい実施例で用いられるオブジェクトを記憶するためのファイル・システムを含む。オブジェクトは、分散型ネーム空間19に編成される(図2参照)。分散型ネーム空間19は、オペレーティング・システム38のファイル・システムに記憶されたオブジェクト・ネーム21から形成された論理的ツリー式構造(logical tree-like structure )である。分散型ネーム空間19は、システム10の名前付きオブジェクト(named objects )の中で階層を示す(図1参照)。
本発明の好ましい実施例のレプリケーション・ファシリティは、オブジェクトが分散型システムにわたって分散されうるようにオブジェクトのデュプリケーション(複写:duplication )に対して供給するだけでなく、オブジェクトの多重コピーのリコンシリエーション(即ち、マルチマスター・レプリケーション:multimaster replication )に対しても供給する。リコンシリエーションは、オブジェクトが変更されたオブジェクトに対してなされた変更を反映するように、オブジェクトを変更されたオブジェクトとリコンサイルする(一致させる) ことを意味する。例えば、オブジェクトの遠隔コピーが変更されかつオブジェクトの局所コピーがその変更を反映すべくまだ更新されていないものと仮定する。各オブジェクトは、分散型ファイル・システム内にコンテント(内容)を有するだけでなくネーム(名前)及び位置をも有する。リコンシリエーションは、オブジェクトの局所コピーがオブジェクトの遠隔コピーが変更された方法と同様なファッションで変更されるようにオブジェクトの二つのコピーを一致させることを含む。ここで用いられるように、項目“レプリケーション”は、オブジェクトの多重コピーが分散型システム10にわたって分散されるようにオブジェクトをデュプリケーティングする(複写する)ことだけを意味するのではなく、オブジェクトのコピーのリコンシリエーション(一致)をも意味する。
以下により詳細に本発明の好ましい実施例を説明する前に、以下で参照される2〜3のキー・コンセプトを導入することは、有益である。“オブジェクト・セット(object set)”は、レプリケーションに対して一緒にグループ化されるオブジェクトのコレクション(collection)である。オブジェクト・セットは、単一のオブジェクトまたはオブジェクトのサブツリーを含みうる。オブジェクト・セットは、レプリケーションを要求するユーザまたは管理責任者によって特定される。“レプリカ・セット(replica set)”は、対照的に、それぞれがオブジェクト・セットの局所コピーを所有するシステムのコレクションであり、“レプリカ(replica)”は、レプリカ・セットの構成部材(member)である。横たわっている物理的記憶システム(underlying physical storage system)(例えば、オブジェクトを記憶すべく採り入れられたファイル・システムの形式)からレプリケーション・ファシリティを防護(隔離)する(insulate)ためにかつ拡張性を供給するために、本発明の好ましい実施例は、レプリケートされたオブジェクト記憶のアブストラクション(abstraction :抽象)(ReplStore)を採用する。ReplStore・アブストラクションは、レプリケーション・ファシリティに非均質ファイル・システムにわたって適用されることを許容する。ReplStoreは、レプリケーション・ファシリティーズを支援すべく横たわっている物理的記憶システムに対して支援されなければならない一群のインタフェースを表わす。特に、ReplStoreインタフェースを支援するオブジェクト記憶(object stores)に存在するこれらのオブジェクトだけがレプリケートされうる。インタフェースは、論理的に関連した機能の一名前付き群(a named group)である。インタフェースは、インタフェースによって供給された一群の関連機能に対する(パラメータのような)シグネチャ(signatures)を特定する。インタフェースは、機能を実行するコード(符号)を供給しない;それよりも、機能を実行するためのコードがオブジェクトによってまたは他の実施(other implementations)によって供給される。インタフェースの瞬間に対してコードを供給するオブジェクトは、インタフェースを“支援する”と言われる。インタフェースを支援するオブジェクトによって供給されるコードは、インタフェース内で特定されたシグネチャに従わなければならない。それゆえに、上述した実施例では、オブジェクト・セットでオブジェクトを記憶するオブジェクト記憶は、オブジェクト・セットがレプリケートされるためにReplStoreインタフェースを支援しなければならない。ReplStoreインタフェースの実行(実施)は、ファイル・システンのそれぞれにわたってレプリケーションを支援するために分散型システム10内のファイル・システムのそれぞれに対して供給される。
各ReplStoreは、局所ボリューム上のレプリケートされたオブジェクトを識別するための機構を供給する。この機構は、レプリケーティド・オブジェクト(replicated object )ID(ROBID)である。ROBIDは、識別及びレプリケートされているオブジェクトについての他の情報をエンキャプスレート(encapsulate :密閉)するアブストラクションである。ReplStoreは、ROBIDsを直列化し(serializing )かつ非直列化する(deserializing )ためのルーチンを支援する。オブジェクトのROBIDは、多数の動作を実行する機構を供給する。例えば、オブジェクトは、ROBIDに包含された情報を用いて記憶装置から検索されうる。更に、オブジェクトの構成要素ネーム(component name)は、そのROBIDから導出されうる。
各ReplStoreは、レプリケーティド記憶変更記録簿(replicated storage change log )40を維持する(図3参照)。変更記録簿40は、オブジェクト・セットのオブジェクトに対してなされた変更を特定する多数の変更項目42を含む。各変更項目42は、形式フィールド(type field)44、変更されたオブジェクトに対する直列化されたROBIDフィールド46、変更が発生した時間(局所時間)を示す時間フィールド(time field)48、及び変更に対応付けられたRIBを保持するレプリケーション情報ブロック(RIB)フィールド50を含む。ここの述べられた実施例では、形式フィールド44内で特定されうる五つの形式の変更が存在する。これらの変更は、消去(deletion)、生成(creation)、変更(modification)、改名(renaming)、及び移動(moving)である。消去は、オブジェクトが消去されるときに発生する。生成は、オブジェクトが生成されるときに発生する。変更は、オブジェクトの内容(contents)がある方法で変更されるときに発生する。改名は、オブジェクトの構成要素ネームが変更されるときに発生し、そして移動は、オブジェクトがシステムの分散型ネーム空間の新しいペアレント(new parent)の下で移動されるときに発生する。
カーソル49は、変更項目42のリストへのインデックス(索引、指標)として作用する変更記録簿40内で維持される。カーソル49は、変更項目42のリストでマーカ(marker)として作用する。加えて、変更記録簿は、多重カーソルを含みうる。カーソル49は、タイム・スタンプ(時刻表示:time stamp)の形を取りうる。カーソル49は、例えば、ある時点の後で発生した変更の開始を識別しうる。
レプリケートされているオブジェクト・セットのあらゆるオブジェクトは、RIB51でスタンプされる(図4参照)。RIB51は、三つのフィールドを有する:オリジネータ・フィールド(originator field)53、変更識別子フィールド(change identifier field )55、及びプロパゲータ・フィールド(propagator field)57。オリジネータ・フィールド53は、オブジェクトへの最後の変更が発生したところを特定する。変更識別子フィールド55は、対照的に、オリジネータ・フィールド53内で識別されたオリジネータに関するオブジェクトへの最後の変更を識別する。最後に、プロパゲータ・フィールド57は、局所側へ変更を送ったパーティの識別を特定する。オブジェクトが論理的に変更されるときには、オブジェクトに対応付けられたRIB51は、オリジネータ及びプロパゲータとして局所側を反映すべく変更される。変更識別子は、適当にスタンプされる。
レプリケーションは、負荷平衡(load balancing)及び可用性(availability)を供給することにおいて分散型システム10に対して有用である。レプリケーションは、オブジェクトのいずれか一つのコピー上に負荷を制限すべく分散型システム10にわたって記憶されたオブジェクトの一つ以上のコピーを有することによって負荷平衡を供給する。レプリケーションは、重要なオブジェクトの多重コピーをシステム10にわたって分散されることを許容することによって可用性を向上する。向上した可用性は、システムの障害許容力を増大する。特に、システム10にわたって分散された重要なオブジェクトのコピーを有することによって、ユーザは、オブジェクトへのアクセスを妨げるかまたは制限するシステム内の故障によって影響されなくなる。向上した可用性は、システムの性能をも向上する。
本発明の好ましい実施例は、オペレーティング・システム38の部分であるレプリケーション・ファシリティ54(図5参照)に具体的に表されている。それにもかかわらず、当業者は、本発明のレプリケーション・ファシリティが、図形ユーザインタフェースを含んでいる、他の環境においても実行されうることを注目するであろう。図5に示すように、レプリケーション・ファシリティ42は、三つの主機能構成要素を含んでいる:複写構成要素56、リコンサイラ構成要素58及び制御構成要素60。レプリケーション・ファシリティ54は、デュプリケーションに対して複写構成要素56を用いる。加えて、レプリケーション・ファシリティ54は、それらが互いに一貫していることを確実にすべくリコンサイラ構成要素58を用いてオブジェクト・セットのコピーを一致させる。このリコンシリエーションは、分散型システム10にわたるオブジェクトの一貫した視点(consistent view )を保証する。
制御構成要素60により及ぼされた(exerted)制御の一つのレベルは、レプリケーションが呼び出された方法に関する。レプリケーションは、手動的または自動的に呼び出されうる。手動呼出しは、レプリケートすべく明示的な要求がユーザまたは他のパーティによってなされることを要求する。ユーザまたは他のパーティは、オブジェクト・セット及びレプリケーションの宛先を特定しなければならない。宛先は、各レプリケーション・サイクルに対して特定されない:それよりも、レプリカ接続(replica connection)が最初に特定される。レプリカ接続は、レプリケーションに含まれるべき二つのレプリカとオブジェクト・セットを識別する。対照的に、自動呼出しは、ある一定の事象67(図6参照)または(事象の形式として解釈されうる)ある一定時間の経過によって始動(トリガー)される。レプリケーションは、固定された時間間隔で発生すべく予め計画されうる。制御機構により及ぼされる制御の別の観点は、レプリケーションを呼び出しうるものに関する。レプリケーションは、適正特権パーティ(appropriately privileged party)によって呼び出されうる。本発明の好ましい実施例は、二つの形式のレプリケーションを供給する:公開レプリケーション及び専用レプリケーション。公開レプリケーションは、オブジェクトの“公開”コピーを生成すべく適正特権パーティズによってのみ実行されうる処理を意味する。公開レプリケーションでは、生成されるオブジェクト・セットのコピーのそれぞれは、一貫性を維持すべく他のコピーと協同(協働)する。公開コピーを記憶するネーム空間のノードは、全体として、公開レプリカ・セットを形成し、そしてセットのメンバ(members)は、コピーの間で一貫性を維持すべく状態情報(state information)を保つ。オブジェクト上のアクセス制限は、保存される。オブジェクト・セットの公開コピーで発生する変更は、他の公開コピーと一致させられる。
専用レプリケーションは、オブジェクト・セットの専用コピーを生成する処理を意味する。専用コピーは、非管理責任者を含む、あらゆるパーティによって生成されうる。レプリケーティド・セットの全てのメンバが、コピーの間の一貫性を維持すべく状態情報を保つのではない。専用レプリケーションは、以下に詳細に説明する。
多数の構成要素は、本発明の好ましい実施例におけるレプリケーション処理で役割をする。図6は、公開レプリケーション処理で重要な役割をしうる構成要素を示す図である。オブジェクト・レプリケーション・エージェント(ORAs)62及び64は、レプリケーションのための自動支援(automatic support )を供給すべくオブジェクト・セットが記憶されるノードのためにエージェントとして作用するレプリケータ・オブジェクト(replicator objects)である。分散型システムの各機械は、それ自体のORAを有する。ORAs62及び64は、遠隔クライアントのためになされた要求を提供する遠隔手続き呼出しサーバ(remote procedure call (RPC)servers )として作用しうるかまたは類似な役割を提供する他の形式の高信頼通信機構(reliable communication mechanisms )で代替的にありうる。個別のORA64(62)は、局所オブジェクトに対して提供され、別のORA64は、公開レプリケーション処理の対応する遠隔オブジェクトに対して提供される。局所ORA62は、ReplStore DLL66及びReplStore Manager DLL65のローディングを司る。ReplStore Manager65は、ReplStore66へのアクセスの調整を司る。クライアントは、所与の物理的記憶システムに対して適当なReplStore66をロードすべくReplStore Manager65を呼出す。ORAs62及び64は、それらに局所オブジェクト記憶(装置)からレプリケートされている全てのオブジェクトを読取らせかつ書込ませる特権のレベルを有する。ORAs62及び64は、公開レプリカ(public replicas )を維持する他のORAsと変更を交換すべく要求に応答することを司る。
リコンサイラ68も公開レプリケーション処理で役割をする。それは、局所オブジェクト・セットを対応する遠隔オブジェクトと一致させるべく局所ORA62に対するカウンターパート(counterpart )として作用する。リコンサイラ68は、局所ORA62によって呼び出されかつリコンサイル(一致)されるべきオブジェクトを開くことを司る。二つの形式のリコンサイラ・オブジェクトがリコンサイラ68によって呼び出されうる。特に、クラス特定リコンサイラ70またはディフォールト(即ち、クラス独立:class-independent )リコンサイラ72が呼び出されうる。クラス特定リコンサイラ70は、レプリケーションでクラス特定要求を有するオブジェクトを一致させる。クラス特定リコンサイラ70は、一クラスのオブジェクトに対してのみ適用される。クラス独立リコンサイラ72は、それらのクラスの如何に係わらずオブジェクトを一致させる。多重クラス独立リコンサイラがシステム10で利用可能でありうる。例えば、各オブジェクト・セットは、それ自体のクラス独立リコンサイラを有しうる。全てのレプリカ・セットは、クラス特定リコンサイラが利用不可能であるときにはいつでも呼び出されるそれ自体のクラス独立リコンサイラに対応付けられうる。最後に、上述したように、事象67は、レプリケーションをトリガ(始動)する役割をしうる。
図8は、本発明の好ましい実施例におけるレプリケーションに対して実行されるステップのフローチャートである。最初に、遠隔オブジェクト・セットに対する変更記録簿40(図3参照)に対してアクセスが獲得される(図8のステップ74)。特に、局所オブジェクト・セットが遠隔オブジェクト・セットと一致させられるときには、局所ORA62(図6参照)は、遠隔手続き呼出し機構(remote procedure call mechanism )を介して遠隔ORA64と接触する。局所ORA62は、変更記録簿40へのアクセスを獲得すべく遠隔ORA64と接触する。次に、カーソル49(図3参照)は、変更記録簿で生成される(図8のステップ76)。特に、局所ORA62は、オブジェクト・セット間の最後のリコンシリエーションの時間を示しているタイム・スタンプを記憶し、そして次にカーソル49として用いられるべくこのタイム・スタンプを遠隔ORA64へ渡す。次に、遠隔ORA64は、このタイム・スタンプをカーソルとして遠隔変更記録簿40へ渡す。カーソルは、最後のリコンシリエーションの後でタイム・スタンプを有する変更記録簿の項目を識別し、それゆえに、(項目は、)このレプリケーション・サイクルに対して関係がある。
そして、変更項目の一覧表(リスト)は、最後のリコンシリエーションの後で発生した変更に対する変更項目を識別すべく、カーソルを用いて遠隔変更記録簿から得られる。遠隔ORA64は、遠隔ORAが局所ORAで発生した変更を局所ORA62へパス・バックしない(即ち、遠隔ORAがRIBsのオリジネータ・フィールド53を検査する)ことを保証すべく変更項目42のそれぞれのRIBs51を予備選択(screen)し、かつ局所ORAから伝送された変更に対する変更項目(即ち、遠隔ORAがRIBsのプロパゲータ・フィールド57を検査する)が送られないことを保証すべくRIBsを検査する。結果として得られた(合成)変更項目は、それらが持続的に記憶される局所ORA62へパス・バックされる。局所ORA62は、変更項目のROBIDsによって識別されたオブジェクト上でネーム空間リコンシリエーション(ステップ80)及び内容リコンシリエーション(ステップ82)を実行すべくリコンサイラ68を用いる。特に、リコンサイラ56は、遠隔オブジェクト・セットで変更した各オブジェクトを局所オブジェクト・セットの対応するオブジェクトと一致させる。遠隔オブジェクトに対してなされたあらゆる変更は、対応する局所オブジェクトに対してなされる。クラス特定リコンサイラ70またはクラス独立リコンサイラ72が用いられるかどうかは、ソース(即ち、オブジェクトの遠隔コピー)に依存する。クラス特定リコンサイラ70は、もしオブジェクトの遠隔コピーがそのようなリコンサイラを要求するときにのみ用いられる。
ネーム空間リコンシリエーションは、内容変更に限定されないかまたはシステム特性に対応付けられない変更項目に記録されたあらゆる変更に対して実行される。そのような変更は、生成、消去、移動、及び改名を含む。ネーム空間リコンシリエーションは、対応している遠隔オブジェクトに対して記憶された情報に関して局所オブジェクトのROBIDsによって取得可能な情報を比較することによって発生する。ネーム・レゾルーション・コンフリクト(ネーム解像矛盾:name resolution conflicts )を解決するための多くの異なる方法が本発明内で用いられうる。本発明の好ましい実施例は、しかしながら、規則(rules )を採用する。ネーム空間矛盾(namespace conflicts )を解決すべく本発明の好ましい実施例によって用いられる第1の規則は、先の変更にわたる最後の変更を選択することである。第1のネームを有すべく一つの側でオブジェクトが移動/改名され、そして異なるネームを有すべく同じオブジェクトが別の側へ移動または改名されるときに、オブジェクトが最後の変更に対応付けられたネームを仮定(想定)するように最後に発生される変更が選ばれる。第2の規則は、ネーム空間衝突を解決すべく用いられる。ネーム空間衝突は、二つの異なるオブジェクトが生成され、移動され、または同じネームを有すべく改名されるときに発生する。第2の規則は、オブジェクトが生成され、移動され、または改名されたうちのいずれであっても、最初は、局所側のオブジェクトに対して選択されたネームであることを特定する。
内容リコンシリエーション(図8のステップ80を参照)は、局所オブジェクトが遠隔オブジェクトに対してなされた変更を含むように局所オブジェクトの内容を遠隔オブジェクトに一致させることを含む。変更記録簿の変更を検査することによって、局所オブジェクトは、遠隔オブジェクトと同じ内容を有すべく変更されうる。レプリケーション中、変更は、一つのレプリカから別のものへ伝搬される。レプリケーションは、オブジェクト・セットの最初のコピーに対してなされた変更がオブジェクト・セットの第2のコピーになされるということにおいて“一方通行”である。オブジェクト・セットの第2のコピーに対してなされた変更をオブジェクト・セットの第1のコピーへ複写するための即時反作用(immediate reciprocal action)が存在しない。しかしながら、オブジェクト・セットの第1のコピーへのそのような伝搬は、実行されうる。このレプリケーションの一方通行性質を与えて、各レプリカは、レプリカに対してオブジェクト・セットの局所コピーがどのように更新するのかを監視し、カーソルは、共同変更記録簿に維持される。リコンシリエーション中の各交換の完了で、二つのレプリカは、カーソル情報を交換する。
公開レプリケーションは、多数の機密保護イッシュー(発行:issues)をポーズ(主張:poses)する。一般に、リコンサイラは、レプリケーションを実行するためにオブジェクトを更新できなければならない。クラス独立リコンサイラは、信用システム処理であり、それゆえに、機密保護リスクをポーズしない。しかしながら、クラス特定リコンサイラは、信用システム処理ではない、それゆえに機密保護スレット(脅威:threat)をポーズする。この機密保護ジレンマを緩和することを援助すべく、本発明の好ましい実施例は、“プロクシズ(proxies)”を利用する。プロクシ(proxy)は、異常な特権(extraordinary privileges)を有することなく明確な動作を実行するワーカー処理(worker processes)または遠隔処理を許容するデリゲーション・チケット(delegation ticket)である。プロクシは、許可しているパーティ(granting party)の資格(credentials)をパッケージ(package)しかつ遠隔オブジェクトへのアクセスを求めているパーティにそれらを貸す。アクセスを求めているパーティは、許可しているパーティに取って換わりかつ必要なオブジェクトをアクセスする。これらの資格は、暗号化されうる。図7は、本発明の好ましい実施例においてプロクシを利用すべく実行されるステップのフローチャートである。レプリケーション処理中、遠隔ORA64(図6)は、局所リコンサイラ68にプロクシを与える(図7のステップ84)。上述したように、このプロクシは、局所リコンサイラへ遠隔ORAによって許可されるべきアクセス権及び適当な資格を含む。リコンサイラ68は、遠隔側へ資格を送る(図7のステップ86)。換言すると、リコンサイラ68は、遠隔側へプロクシを贈る。遠隔側は、資格を検査し、そしてもし資格が有効であるならば、問題のオブジェクト・セットの遠隔コピー内のオブジェクトへの限定付きアクセスを許可する(ステップ88)。リコンサイラ68は、オブジェクト・セットの遠隔オブジェクトへのアクセスを獲得する(ステップ80)。しかしながら、局所リコンサイラのアクセス範囲は、相応なリコンシリエーションを実行するために必要なものだけに限定される。本発明は、排他的にプロクシを用いることに限定されないということに注目すべきでる。各ORAをアクセス権を許可する共通アクセス群のメンバにするような、セキュア・アクセス(secure access)を許可するあらゆる技法が許容可能である。
上記説明の大部分は、公開レプリケーションに集中している。専用レプリケーションは、公開レプリケーションに類似であるが、しかし多数の相違点を含む。専用レプリケーションでは、変更の源(ソース)は、どのオブジェクトがデュプリケート(複写)または変更されたかという記録を維持しない。ソースで維持される状態情報が存在しない。ソースは、変更が発生したことを忠告することを司らない。従って、公開レプリケーションに対して要求される資源は、要求されない。これらの特徴は、レプリケーションの手動制御が望ましい場合、またはオブジェクト・セットの公開コピーを維持する経費が保証されない場合に専用レプリケーションを特に適切にする。
本発明は、その好ましい実施例を参照して記述されたが、当業者は、添付した特許請求の範囲に規定される本発明の範囲から逸脱することなく、形式及び詳細における種々の変更がなされうるということに注目するであろう。例えば、本発明は、オブジェクト指向型環境にて実行される必要がなく、かつ図1に示すような分散型システム構成で単独で実施される必要もない。更に、RPC機構以外の通信機構が、遠隔相互作用に対して用いられうるし、プロクシズ以外の機密保護機構が採用されうる。
本発明の好ましい実施例を実施するのに適当な分散型システムのブロック図である。 本発明の好ましい実施例による分散型システムに対する分散型ネーム空間の図である。 本発明の好ましい実施例に用いられる変更記録簿のブロック図である。 本発明の好ましい実施例に用いられるレプリケーション情報ブロック(RIB)のブロック図である。 本発明の好ましい実施例に用いられるレプリケーション・ファシリティの機能構成要素(functional componets)を示しているブロック図である。 本発明の好ましい実施例における公開レプリケーション(public replication)で役割をする構成要素の相互作用を示す図である。 本発明の好ましい実施例におけるレプリケーションの間に機密保護を供給すべく実行されるステップを示すフローチャートである。 本発明の好ましい実施例におけるレプリケーションで実行されるステップのフローチャートである。
符号の説明
38 オペレーティング・システム
54 レプリケーション・ファシリティ
56 複写構成要素
58 リコンサイラ構成要素
60 制御構成要素

Claims (29)

  1. レプリケーション・ファシリティ及びそれぞれが記憶装置を含む多数のコンピュータ・システムを有している分散型システムにおいて、ファイルのツリーに編成された複数のファイルを供給し、前記ファイルのコピーが別の前記コンピュータ・システムの記憶装置に記憶されるように前記レプリケーション・ファシリティを用いて一つの前記コンピュータ・システムの記憶装置に記憶される単一の前記ファイルをレプリケートし、ファイルのサブツリーのコピーが別の前記コンピュータ・システムの前記記憶装置に記憶されるように前記レプリケーション・ファシリティを用いて一つの前記コンピュータ・システムの前記記憶装置に記憶される、前記ファイルのツリーから、多重段階のファイルの前記サブツリーをレプリケートする段階を具備することを特徴とする方法。
  2. 前記ファイルのコピーが前記分散型システムの多数のコンピュータ・システムの中の他のコンピュータ・システムの記憶装置に記憶されるように前記レプリケーション・ファシリティを用いて前記単一ファイルをレプリケートする段階を更に具備することを特徴とする請求項1に記載の方法。
  3. 前記サブツリーのコピーが多数のコンピュータ・システムの中の他のコンピュータ・システムの前記記憶装置に記憶されるように前記レプリケーション・ファシリティを用いて前記サブツリーをレプリケートする段階を更に具備することを特徴とする請求項1に記載の方法。
  4. 前記レプリケートされているサブツリーは、少なくとも三段階のファイルを含むことを特徴とする請求項3に記載の方法。
  5. それぞれがファイルを記憶する記憶装置を含んでいる複数のコンピュータ・システムと、前記ファイルのネームのツリー構造として前記システムのネーム空間を管理するネーム空間管理プログラムと、多重段階の前記ネーム空間のサブツリーをレプリケートするレプリケーション・ファシリティとを備えていることを特徴とする分散型システム。
  6. リコンサイラ・ファシリティ及び多数のコンピュータ・システムを有している分散型システムにおいて、一つの前記コンピュータ・システムのファイルの第1のコピー及び別の該コンピュータ・システムの前記ファイルの第2のコピーを供給し、最後に一致されて以来前記ファイルの前記第1のコピーに対してなされたあらゆる変更を前記ファイルの前記第2のコピーが組み込むように前記リコンサイラ・ファシリティを用いて該ファイルの該第1のコピーを該ファイルの該第2のコピーと一致させ、一つの前記コンピュータ・システムの一群のファイルの第1のコピー及び別の該コンピュータ・システムの一群のファイルの第2のコピーを供給し、最後に一致されて以来前記一群のファイルの前記第1のコピーに対してなされたあらゆる変更を前記一群のファイルの前記第2のコピーが組み込むように前記リコンサイラ・ファシリティを用いて該一群のファイルの該第1のコピーを該一群のファイルの該第2のコピーと一致させる段階を具備することを特徴とする方法。
  7. 前記一群のファイルの前記第1のコピーを前記一群のファイルの前記第2のコピーと一致させる段階は、該一群のファイルの該第1のコピーの各ファイルを該一群のファイルの該第2のコピーの対応しているファイルと対基準により一対で一致させる段階を更に含んでいることを特徴とする請求項6に記載の方法。
  8. レプリケーション・ファシリティ及びそれぞれが記憶装置を含んでいる多数のコンピュータ・システムを有している分散型システムにおいて、第1の前記コンピュータ・システムの前記記憶装置に記憶される一群のファイルの第1のコピーを供給し、第2の前記コンピュータ・システムの前記記憶装置に記憶される前記一群のファイルの第2のコピーを供給し、前記一群のファイルの前記第1のコピーの前記一群のファイルに対して変更を行い、事象の発生により前記一群のファイルの前記第2のコピーへ前記変更を伝搬し、前記一群のファイルの前記第1のコピーの前記一群のファイルに対して追加の変更を行い、別の事象の発生により前記一群のファイルの前記第2のコピーへ前記追加の変更を伝搬する段階を具備することを特徴とする方法。
  9. 前記事象は、所定の時限の経過であることを特徴とする請求項8に記載の方法。
  10. 前記別の事象も、所定の時限の経過であることを特徴とする請求項8に記載の方法。
  11. 前記事象は、前記変更を受け取るための前記第2のコンピュータ・システムによる要求であることを特徴とする請求項8に記載の方法。
  12. 前記別の事象は、前記追加の変更を受け取るための前記第2のコンピュータ・システムによる要求であることを特徴とする請求項8に記載の方法。
  13. 前記一群のファイルの前記第2のコピーが前記一群のファイルの前記第1のコピーに対してなされた前記変更を組み込むように該一群のファイルの該第2のコピーを該一群のファイルの該第1のコピーと一致させる段階を更に含むことを特徴とする請求項8に記載の方法。
  14. 前記一群のファイルの前記第2のコピーが前記一群のファイルの前記第1のコピーに対してなされた前記追加の変更を組み込むように該一群のファイルの該第2のコピーを該一群のファイルの該第1のコピーと一致させる段階を更に含むことを特徴とする請求項13に記載の方法。
  15. レプリケーション・ファシリティ及びそれぞれが記憶装置を含むコンピュータ・システムを有している分散型システムにおいて、前記コンピュータ・システムの前記記憶装置に、ネームを有している、ファイルを記憶し、前記記憶されたファイルの前記ネームの論理的編成からなる分散型ネーム空間を供給し、前記ファイルの選択された部分を保持している新しいファイルを生成するために前記レプリケーション・ファシリティを用いてそのネームが前記分散型ネーム空間の一部を形成しかつ一つの前記コンピュータ・システムの前記記憶装置に記憶された一群のファイルの選択された部分をレプリケートする段階を具備することを特徴とする方法。
  16. 前記分散型システムの前記コンピュータ・システムの少なくとも部分にわたり前記新しいファイルを分散すべく前記新しいファイルをレプリケートする段階を更に具備することを特徴とする請求項15に記載の方法。
  17. 第1のコンピュータ・システム及び第2のコンピュータ・システムを有している分散型システムにおいて、前記第1のコンピュータ・システムに記憶される所与のクラスの一組のファイルの第1のコピーを供給し、前記第2のコンピュータ・システムに記憶される前記所与のクラスの前記一組のファイルの第2のコピーを供給し、前記所与のクラスのファイルだけを一致させるクラス特定リコンサイラを用いて前記一組のファイルの前記第1のコピーを前記一組のファイルの前記第2のコピーと一致させる段階を具備することを特徴とする方法。
  18. 前記一組のファイルの前記第1のコピーに対して変更を行い、クラスに関係なくファイルを一致させるクラス独立リコンサイラを用いて前記一組のファイルの前記第1のコピーを前記一組のファイルの前記第2のコピーと一致させる段階を更に含むことを特徴とする請求項17に記載の方法。
  19. 専用レプリケーション機構及びそれぞれが記憶装置を含んでおり処理を実行するためのコンピュータ・システムを有している分散型システムにおいて、一つの前記コンピュータ・システム上でアプリケーション・プログラムを実行し、前記アプリケーション内にてそれぞれがファイルをアクセスすることを許容される処理のリストを維持している一組のファイルをリプリケートすべく前記専用レプリケーション機構に対して要求を行い、前記ファイルをアクセスすることを許容される前記処理のリストを、各ファイルに対して、レプリケートすることなく新しい組のファイルを生成すべく前記専用レプリケーション機構を用いて前記一組のファイルをレプリケートする段階を具備することを特徴とする方法。
  20. 第1のコンピュータ・システム及び第2のコンピュータ・システムを有している分散型システムにおいて、前記第1のコンピュータ・システムでファイルのコレクションを供給し、前記ファイルのコレクションを前記第2のコンピュータ・システムへレプリケートするための要求に応じて、前記コレクションの全ての前記ファイルがレプリケートされるべきかまたはされるべきでないかを決定し、前記コレクションの全ての前記ファイルがレプリケートされるべきであると決定されるならば、前記コレクションのレプリカが前記第2のコンピュータ・システムで供給されるように該コレクションの全ての該ファイルをレプリケートし、前記コレクションの全ての前記ファイルがレプリケートされるべきでないと決定されるならば、前記コレクションの前記ファイルの全てをレプリケートしない段階を具備することを特徴とする方法。
  21. 第1のコンピュータ・システム及び第2のコンピュータ・システムを有している分散型システムにおいて、前記第1のコンピュータ・システムの一群のファイルの第1のコピーを供給し、前記第2のコンピュータ・システムの前記一群のファイルの第2のコピーを供給し、前記一群のファイルの前記第1のコピーに対して変更を行い、それぞれが前記一群のファイルの前記第1のコピーの前記ファイルをアクセスしかつ読取るためのアクセス権を有するエージェントを該一群のファイルの該第1のコピーに対して供給し、前記一群のファイルの前記第2のコピーを前記一群のファイルの前記第1のコピーと一致させるために前記第2のコンピュータ・システムでリコンサイラを供給し、前記一群のファイルの前記第1のコピーの前記ファイルをアクセスしかつ読取るべく限定された権限を前記リコンサイラに賦与するプロクシを、該一群のファイルの該第1のコピーの前記エージェントから該リコンサイラへ賦与し、前記一群のファイルの前記第1のコピーに対してなされた前記変更が前記一群のファイルの前記第2のコピーに対してなされるように前記リコンサイラを用いて該一群のファイルの該第2のコピーを該一群のファイルの該第1のコピーと一致させる段階を具備することを特徴とする方法。
  22. 分散型システムにおいて、前記分散型システムの非均質ファイル・システムを供給し、前記ファイル・システムのファイルへのアクセスを管理すべく各ファイル・システムに対して記憶管理プログラムを供給し、第1の組のファイルを第2の組のファイルと一致させるための要求に応じて、該第1の組のファイルを保持する前記ファイル・システムに対する前記記憶管理プログラムにより該第1の組のファイルへのアクセスを賦与し、かつ該第2の組のファイルを保持する前記ファイル・システムに対する前記記憶管理プログラムにより該第2の組のファイルへのアクセスを賦与し、前記第1の組のファイル及び前記第2の組のファイルを保持しているそれぞれのファイル・システムの前記記憶管理プログラムの制御の下で第1のファイル・セットを第2のファイル・セットと一致させる段階を具備することを特徴とする方法。
  23. 前記ファイル・システムに記憶されるファイルの各コピーは、前記記憶管理プログラムによって記憶特定識別子が供給されることを特徴とする請求項22に記載の方法。
  24. 各記憶管理プログラムは、そのファイル・システムの前記ファイルへ変更を報告することを特徴とする請求項22に記載の方法。
  25. 前記変更は、ファイルの消去を含むことを特徴とする請求項24に記載の方法。
  26. 前記変更は、ファイルの改名を含むことを特徴とする請求項24に記載の方法。
  27. 前記変更は、前記分散型システムのファイルの移動を含むことを特徴とする請求項24に記載の方法。
  28. 前記変更は、変更記録簿へ報告されかつ前記一致させる段階は、該変更記録簿を用いて実行されることを特徴とする請求項24に記載の方法。
  29. ファイルの各コピーは、固有の識別子に割り当てられかつ前記一致させる段階は、どのファイルが一致させられるのかを決定するために識別子を比較することを含むことを特徴とする請求項22に記載の方法。
JP2007214031A 1994-01-14 2007-08-20 レプリケーション・ファシリティ Expired - Lifetime JP4310354B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/181,704 US5588147A (en) 1994-01-14 1994-01-14 Replication facility

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP7003453A Division JPH07219830A (ja) 1994-01-14 1995-01-12 レプリケーション・ファシリティ

Publications (2)

Publication Number Publication Date
JP2007299431A true JP2007299431A (ja) 2007-11-15
JP4310354B2 JP4310354B2 (ja) 2009-08-05

Family

ID=22665428

Family Applications (2)

Application Number Title Priority Date Filing Date
JP7003453A Pending JPH07219830A (ja) 1994-01-14 1995-01-12 レプリケーション・ファシリティ
JP2007214031A Expired - Lifetime JP4310354B2 (ja) 1994-01-14 2007-08-20 レプリケーション・ファシリティ

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP7003453A Pending JPH07219830A (ja) 1994-01-14 1995-01-12 レプリケーション・ファシリティ

Country Status (5)

Country Link
US (1) US5588147A (ja)
EP (1) EP0663640B1 (ja)
JP (2) JPH07219830A (ja)
CA (1) CA2139694C (ja)
DE (1) DE69531513T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853269A (zh) * 2010-04-29 2010-10-06 中国人民解放军国防科学技术大学 分布数据更新的一致性处理方法

Families Citing this family (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6345104B1 (en) * 1994-03-17 2002-02-05 Digimarc Corporation Digital watermarks and methods for security documents
US5802301A (en) * 1994-05-11 1998-09-01 International Business Machines Corporation System for load balancing by replicating portion of file while being read by first stream onto second device and reading portion with stream capable of accessing
US5671407A (en) * 1994-12-07 1997-09-23 Xerox Corporation Application-specific conflict detection for weakly consistent replicated databases
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
US5684990A (en) * 1995-01-11 1997-11-04 Puma Technology, Inc. Synchronization of disparate databases
JP3865775B2 (ja) 1995-04-11 2007-01-10 キネテック インコーポレイテッド データ処理システムにおけるデータの識別
DE69624359D1 (de) 1995-07-20 2002-11-21 Novell Inc Transaktionslogverwaltung in einem netz abtrennbarer rechner
DE69615565T2 (de) * 1995-07-20 2002-07-11 Novell Inc Transaktionssynchronisierung in einem netz abtrennbarer rechner
SE507482C2 (sv) * 1995-10-09 1998-06-15 Ericsson Telefon Ab L M System och förfarande för kommunikationshantering med redundans
JP3622313B2 (ja) * 1996-01-29 2005-02-23 株式会社日立製作所 ドキュメント管理システム
DE19607132B4 (de) * 1996-02-26 2005-12-29 Siemens Ag Verfahren zum rechnergestützten Abgleich mehrerer, in mindestens einem Rechner gespeicherten Dateikopien einer gespeicherten Datei
DE19607131B4 (de) * 1996-02-26 2005-12-29 Siemens Ag Verfahren zum rechnergestützten Abgleich mehrerer, in mindestens einem Rechner gespeicherten Dateikopien einer gespeicherten Datei
DE19607134A1 (de) * 1996-02-26 1997-08-28 Siemens Ag Verfahren zur rechnergestützten Verwaltung mehrerer, in mindestens einem Rechner gespeicherten Dateikopien einer gespeicherten Datei
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
CA2199108C (en) * 1996-03-05 2002-04-23 Hirotoshi Maegawa Parallel distributed processing system and method of same
US5812793A (en) * 1996-06-26 1998-09-22 Microsoft Corporation System and method for asynchronous store and forward data replication
US6304893B1 (en) 1996-07-01 2001-10-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system
US6434598B1 (en) 1996-07-01 2002-08-13 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system
US6424991B1 (en) 1996-07-01 2002-07-23 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server communication framework
US5999972A (en) 1996-07-01 1999-12-07 Sun Microsystems, Inc. System, method and article of manufacture for a distributed computer system framework
US6266709B1 (en) 1996-07-01 2001-07-24 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server failure reporting process
US5987245A (en) 1996-07-01 1999-11-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture (#12) for a client-server state machine framework
US5848246A (en) 1996-07-01 1998-12-08 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system
US6272555B1 (en) 1996-07-01 2001-08-07 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server-centric interprise computing framework system
US6412017B1 (en) 1996-07-01 2002-06-25 Microsoft Corporation Urgent replication facility
US6038590A (en) 1996-07-01 2000-03-14 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system
US5893107A (en) * 1996-07-01 1999-04-06 Microsoft Corporation Method and system for uniformly accessing multiple directory services
US5832225A (en) * 1996-07-12 1998-11-03 Microsoft Corporation Method computer program product and system for maintaining replication topology information
US5878434A (en) * 1996-07-18 1999-03-02 Novell, Inc Transaction clash management in a disconnectable computer and network
US5884324A (en) * 1996-07-23 1999-03-16 International Business Machines Corporation Agent for replicating data based on a client defined replication period
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
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US5909540A (en) * 1996-11-22 1999-06-01 Mangosoft Corporation System and method for providing highly available data storage using globally addressable memory
US7136903B1 (en) 1996-11-22 2006-11-14 Mangosoft Intellectual Property, Inc. Internet-based shared file service with native PC client access and semantics and distributed access control
US6647393B1 (en) 1996-11-22 2003-11-11 Mangosoft Corporation Dynamic directory service
US5963944A (en) * 1996-12-30 1999-10-05 Intel Corporation System and method for distributing and indexing computerized documents using independent agents
DE19708021C1 (de) * 1997-02-27 1998-08-13 Siemens Ag Verfahren zur Regelung eines Zugriffs von Rechnern auf Daten eines zentralen Rechners
US5950198A (en) * 1997-03-24 1999-09-07 Novell, Inc. Processes and apparatuses for generating file correspondency through replication and synchronization between target and source computers
US6256675B1 (en) * 1997-05-06 2001-07-03 At&T Corp. System and method for allocating requests for objects and managing replicas of objects on a network
SE9702015L (sv) * 1997-05-28 1998-11-29 Ericsson Telefon Ab L M Metod vid distribuerad databas, samt ett system anpassat att verka enligt metoden
US6182080B1 (en) 1997-09-12 2001-01-30 Netvoyage Corporation System, method and computer program product for storage of a plurality of documents within a single file
US5924096A (en) * 1997-10-15 1999-07-13 Novell, Inc. Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand
US6167427A (en) * 1997-11-28 2000-12-26 Lucent Technologies Inc. Replication service system and method for directing the replication of information servers based on selected plurality of servers load
US5991766A (en) * 1997-12-02 1999-11-23 Electronic Data Systems Corporation Method and system for managing redundant objects in a distributed object system
US6018805A (en) * 1997-12-15 2000-01-25 Recipio Transparent recovery of distributed-objects using intelligent proxies
US6260069B1 (en) * 1998-02-10 2001-07-10 International Business Machines Corporation Direct data retrieval in a distributed computing system
US6256031B1 (en) * 1998-06-26 2001-07-03 Microsoft Corporation Integration of physical and virtual namespace
US7016921B1 (en) 1998-07-27 2006-03-21 Siemens Aktiengesellschaft Method, arrangement and set of a plurality of arrangements for remedying at least one inconsistency in a group of databases which comprises a database and at least one copy database of the database
US6810405B1 (en) 1998-08-18 2004-10-26 Starfish Software, Inc. System and methods for synchronizing data between multiple datasets
US6449622B1 (en) * 1999-03-08 2002-09-10 Starfish Software, Inc. System and methods for synchronizing datasets when dataset changes may be received out of order
US6401104B1 (en) * 1999-07-03 2002-06-04 Starfish Software, Inc. System and methods for synchronizing datasets using cooperation among multiple synchronization engines
US6751674B1 (en) 1999-07-26 2004-06-15 Microsoft Corporation Method and system for replication in a hybrid network
US6751634B1 (en) * 1999-08-26 2004-06-15 Microsoft Corporation Method and system for detecting object inconsistency in a loosely consistent replicated directory service
US7203735B1 (en) * 1999-10-21 2007-04-10 International Business Machines Corporation Files transfer between a remote home server and a local server
US7013313B1 (en) 1999-11-24 2006-03-14 Pumatech, Inc. System and methods for inheriting information into a dataset
US6557111B1 (en) 1999-11-29 2003-04-29 Xerox Corporation Multicast-enhanced update propagation in a weakly-consistant, replicated data storage system
US6553391B1 (en) 2000-06-08 2003-04-22 International Business Machines Corporation System and method for replicating external files and database metadata pertaining thereto
US10235368B2 (en) * 2000-06-08 2019-03-19 International Business Machines Corporation System and method for updating external file referenced by database with transactional consistency using SQL
US6711572B2 (en) * 2000-06-14 2004-03-23 Xosoft Inc. File system for distributing content in a data network and related methods
US7162499B2 (en) * 2000-06-21 2007-01-09 Microsoft Corporation Linked value replication
US7047420B2 (en) * 2001-01-17 2006-05-16 Microsoft Corporation Exclusive encryption
US6879564B2 (en) * 2001-02-28 2005-04-12 Microsoft Corp. Method for designating communication paths in a network
US7478243B2 (en) 2001-03-21 2009-01-13 Microsoft Corporation On-disk file format for serverless distributed file system with signed manifest of file modifications
US7043637B2 (en) * 2001-03-21 2006-05-09 Microsoft Corporation On-disk file format for a serverless distributed file system
US6981138B2 (en) * 2001-03-26 2005-12-27 Microsoft Corporation Encrypted key cache
US7062490B2 (en) * 2001-03-26 2006-06-13 Microsoft Corporation Serverless distributed file system
US20020147739A1 (en) * 2001-04-10 2002-10-10 Netvoyage Corporation Methods and systems for tracking storage resources associated with a document distribution system
US7165248B2 (en) * 2001-06-04 2007-01-16 Sun Microsystems, Inc. File tree conflict processor
US7702641B2 (en) * 2001-06-04 2010-04-20 Oracle America, Inc. Method and system for comparing and updating file trees
US7085779B2 (en) * 2001-06-04 2006-08-01 Sun Microsystems, Inc. File tree change reconciler
US6988124B2 (en) 2001-06-06 2006-01-17 Microsoft Corporation Locating potentially identical objects across multiple computers based on stochastic partitioning of workload
US7310644B2 (en) * 2001-06-06 2007-12-18 Microsoft Corporation Locating potentially identical objects across multiple computers
US7072911B1 (en) 2001-07-27 2006-07-04 Novell, Inc. System and method for incremental replication of changes in a state based distributed database
GB2380830A (en) * 2001-10-13 2003-04-16 Hewlett Packard Co Automatic file sharing in a peer to peer network by use of constraints between file system domains
US6968372B1 (en) 2001-10-17 2005-11-22 Microsoft Corporation Distributed variable synchronizer
US7035922B2 (en) * 2001-11-27 2006-04-25 Microsoft Corporation Non-invasive latency monitoring in a store-and-forward replication system
US7185359B2 (en) * 2001-12-21 2007-02-27 Microsoft Corporation Authentication and authorization across autonomous network systems
US7024429B2 (en) 2002-01-31 2006-04-04 Nextpage,Inc. Data replication based upon a non-destructive data model
US7020665B2 (en) * 2002-03-07 2006-03-28 Microsoft Corporation File availability in distributed file storage systems
US20040024807A1 (en) * 2002-07-31 2004-02-05 Microsoft Corporation Asynchronous updates of weakly consistent distributed state information
US7590667B2 (en) 2003-01-30 2009-09-15 Hitachi, Ltd. File replication method for distributed file systems
US7822757B2 (en) * 2003-02-18 2010-10-26 Dun & Bradstreet, Inc. System and method for providing enhanced information
US8370454B2 (en) 2003-06-30 2013-02-05 International Business Machines Corporation Retrieving a replica of an electronic document in a computer network
EP1656612B1 (en) * 2003-08-21 2011-10-26 Microsoft Corporation Electronic ink processing
WO2005029393A1 (en) * 2003-08-21 2005-03-31 Microsoft Corporation Electronic ink processing
AU2003262757B2 (en) * 2003-08-21 2010-02-11 Microsoft Corporation Electronic ink processing
US7616333B2 (en) * 2003-08-21 2009-11-10 Microsoft Corporation Electronic ink processing and application programming interfaces
US7502812B2 (en) * 2003-08-21 2009-03-10 Microsoft Corporation Electronic ink processing
JP4571867B2 (ja) * 2003-08-21 2010-10-27 マイクロソフト コーポレーション 電子インク処理
US7499904B2 (en) * 2003-11-25 2009-03-03 Microsoft Corporation System and method for client mastered replication of local files
WO2005109193A1 (en) * 2004-05-05 2005-11-17 Bea Systems, Inc. System and method for inventory services
US20050262483A1 (en) * 2004-05-05 2005-11-24 Bea Systems, Inc. System and method for application propagation
US7735077B2 (en) * 2004-05-05 2010-06-08 Bea Systems, Inc. System and method for inventory services
US7346633B2 (en) * 2004-06-10 2008-03-18 Sybase, Inc. System providing methodology for replication subscription resolution
US20050278385A1 (en) * 2004-06-10 2005-12-15 Hewlett-Packard Development Company, L.P. Systems and methods for staggered data replication and recovery
US7711835B2 (en) * 2004-09-30 2010-05-04 Citrix Systems, Inc. Method and apparatus for reducing disclosure of proprietary data in a networked environment
US8099482B2 (en) 2004-10-01 2012-01-17 E-Cast Inc. Prioritized content download for an entertainment device
US9020887B2 (en) 2004-12-21 2015-04-28 Proofpoint, Inc. Managing the status of documents in a distributed storage system
US9367579B1 (en) * 2005-02-23 2016-06-14 Veritas Technologies Llc System and method for maintaining a file change log within a distributed file system
US7849512B2 (en) * 2005-03-21 2010-12-07 Fortressware, Inc. Method and system to create secure virtual project room
US8214754B2 (en) 2005-04-15 2012-07-03 Microsoft Corporation Registration of applications and complimentary features for interactive user interfaces
US7778963B2 (en) * 2005-04-26 2010-08-17 Microsoft Corporation Constraint-based conflict handling for synchronization
US7467265B1 (en) 2005-06-30 2008-12-16 Symantec Operating Corporation System and method for block conflict resolution within consistency interval marker based replication
US8401997B1 (en) 2005-06-30 2013-03-19 Symantec Operating Corporation System and method for replication using consistency interval markers in a distributed storage environment
JP4414381B2 (ja) 2005-08-03 2010-02-10 富士通株式会社 ファイル管理プログラム、ファイル管理装置、ファイル管理方法
US8185576B2 (en) 2006-03-14 2012-05-22 Altnet, Inc. Filter for a distributed network
US7613750B2 (en) * 2006-05-29 2009-11-03 Microsoft Corporation Creating frequent application-consistent backups efficiently
US8117155B2 (en) * 2006-06-30 2012-02-14 Microsoft Corporation Collection-based object replication
GB2444344A (en) * 2006-12-01 2008-06-04 David Irvine File storage and recovery in a Peer to Peer network
US20090089740A1 (en) * 2007-08-24 2009-04-02 Wynne Crisman System For Generating Linked Object Duplicates
US20110040792A1 (en) * 2009-08-12 2011-02-17 Russell Perry Stored Object Replication
US9146937B2 (en) 2011-06-23 2015-09-29 Cohort Fs, Llc Client-based data replication
US9483538B1 (en) * 2012-03-29 2016-11-01 Sprint Communications Company L.P. Two-way data sharing between disparate data stores
US8705537B1 (en) 2012-06-10 2014-04-22 Andrei Teodor Borac Eventually-consistent data stream consolidation
US9619539B2 (en) * 2012-09-28 2017-04-11 Vmware, Inc. Automated document replication in a distributed computing system
WO2015183247A1 (en) * 2014-05-28 2015-12-03 Hitachi Data Systems Corporation System and method of collision management in a namespace of a storage system
US11010409B1 (en) * 2016-03-29 2021-05-18 EMC IP Holding Company LLC Multi-streaming with synthetic replication
US10769172B2 (en) 2018-03-28 2020-09-08 Hewlett Packard Enterprise Development Lp Globalized object names in a global namespace
US11270531B2 (en) 2019-06-28 2022-03-08 GM Cruise Holdings, LLC Autonomous vehicle data management platform
US11803571B2 (en) 2021-02-04 2023-10-31 Hewlett Packard Enterprise Development Lp Transfer of synchronous and asynchronous replication

Family Cites Families (18)

* 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
US4714996A (en) * 1985-11-26 1987-12-22 International Business Machines Corporation Impact calculation for version management in a distributed information service
US4887204A (en) * 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
US5151989A (en) * 1987-02-13 1992-09-29 International Business Machines Corporation Directory cache management in a distributed data processing system
US5202971A (en) * 1987-02-13 1993-04-13 International Business Machines Corporation System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock
US5001628A (en) * 1987-02-13 1991-03-19 International Business Machines Corporation Single system image uniquely defining an environment for each user in a data processing system
US4888681A (en) * 1987-10-19 1989-12-19 International Business Machines Corporation Space management system for data files having shared access
US4853843A (en) * 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database
US4875159A (en) * 1987-12-22 1989-10-17 Amdahl Corporation Version management system using plural control fields for synchronizing two versions of files in a multiprocessor system
US5222217A (en) * 1989-01-18 1993-06-22 International Business Machines Corporation System and method for implementing operating system message queues with recoverable shared virtual storage
CA1323448C (en) * 1989-02-24 1993-10-19 Terrence C. Miller Method and apparatus for translucent file system
US5113519A (en) * 1989-05-15 1992-05-12 International Business Machines Corporation Maintenance of file attributes in a distributed data processing system
US5170480A (en) * 1989-09-25 1992-12-08 International Business Machines Corporation Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time
US5307481A (en) * 1990-02-28 1994-04-26 Hitachi, Ltd. Highly reliable online system
US5032979A (en) * 1990-06-22 1991-07-16 International Business Machines Corporation Distributed security auditing subsystem for an operating system
US5287453A (en) * 1990-09-18 1994-02-15 Bull Hn Information Systems, Inc. Fast remote file access facility for distributing file access requests in a closely coupled computer system
JP3516344B2 (ja) * 1990-10-22 2004-04-05 株式会社日立製作所 分散処理システムの多重データ処理方法
US5285528A (en) * 1991-02-22 1994-02-08 International Business Machines Corporation Data structures and algorithms for managing lock states of addressable element ranges

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853269A (zh) * 2010-04-29 2010-10-06 中国人民解放军国防科学技术大学 分布数据更新的一致性处理方法

Also Published As

Publication number Publication date
CA2139694C (en) 2004-04-20
CA2139694A1 (en) 1995-07-15
EP0663640B1 (en) 2003-08-20
DE69531513D1 (de) 2003-09-25
DE69531513T2 (de) 2004-02-26
EP0663640A1 (en) 1995-07-19
JPH07219830A (ja) 1995-08-18
JP4310354B2 (ja) 2009-08-05
US5588147A (en) 1996-12-24

Similar Documents

Publication Publication Date Title
JP4310354B2 (ja) レプリケーション・ファシリティ
RU2421799C2 (ru) Безопасность в приложениях синхронизации равноправных узлов
US6061692A (en) System and method for administering a meta database as an integral component of an information server
US7167874B2 (en) System and method for command line administration of project spaces using XML objects
Lampson Designing a global name service
US7526479B2 (en) Configuration manager in enterprise computing system
US7194467B2 (en) Using whole-file and dual-mode locks to reduce locking traffic in data storage systems
US7310653B2 (en) Method, system, and product for maintaining software objects during database upgrade
US7007024B2 (en) Hashing objects into multiple directories for better concurrency and manageability
JP3696639B2 (ja) ディレクトリサービスのファイルシステムサービスとの統一
US7475199B1 (en) Scalable network file system
JP2008524694A (ja) データベース管理システムにおけるファイル操作のためのロックを提供するための手法
US9817832B1 (en) Unified framework for policy-based metadata-driven storage services
Trevor et al. The use of adapters to support cooperative sharing
CN110555317B (zh) 一种应用文件更改处理方法、装置及系统
US20070124467A1 (en) Method and apparatus for managing publication and sharing of data
US20040064419A1 (en) Distributed management and administration of licensing of multi-function offering applications
JP2011522337A (ja) サーバクラスタに配信されるコンピュータシステムのソフトウェアモジュールの同期化方法、同期化システムおよびデータストレージへの適用
Brando Comparing dce and corba
Carter Using gconf as an example of how to create an userspace object manager
Rault et al. Access control based on CRDTs for Collaborative Distributed Applications
JP2000347943A (ja) 文書アクセス管理システム
Gozani et al. GAFFES: The Design of a Globally Distributed File System
Venkatesh Dynamically reconfigurable layered filesystem
JP2024519643A (ja) リンクプラットフォーム・アズ・ア・サービス

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070919

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071001

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20080118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080722

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081024

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090122

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090224

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: 20090410

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090511

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term