JPH11167510A - レプリケーション方法、レプリケーションツール、および、レプリケーションサーバ - Google Patents

レプリケーション方法、レプリケーションツール、および、レプリケーションサーバ

Info

Publication number
JPH11167510A
JPH11167510A JP9334333A JP33433397A JPH11167510A JP H11167510 A JPH11167510 A JP H11167510A JP 9334333 A JP9334333 A JP 9334333A JP 33433397 A JP33433397 A JP 33433397A JP H11167510 A JPH11167510 A JP H11167510A
Authority
JP
Japan
Prior art keywords
replication
directory server
directory
request
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9334333A
Other languages
English (en)
Inventor
Yoko Hirashima
陽子 平島
Satoshi Kikuchi
菊地  聡
Hitoshi Yui
仁 由井
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9334333A priority Critical patent/JPH11167510A/ja
Priority to US09/203,570 priority patent/US6301589B1/en
Publication of JPH11167510A publication Critical patent/JPH11167510A/ja
Priority to US09/969,727 priority patent/US20020059329A1/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4523Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using lightweight directory access protocol [LDAP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4517Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using open systems interconnection [OSI] directories, e.g. X.500
    • 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
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • 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/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】ディレクトリデータのレプリケーションを行う
ディレクトリシステムにおいて、コンシューマ側のディ
レクトリサーバが、任意の時点で取ってあるバックアッ
プを使用して、レプリカデータの再構築を行うことを可
能とする。 【解決手段】コンシューマ側のディレクトリサーバが管
理するレプリカデータ9c中に、レプリケーションサー
ビス10′が行ったレプリケーションによって最後に変
更されたエントリを特定するための情報10cを記録す
るようにする。そこで、レプリケーションサービス1
0′は、この情報10cに基づいて、次にレプリケーシ
ョンを行うべきエントリを知ることができるので、サプ
ライヤ側のディレクトリサーバが管理するマスタデータ
9sと、レプリカデータ9cとの差分を認識することが
でき、従って、バックアップを使用したレプリカデータ
9cの再構築時に、この差分についてのみレプリケーシ
ョンを行うことができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディレクトリデー
タの複製管理において、運用性を向上させることを可能
とする技術に関する。
【0002】
【従来の技術】今日の企業内情報システムのように、メ
ールシステムやファイル共有システム等の独立した複数
のシステムが混在したOA環境においては、ユーザは、
複数のメールアドレス,ログイン名,パスワード等のユ
ーザ識別情報を持つようになっている。そのため、管理
者は、ユーザの増減に際し、各システムで使用されるユ
ーザ識別情報を、別々に追加/削除する必要があり、管
理負担が大きい。
【0003】そこで、複数の異種システムで用いられる
ユーザ識別情報、並びに、機器および資源に関する情報
を一元的に管理するディレクトリサービスを行うことを
可能としたディレクトリシステムが、管理者の管理負担
を軽減することができるとして期待されている。ディレ
クトリシステムを適用することで、ユーザが所望する情
報を検索して提供することが可能となる。
【0004】上述した企業内情報システムは、これまで
は、比較的小規模な部署単位で構築されていた。しか
し、部署ごとに異なる企業内情報システムでは、部署間
の人の移動に伴う手続きやメールの交換を円滑に行うこ
とはできないことから、全社的に統一された大規模で広
域な企業内情報システムの構築が、急速に進められてい
る。
【0005】このような大規模で広域な企業内情報シス
テムの発展に伴い、ディレクトリシステムは、システム
規模に関わらず、アクセス性能を維持することが望まれ
ている。また、信頼性の面からも、単一箇所の障害によ
るサービスの中断を防ぐために、サービスの多重化が必
要である。
【0006】こうした要求に答えるためには、ディレク
トリデータの複製を複数箇所に配置することが有効であ
る。以降、ディレクトリデータの複製を「レプリカデー
タ」と呼び、ディレクトリデータの複製を行うことを
「レプリケーション」と呼ぶ。
【0007】ディレクトリサービスにおけるレプリケー
ションに関する標準として、CCITTの勧告である
X.500が挙げられる。X.500は、ディレクトリサ
ービスを、クライアント−サーバ型の分散システムアー
キテクチャとして規定し、クライアントとサーバとの間
のディレクトリアクセスプロトコルとして、DAP(Di
rectory Access Protocol)を規定している。
【0008】X.500準拠のディレクトリサービス
は、木構造(ディレクトリツリー)として階層管理され
たデータモデルを有する。木の枝葉に相当する箇所に
は、ディレクトリエントリが配置される。各エントリ
は、同一の親エントリを有するエントリ間で一意である
相対識別名(RDN:Relative Distinguished Name)
と、木構造の根(ルート)からの経路を示すRDNの列
である識別名(DN:Distinguished Name)とによっ
て、一意に識別される。また、各エントリは、ユーザの
メールアドレスに加えて、姓名,電話番号,FAX番
号,写真等の様々な情報を、属性として記憶可能であ
る。ここで、エントリは、1つ以上のオブジェクトクラ
スに属する。オブジェクトクラスとは、あるクラスに存
在しなければならない必須の属性、および、存在しても
よい任意の属性の集合を定義するものである。
【0009】レプリケーションについては、複製元のデ
ィレクトリデータ(マスタデータ)を管理し、複製する
ディレクトリデータを提供するディレクトリサーバを、
サプライヤ側と定義し、レプリカデータを管理し、複製
するディレクトリデータを受け取るディレクトリサーバ
を、コンシューマ側と定義しており、サプライヤ側のデ
ィレクトリサーバとコンシューマ側のディレクトリサー
バとの間のレプリケーションプロトコルとして、DIS
P(Directory Information Shadowing Protocol)を規
定している。
【0010】また、オペレーションモデルとしては、サ
プライヤ側のディレクトリサーバからレプリケーション
を起動する「push」モデルと、コンシューマ側のディレ
クトリサーバがデータを要求してレプリケーションを起
動する「pull」モデルとがある。
【0011】一方、IETF(Internet Engineering T
ask Force)は、TCP/IPスタック上で動作するL
DAP(Light Weight Directory Access Protocol)
(RFC1777)を、ディレクトリアクセスの標準プ
ロトコルとした。
【0012】LDAPは、OSIスタック上で動作する
DAPに比べて軽量であることが大きな利点である。I
ETFでは、レプリケーションの標準プロトコルは決定
されていない。しかし、軽量であり、既存プロトコルを
再利用でき、APIがシンプルで開発が簡単であるなど
の利点があり、ディレクトリサーバ間のレプリケーショ
ンにも、LDAPが有効である。実際に、LDAPをレ
プリケーションプロトコルとして用いたサーバ製品が市
場に出荷されている。
【0013】以下、LDAPをレプリケーションプロト
コルとして用いた従来のレプリケーションについて説明
する。
【0014】なお、以下の説明では、マスタデータを管
理するディレクトリサーバを「サプライヤ・ディレクト
リサーバ」と呼び、レプリカデータを管理するディレク
トリサーバを「コンシューマ・ディレクトリサーバ」と
呼ぶ。そして、サプライヤ・ディレクトリサーバで行わ
れた変更操作を、コンシューマ・ディレクトリサーバへ
と伝播するサーバを「レプリケーションサーバ」と呼
ぶ。
【0015】本従来例では、レプリケーションサーバを
独立した1つのサーバとして説明するが、サプライヤ・
ディレクトリサーバまたはコンシューマ・ディレクトリ
サーバの1機能として実現するようにしてもよい。
【0016】LDAPにおけるディレクトリアクセス要
求には、ディレクトリデータに変更を加えない参照系デ
ィレクトリアクセス要求と、変更を加える更新系ディレ
クトリアクセス要求とがある。参照系ディレクトリアク
セス要求は、検索要求のみであり、更新系ディレクトリ
アクセス要求には、エントリ追加要求,エントリ削除要
求,エントリ属性変更要求,RDN変更要求がある。
【0017】サプライヤ・ディレクトリサーバは、更新
系ディレクトリアクセス要求に従った変更操作に成功す
ると、この変更操作の履歴情報にタイムスタンプを付加
し、レプリケーションレコードとして、変更ログファイ
ルに格納する。このタイムスタンプは、レプリケーショ
ンレコードが格納された順序、すなわち、対応する更新
系ディレクトリアクセス要求に従った変更操作が行われ
た順序を識別するためのものである。
【0018】従来のレプリケーションサーバは、レプリ
ケーションを行う際には、まず、タイムスタンプが非減
少となる順序で、レプリケーションレコードを変更ログ
ファイルから取得し、取得したレプリケーションレコー
ドに基づいて、更新系ディレクトリアクセス要求(LD
APアクセス要求)を作成し、作成したLDAPアクセ
ス要求をコンシューマ・ディレクトリサーバへ発行する
ようになっている。
【0019】これにより、コンシューマ・ディレクトリ
サーバは、サプライヤ・ディレクトリサーバで変更操作
が行われる元となった更新系ディレクトリアクセス要求
と同一の更新系ディレクトリアクセス要求に従った変更
操作を、サプライヤ・ディレクトリサーバが変更操作を
行った順序と同一の順序で行うことができる。
【0020】ただし、レプリケーションサーバは、上述
したように、変更操作を伝播するのみであるので、コン
シューマ・ディレクトリサーバの管理者は、レプリケー
ションの開始に先立って、マスタデータの複製を、レプ
リカデータとして用意しなければならない。
【0021】レプリケーションのオペーレーションは、
レプリケーションサーバが、サプライヤ・ディレクトリ
サーバのレプリケーションレコード出力に応じてレプリ
ケーションを開始する場合は、「push」モデルとなり、
コンシューマ・ディレクトリサーバの状態に応じてレプ
リケーションを開始する場合は、「pull」モデルとな
る。
【0022】本明細書では、「push」モデルのレプリケ
ーションを前提とする。
【0023】なお、タイムスタンプは、サプライヤ・デ
ィレクトリサーバが更新系ディレクトリアクセス要求を
受信した時点,変更操作を行った時点,レプリケーショ
ンレコードを変更ログファイルに格納した時点のうちの
いずれかの時点に基づく数値であり、変更操作が行われ
た順序で昇順となっていなければならない。
【0024】図3に、従来のレプリケーションサーバが
行うレプリケーションのシーケンスを示す。
【0025】図3に示すように、従来のレプリケーショ
ンサーバは、まず、変更ログファイルからレプリケーシ
ョンレコード(31)を読み出す。
【0026】続いて、レプリケーションサーバは、コン
シューマ・ディレクトリサーバへ、バインド(bind)要
求(32)を発行し、それに対する応答(33)を受け
取ることで、コンシューマ・ディレクトリサーバとの間
のコネクションを確立する。
【0027】続いて、レプリケーションサーバは、読み
出したレプリケーションレコード(31)に基づいてL
DAPアクセス要求(34)を作成する。以下、これら
のLDAPアクセス要求を、「レプリケーション要求」
と呼ぶ。
【0028】そして、レプリケーションサーバは、コン
シューマ・ディレクトリサーバへ、作成したレプリケー
ション要求(34)を発行し、それに対する応答(3
5)を受け取る。この応答(35)に含まれているリタ
ーンコードが、レプリケーションが成功したことを示す
「LDAP_SUCCESS」であった場合は、レプリケーション状
態の記録(37)を行う。ここでは、成功したレプリケ
ーションレコードのタイムスタンプを、レプリケーショ
ン状態ファイルに格納する。
【0029】レプリケーションサーバは、常に、レプリ
ケーション状態ファイルに格納したタイムスタンプ以降
のタイムスタンプを有するレプリケーションレコードの
うちの、最も古いタイムスタンプを有するレプリケーシ
ョンレコードを読み出すことにより、サプライヤ・ディ
レクトリサーバが変更操作を行った順序と同一の順序
で、レプリケーションを行うことができる。
【0030】その後、レプリケーションサーバは、アン
バインド(unbind)要求(38)を発行し、コンシュー
マ・ディレクトリサーバとの間のコネクションを切断す
る。
【0031】以上のシーケンスにより、サプライヤ・デ
ィレクトリサーバで実行された変更操作と同様の変更操
作を、同様な順序で、コンシューマ・ディレクトリサー
バが実行するようにすることができ、サプライヤ・ディ
レクトリサーバが管理するマスタデータと、コンシュー
マ・ディレクトリサーバが管理するレプリカデータとを
等しくすることが可能となる。
【0032】上述したようなシーケンスを実現するため
のサーバプログラムの例として、ミシガン大学が開発し
たレプリケーションサービスプログラム「slurpd」が、
インターネット上で無償提供されている。
【0033】
【発明が解決しようとする課題】上述した従来技術で
は、コンシューマ・ディレクトリサーバが管理するレプ
リカデータが、磁気ディスクの物理的損傷等によリ失わ
れてしまった場合に、一般に地理的に離れた場所にある
サプライヤ・ディレクトリサーバが管理するマスタデー
タのコピーを取得して、レプリカデータを再構築する必
要があるので、管理者の手間がかかると共に、復旧まで
の時間を要する。
【0034】ここで、レプリカデータのバックアップを
取っておいたとしても、そのバックアップデータを使用
してレプリカデータを再構築することはできない。それ
は、バックアップデータが、どのレプリケーションレコ
ードについてまで反映済みであるのかが不明であるの
で、レプリケーションサーバは、バックアップデータに
対するレプリケーションを再開することができないから
である。このとき、レプリケーションサーバにおいて、
レプリケーション状態ファイルに格納されているタイム
スタンプは、障害発生時点での値であるので、バックア
ップデータには対応していない。
【0035】このように、従来技術は、レプリケーショ
ンサーバが、マスタデータとバックアップデータとの差
分を認識することができないので、レプリカデータの再
構築時に、バックアップデータに対するレプリケーショ
ンを行うことができないという問題点がある。
【0036】また、従来技術では、レプリケーションサ
ーバが、レプリケーション要求を発行してから、それに
対する応答を受信するまでの間に、電源断等の障害によ
りレプリケーションが異常終了してしまい、コンシュー
マ・ディレクトリサーバから応答を受信できなかった場
合には、最後にレプリケーションに成功したレプリケー
ションレコードのタイムスタンプが記録されないことと
なる。
【0037】このため、レプリケーションサーバは、障
害の復旧後、レプリケーションを再開すると、前回のセ
ッションで行われたレプリケーションで発行したレプリ
ケーション要求と同一のレプリケーション要求を再度発
行してしまうこととなるので、前回のセッションで行わ
れたレプリケーションで発行したレプリケーション要求
に従ったコンシューマ・ディレクトリサーバの変更操作
が成功していた場合には、同一のレプリケーション要求
が重複してしまい、このレプリケーション要求に従った
変更操作は失敗する。このような場合、レプリケーショ
ンサーバが異常終了してしまい、管理者は、手動で復旧
作業を行う必要があるという問題点がある。
【0038】そこで、本発明の第1の目的は、レプリカ
データが失われた場合でも、そのレプリカデータのバッ
クアップに対するレプリケーションを再開することを可
能にし、運用性を向上させたレプリケーションを実現す
ることにある。
【0039】また、本発明の第2の目的は、任意の時点
で予期できない障害によりレプリケーションを中断した
場合でも、障害の復旧後、正常にレプリケーションを再
開することを可能にし、運用性を向上させたレプリケー
ションを実現することにある。
【0040】
【課題を解決するための手段】上記第1の目的を達成す
るために、本発明は、第1の態様として、ディレクトリ
データのマスタデータを管理し、上記マスタデータを変
更した際の操作の履歴情報を記憶保持する第1のディレ
クトリサーバと、上記マスタデータの複製であるレプリ
カデータを管理する1つ以上の第2のディレクトリサー
バとが、少なくともネットワークで接続されたディレク
トリシステムにおいて、上記第1のディレクトリサー
バ、および、上記ネットワークに接続される別のサーバ
のうちのいずれか一方のサーバ(以下、「レプリケーシ
ョンサーバ」と称す。)にインストールされ、上記マス
タデータと上記レプリカデータとを同一の内容に保つレ
プリケーションツールであって、上記第1のディレクト
リサーバが記憶保持している履歴情報のうちから、処理
対象となる履歴情報を取得する履歴情報取得手段と、上
記履歴情報取得手段が取得した履歴情報に対応する操作
と同一の操作を上記レプリカデータについて行う旨を要
求するディレクトリアクセス要求(以下、「レプリケー
ション要求」と称す。)を、上記第2のディレクトリサ
ーバへ発行するレプリケーション要求発行手段と、上記
レプリケーション要求発行手段が発行したレプリケーシ
ョン要求に従って行われた上記第2のディレクトリサー
バの操作が成功した場合に、該操作に対応する履歴情報
を特定するための識別情報を、該第2のディレクトリサ
ーバが管理するレプリカデータ中に記録する識別情報記
録手段とを有するよう、上記レプリケーションサーバを
機能させ、上記履歴情報取得手段は、上記第2のディレ
クトリサーバが管理するレプリカデータ中に記録されて
いる識別情報を参照して、取得すべき履歴情報を決定す
ることを特徴としたレプリケーションツールを提供して
いる。
【0041】第1の態様によれば、第2のディレクトリ
サーバが管理するレプリカデータ中に記録されている識
別情報は、レプリケーション要求に従って行われた該第
2のディレクトリサーバの操作によって最後に変更され
たエントリ(レプリケーションによって最後に変更され
たエントリ)を特定することとなるので、レプリケーシ
ョンサーバは、この識別情報を参照することで、次にレ
プリケーションを行うべきエントリを知ることができ、
従って、第1のディレクトリサーバが管理するマスタデ
ータと、第2のディレクトリサーバが管理するレプリカ
データとの差分を認識することができる。
【0042】そこで、この識別情報を含むレプリカデー
タのバックアップを取っておけば、記録媒体の物理的破
損等によりレプリカデータが失われてしまった場合に、
第2のディレクトリサーバが、マスタデータ中の全ての
エントリを第1のディレクトリサーバから取得しなくて
も、バックアップを使用してレプリカデータを再構築す
ることができるようになるので、運用性を向上させるこ
とができる。
【0043】すなわち、第1の態様によれば、レプリカ
データが失われた場合でも、そのレプリカデータのバッ
クアップに対するレプリケーションを再開することを可
能にし、運用性を向上させたレプリケーションを実現す
るができる。
【0044】なお、第1の態様において、上記履歴情報
が、対応する操作の実行順序を示す順序情報を含む場合
には、上記識別情報記録手段は、記録すべき識別情報と
して上記順序情報を用い、上記履歴情報取得手段は、参
照した識別情報に含まれる順序情報が示す実行順序より
後の実行順序を示す順序情報が含まれる履歴情報のうち
の、最も早い実行順序を示す順序情報が含まれる履歴情
報を、取得すべき履歴情報として決定するようにするこ
とができる。
【0045】また、本発明は、第2の態様として、第1
の態様において、上記履歴情報取得手段は、上記識別情
報を検索するという操作を行う旨を要求するディレクト
リアクセス要求を、上記第2のディレクトリサーバへ発
行することで、該第2のディレクトリサーバが管理する
レプリカデータ中に記録されている識別情報を参照する
ことを特徴としたレプリケーションツールを提供してい
る。
【0046】第2の態様によれば、上記識別情報を、レ
プリカデータ中の1つのエントリに設定される内容とし
て扱うことができるので、第2のディレクトリサーバと
っては、上記識別情報を検索するという操作を、上述し
た参照系ディレクトリアクセス要求に従った検索操作と
同様に行えばよく、従って、第2のディレクトリサーバ
の動作は、従来と同様の動作でよい。
【0047】また、本発明は、第3の態様として、第1
の態様および第2の態様のいずれかにおいて、上記識別
情報記録手段は、上記識別情報を記録するという操作を
行う旨を要求するディレクトリアクセス要求を、上記第
2のディレクトリサーバへ発行することで、該第2のデ
ィレクトリサーバが管理するレプリカデータ中に該識別
情報を記録することを特徴としたレプリケーションツー
ルを提供している。
【0048】第3の態様によれば、上記識別情報を、レ
プリカデータ中の1つのエントリに設定される内容とし
て扱うことができるので、第2のディレクトリサーバに
とっては、上記識別情報を記録するという操作を、上述
した更新系ディレクトリアクセス要求に従った変更操作
と同様に行えばよく、従って、第2のディレクトリサー
バの動作は、従来と同様の動作でよい。
【0049】また、本発明は、第4の態様として、第1
の態様〜第3の態様のいずれかにおいて、上記レプリケ
ーション要求発行手段が発行したレプリケーション要求
に従って行われた上記第2のディレクトリサーバの操作
が失敗した場合でも、該レプリケーション要求と同一の
レプリケーション要求を2回以上連続して発行したこと
によって生じた失敗であり、かつ、該レプリケーション
要求と同一のレプリケーション要求を該第2のディレク
トリサーバが以前に受信しているならば、成功したとみ
なすエラー判定手段をさらに有するよう、上記レプリケ
ーションサーバを機能させることを特徴としたレプリケ
ーションツールを提供している。
【0050】例えば、レプリケーション要求に従って行
われた第2のディレクトリサーバの操作が成功した後に
障害が発生し、レプリケーションが中断してしまった場
合には、上記識別情報の記録に失敗してしまうこととな
るので、障害の復旧後、レプリケーションサーバは、レ
プリケーションを再開すると、変更されていない誤った
識別情報を参照して、レプリケーション要求を発行する
こととなり、このレプリケーション要求に従って行われ
る第2のディレクトリサーバの操作は失敗することとな
る。
【0051】しかしながら、第4の態様によれば、レプ
リケーションサーバは、このような失敗を成功とみなす
ことができるので、レプリカデータを正しく保ちつつ、
レプリケーションを続行することが可能となる。
【0052】また、本発明は、第5の態様として、第1
の態様および第2の態様のいずれかにおいて、上記第2
のディレクトリサーバが、受信したディレクトリアクセ
ス要求中に予め定義された特定フィールドの設定内容に
従って、予め定義された特定操作を行うことが可能なデ
ィレクトリサーバである場合には、上記識別情報記録手
段は、上記レプリケーション要求発行手段が発行するレ
プリケーション要求中の特定フィールドに、上記識別情
報を記録するという特定操作を上記第2のディレクトリ
サーバが行うために必要な情報を設定することで、該第
2のディレクトリサーバが管理するレプリカデータ中に
該識別情報を記録することを特徴としたレプリケーショ
ンツールを提供している。
【0053】第5の態様によれば、第3の態様の効果に
加えて、レプリケーション要求の1回の発行で、上記識
別情報を記録するという操作を上記第2のディレクトリ
サーバに行わせることが可能となるので、レプリケーシ
ョンサーバは、レプリケーション要求以外に、上記識別
情報を記録するという操作を行う旨を要求するディレク
トリアクセス要求を発行する必要がなくなり、ネットワ
ークトラフィックの増加を押さえることができる。
【0054】さらに、上記第2の目的を達成するために
は、レプリケーションサーバが、発行したレプリケーシ
ョン要求に従って行われた上記第2のディレクトリサー
バの操作が成功したか否かを知る前に障害が発生し、レ
プリケーションが中断してしまった場合でも、障害の復
旧後、レプーリケーションを正常に再開することができ
ない危険性があるという問題点を解決する必要がある。
【0055】そこで、本発明においては、この問題点を
解決するためには、第3の態様および第5の態様のいず
れかにおいて、上記第2のディレクトリサーバが、上記
レプリケーション要求に従った操作、および、上記識別
情報を記録するという操作を、同一のトランザクション
として処理するようにすればよい。
【0056】このようにすれば、レプリカデータおよび
上記識別情報の一貫性を保証することができるようにな
るので、上記第2の目的を達成することができる。
【0057】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して説明する。
【0058】まず、本発明の第1の実施形態について説
明する。
【0059】図2に、第1の実施形態に係るディレクト
リシステムのシステム構成を示す。図中、1sは第1の
ディレクトリサーバ、1cは第2のディレクトリサーバ
である。
【0060】第1の実施形態においても、従来技術と同
様に、アクセス性能の維持および信頼性の向上を目的と
して、複数のディレクトリサーバ(ここでは、第1のデ
ィレクトリサーバ1sおよび第2のディレクトリサーバ
1cの2つである。)を備えるようにしており、サプラ
イヤ側である第1のディレクトリサーバ1sが、自身が
管理するディレクトリデータ(マスタデータ)が変更さ
れた場合に、コンシューマ側である第2のディレクトリ
サーバ1cへレプリケーション要求を発行することで、
第2のディレクトリサーバ1cが管理するディレクトリ
データ(レプリカデータ)を同一の内容に変更するレプ
リケーションを行うようになっている。ここで、第1の
実施形態においては、第1のディレクトリサーバ1s
が、レプリケーションを行うレプリケーションサーバと
同一のサーバであるものとしている。
【0061】ただし、第1の実施形態においては、従来
技術とは異なり、レプリカデータのバックアップを取っ
ておくようにし、記録媒体の物理的破損等によりレプリ
カデータが失われてしまった場合に、バックアップデー
タに対するレプリケーションを再開することを可能とす
ることで、第2のディレクトリサーバ1cが、マスタデ
ータ中の全てのエントリを第1のディレクトリサーバ1
sから取得しなくても、バックアップを使用したレプリ
カデータの再構築を可能とし、運用性を向上させるよう
にしている。
【0062】すなわち、バックアップを取っているエン
トリについては、第2のディレクトリサーバ1cが、こ
れを使用してレプリカデータを復旧し、バックアップを
取っていないエントリについてのみ、第1のディレクト
リサーバ1sがレプリケーションを再開することで、レ
プリカデータを復旧するようにしている。
【0063】そのためには、第1のディレクトリサーバ
1sが、自身が管理するマスタデータと、第2のディレ
クトリサーバ1cが管理するレプリカデータ(バックア
ップを使用して復旧されたレプリカデータ)との差分を
認識し、この差分についてのみレプリケーションを行う
必要があるが、従来技術では、この差分を認識すること
ができないという問題点があった。
【0064】そこで、第1の実施形態においては、後述
するように、第1のディレクトリサーバ1sが、レプリ
ケーションによって最後に変更されたレプリカデータ中
のエントリを認識することを可能とすることで、マスタ
データとレプリカデータとの差分を認識することを可能
としている。
【0065】さて、図2に戻って、第1のディレクトリ
サーバ1sは、中央処理装置(CPU)2sと、メモリ
3sと、磁気ディスク4sと、ディスクコントローラ5
sと、LANコントローラ6sとを備えて構成されてい
る。
【0066】第1のディレクトリサーバ1sの起動時に
は、CPU2sによって、オペレーティングシステム
(OS)7sと、マスタデータ9sを管理するサプライ
ヤ・ディレクトリサーバプログラム8sと、レプリケー
ションを行うレプリケーションサーバプログラム10と
が、磁気ディスク4aから、ディスクコントローラ5s
を介して、メモリ3s上にロードされる。
【0067】レプリケーションサーバプログラム10
は、変更ログ取得プログラム11と、リクエスト生成プ
ログラム12と、レプリケーション状態記録プログラム
15と、エラー判定プログラム13と、通信制御プログ
ラム14とを内部に有している。
【0068】また、磁気ディスク4sには、サプライヤ
・ディレクトリサーバプログラム8sが管理するレプリ
カデータ9sと、コンシューマ・ディレクトリサーバプ
ログラム8cに接続するために必要な情報が格納されて
いるレプリケーション定義ファイル19と、サプライヤ
・ディレクトリサーバプログラム8sがマスタデータ9
sを変更した場合に、その変更操作の履歴情報が、レプ
リケーションレコードとして格納される変更ログファイ
ル20と、レプリケーションサーバプログラム10がレ
プリケーションに成功した場合に、該レプリケーション
を行う元となった変更操作に対応するレプリケーション
レコードを示すレコード識別子が格納されるレプリケー
ション状態ファイル21とが存在している。
【0069】一方、第2のディレクトリサーバ1cは、
CPU2cと、メモリ3cと、磁気ディスク4cと、デ
ィスクコントローラ5cと、LANコントローラ6cと
を備えて構成されている。
【0070】第2のディレクトリサーバ1cの起動時に
は、CPU2cによって、OS7cと、レプリカデータ
9cを管理するコンシューマ・ディレクトリサーバプロ
グラム8cとが、磁気ディスク4cから、ディスクコン
トローラ5cを介して、メモリ3c上にロードされる。
【0071】また、磁気ディスク4cには、コンシュー
マ・ディレクトリサーバプログラム8cが管理するレプ
リカデータ9cが存在している。
【0072】第1のディレクトリサーバ1sと第2のデ
ィレクトリサーバ1cとは、ローカルエリアネットワー
ク(LAN)100で接続されており、LANコントロ
ーラ6s,6cを介して互いに通信を行う。
【0073】マスタデータ9sおよびレプリカデータ9
c中の各エントリは、例えば、ユーザ識別情報を示すよ
うにすることができる。このとき、ユーザは、自身が使
用している端末(図示せず。)から、第1のディレクト
リサーバ1sまたは第2のディレクトリサーバ1cへ、
検索要求(参照系ディレクトリアクセス要求)を発行す
ることで、所望のユーザ識別情報を検索することが可能
であり、また、ユーザ(特に、管理者)は、自身が使用
している端末から、第1のディレクトリサーバ1sへ、
更新要求(更新系ディレクトリアクセス要求)を発行す
ることで、マスタデータ9sを変更することが可能であ
る。レプリケーションサーバプログラム10は、マスタ
データ9sが変更されると、レプリカデータ9cの内容
を同一の内容に変更するために、レプリケーションを行
う。
【0074】なお、サプライヤ・ディレクトリサーバプ
ログラム8sおよびレプリケーションサーバプログラム
10は、同一のサーバプログラムに含まれるような構成
としてもよいし、独立した構成のサーバプログラムであ
るようにしてもよい。さらに、独立した構成のサーバプ
ログラムであるようにした場合には、これらのサーバプ
ログラム8s,10は、同一のサーバ上に共に存在する
ようにしてもよいし、別のサーバ上に各々存在するよう
にしてもよい。
【0075】第1の実施形態においては、サプライヤ・
ディレクトリサーバプログラム8sおよびレプリケーシ
ョンサーバプログラム10は、図2に示すように、独立
した構成のサーバプログラムであるものとし、同一のサ
ーバ(第1のディレクトリサーバ1s)上に共に存在す
るものとする。また、コンシューマ・ディレクトリサー
バプログラム8cは、2つのサーバプログラム8s,1
0が動作するサーバとは別のサーバ(第2のディレクト
リサーバ1c)上に存在するものとする。
【0076】なお、以下の図面において、同一の部分に
は同一の符号を付加する。
【0077】図1に、第1の実施形態に係るレプリケー
ションサービスの機能構成を示す。
【0078】図1において、サプライヤ・ディレクトリ
サービス8s′およびコンシューマ・ディレクトリサー
ビス8c′は、各々、図2に示したサプライヤ・ディレ
クトリサーバプログラム8sおよびコンシューマ・ディ
レクトリサーバプログラム8cによって実現される機能
ブロックであり、マスタデータ9sおよびレプリカデー
タ9cは、サプライヤ・ディレクトリサービス8s′お
よびコンシューマ・ディレクトリサービス8c′によっ
て各々管理される。
【0079】第1の実施形態においては、特に、コンシ
ューマ・ディレクトリサービス8c′が管理するレプリ
カデータ9c中には、レプリケーションによって最後に
変更されたレプリカデータ9c中のエントリを特定する
ためのレプリケーションレコード識別子10cが記録さ
れるようになっている。このレプリケーションレコード
識別子10cは、実際には、コンシューマ・ディレクト
リサービス8c′が管理するレプリカデータ9c中の予
め定めたエントリに、該エントリに含まれる属性として
設定されるものであり、具体的には、図10を用いて後
述するオブジェクトクラスのlastReplRecord属性の属性
値として設定される。
【0080】変更ログ20′は、図2に示した変更ログ
ファイル20に相当しており、変更ログ20′には、サ
プライヤ・ディレクトリサービス8s′が変更操作を行
う契機となった更新要求(更新系ディレクトリアクセス
要求)が、タイムスタンプおよびレコード番号からなる
レコード識別子が付加されてから、レプリケーションレ
コードとして格納される。なお、タイムスタンプは、サ
プライヤ・ディレクトリサービス8s′が更新系ディレ
クトリアクセス要求を受信した時点,変更操作を行った
時点,レプリケーションレコードを変更ログ20′に格
納した時点のうちのいずれかの時点の時刻に基づく数値
であり、変更操作が行われた順序で昇順となっていなけ
ればならない。また、レコード番号は、変更操作が行わ
れる度に1づつ増加する数値である。
【0081】一方、レプリケーションサービス10′
は、図2に示したレプリケーションサーバプログラム1
0によって実現される機能ブロックであり、変更ログ取
得部11′と、レプリケーション状態記録部15′と、
リクエスト生成部12′と、エラー判定部13′と、通
信制御部14′という5つの機能ブロックを内部に有し
ている。これら5つの機能ブロック11′〜15′は、
各々、図2に示した変更ログ取得プログラム11,レプ
リケーション状態記録プログラム15,リクエスト生成
プログラム12,エラー判定プログラム13,通信制御
プログラム14によって実現される機能ブロックであ
る。
【0082】以下、5つの機能ブロック11′〜15′
について説明する。
【0083】変更ログ取得部11′は、レプリカデータ
9c中のレプリケーションレコード識別子10cに基づ
いて、変更ログ20′からレプリケーションレコードを
取得する。レプリケーションレコード識別子10cは、
レプリケーションによって最後に変更されたレプリカデ
ータ9c中のエントリを特定するために、該エントリと
同一のエントリがマスタデータ9sにおいて変更された
際の変更操作に対応するレプリケーションレコードを特
定するようになっており、そのようなレプリケーション
レコード中のタイムスタンプおよびレコード番号を含む
ようになっている。レプリケーションは、変更されたマ
スタデータ9s中のエントリと同一のレプリカデータ9
c中のエントリについて、マスタデータ9s中のエント
リが変更された際の変更操作と同一の変更操作が行われ
るようにすることで実現されるものであるので、マスタ
データ9s中のエントリが変更された際の変更操作に対
応するレプリケーションレコードを特定することは、該
変更操作と同一の変更操作によって変更されたレプリカ
データ9c中のエントリを特定することと等価である。
【0084】そこで、変更ログ取得部11′は、レプリ
ケーションレコード識別子10cに含まれているタイム
スタンプ以降のタイムスタンプ、および、レプリケーシ
ョンレコード識別子10cに含まれているレコード番号
より大きいレコード番号を有するレプリケーションレコ
ードを、より小さいタイムスタンプおよびレコード番号
を有するレプリケーションレコードから順番に検索し、
変更ログ20′から読み出す。これにより、レプリケー
ションサービス10′は、サプライヤ・ディレクトリサ
ービス8s′が変更操作を行った順序と同一の順序で、
レプリケーションを行うことが可能となる。
【0085】リクエスト生成部12′は、変更ログ取得
部11′が読み出したレプリケーションレコードに基づ
いてレプリケーション要求を作成する。
【0086】通信制御部14′は、リクエスト生成部1
2′が作成したレプリケーション要求をコンシューマ・
ディレクトリサービス8c′へ発行し、それに対する応
答を受信する。
【0087】レプリケーション状態記録部15′は、コ
ンシューマ・ディレクトリサービス8c′が保持してい
るレプリケーションレコード識別子10cを、レプリケ
ーションによって最後に変更されたレプリカデータ9c
中のエントリを示すように変更する。すなわち、レプリ
ケーション状態記録部15′は、発行したレプリケーシ
ョン要求の元となったレプリケーションレコード中のタ
イムスタンプおよびレコード番号を、レプリケーション
レコード識別子10cが含むように変更する。
【0088】エラー判定部13′は、既に発行したレプ
リケーション要求によって、レプリカデータ9c中のエ
ントリが変更されているにも関わらず、レプリケーショ
ンレコード識別子10cの変更に失敗したために、レプ
リケーションが失敗となってしまった旨を検出し、エラ
ー回復処理を行う。
【0089】図10に、ディレクトリデータ中のエント
リが属するオブジェクトクラスのうちの、directorySer
verクラスおよびserverApplicationProcessクラスを示
す。これらのオブジェクトクラスは、ISO8824と
して規定されたASN.1(Abstract Syntax Notation
One)を用いて表記してある。
【0090】directoryServerクラスは、serverApplica
tionProcessクラスのサブクラスとして任意に定義した
サブクラスであり、serverApplicationProcessクラス
は、X.521が定めるdSA(directorySystemAgen
t)クラスのサブクラスとして任意に定義したサブクラ
スである。
【0091】第1の実施形態においては、directorySer
verクラスが、任意に定義した属性であるlastReplRecor
d属性101を有するようにしている。このlastReplRec
ord属性101は、ディレクトリサーバプログラムがコ
ンシューマ側である場合にのみ存在する属性であり、レ
プリケーションレコード識別子10cを示す。また、se
rverApplicationProcessクラスは、任意に定義した属性
であるipAddressおよびhostNameを有するようにしてお
り、これらの属性は、コンシューマ側のディレクトリサ
ーバを示す。
【0092】図11に、lastReplRecord属性の属性値の
書式を示す。
【0093】lastReplRecord属性の属性値110は、大
文字/小文字を区別する文字列である。この属性値11
0は、レプリケーションサーバプログラム10が、レプ
リケーション定義ファイル19に格納されているサプラ
イヤ・ディレクトリサーバ1sのホスト名(図6の6
9)、並びに、変更ログファイル20に最後に格納され
たレプリケーションレコード(図7の70)のレコード
番号(図7の72)およびタイムスタンプ(図7の7
1)を、lastReplRecord属性値110中のホスト名11
1,レコード番号112,タイムスタンプ113に各々
設定して作成する。
【0094】なお、ホスト名は、DNS(Domain Name
Service)名であり、DNSサーバによって、インター
ネット上の情報処理装置を一意に識別可能なインターネ
ットアドレス(IPアドレス)に変換される。
【0095】また、レプリケーション定義ファイル19
および変更ログファイル20の格納内容は、図6および
図7を用いて後述する。
【0096】図4に、第1の実施形態に係るレプリケー
ションサービスのシーケンスを示す。
【0097】図4に示すように、レプリケーションサー
バプログラム10は、まず、コンシューマ・ディレクト
リサーバプログラム8cへ、バインド(bind)要求(4
01)を発行し、それに対する応答(402)を受け取
ることで、コンシューマ・ディレクトリサーバプログラ
ム8cとの間のコネクションを確立する。
【0098】続いて、レプリケーションサーバプログラ
ム10は、コンシューマ・ディレクトリサーバプログラ
ム8cへ、lastReplRecord属性の属性値の検索を要求す
るためのlastReplRecord検索要求(403)を発行し、
lastReplRecord属性値を含む応答(404)を受信す
る。この応答(404)に含まれているlastReplRecord
属性値から、レプリケーションサーバプログラム10
は、コンシューマ・ディレクトリサーバプログラム8c
が管理するレプリカデータ9c中のレプリケーションレ
コード識別子10cを知ることができるので、前回のセ
ッションで行ったレプリケーションによって最後に変更
されたエントリを特定するためのレプリケーションレコ
ードのタイムスタンプおよびレコード番号を知ることが
できる。
【0099】続いて、レプリケーションサーバプログラ
ム10は、レプリケーションが未実行のエントリについ
て、時系列的にレプリケーションを行うために、lastRe
plRecord属性値110に含まれているタイムスタンプお
よびレコード番号を取得し、取得したこれらの値に基づ
いて、レプリケーションレコードの読み出し(405)
を行う。
【0100】具体的には、レプリケーションサーバプロ
グラム10は、取得したタイムスタンプ「800000
00」以降のタイムスタンプ、および、取得したレコー
ド番号「456」より大きいレコード番号を有するレプ
リケーションレコードのうちから、最も小さいタイムス
タンプおよびレコード番号を有するレプリケーションレ
コード414を、変更ログファイル20から読み出す。
【0101】そして、読み出したレプリケーションレコ
ード414に基づいてレプリケーション要求を作成す
る。
【0102】なお、第1の実施形態においては、プロト
コルとして、LDSPを採用することとしているので、
作成されるレプリケーション要求は、LDAPアクセス
要求となる。また、ここでは、レプリケーションレコー
ド414から分かる変更操作が、エントリAの追加操作
であるものとし、従って、作成されるLDAPアクセス
要求は、エントリA追加要求(406)となる。
【0103】続いて、レプリケーションサーバプログラ
ム10は、コンシューマ・ディレクトリサーバプログラ
ム8cへ、作成したエントリA追加要求(406)を発
行する。このエントリA追加要求(406)を受信した
コンシューマ・ディレクトリサーバプログラム8cは、
エントリAの追加(407)を実行し、実行結果を示す
応答(408)を返送する。
【0104】レプリケーションサーバプログラム10
は、コンシューマ・ディレクトリサーバプログラム8c
から応答(408)を受信すると、この応答(408)
に含まれているリターンコードが、レプリケーションが
成功したことを示す「LDAP_SUCCESS」であった場合に、
レプリケーションレコード414を示すレコード識別子
として、レプリケーションレコード414のタイムスタ
ンプ「80000001」およびレコード番号「45
7」を、レプリケーション状態ファイル21に格納(4
09)する。
【0105】以上のシーケンスにより、サプライヤ・デ
ィレクトリサーバプログラム8sで実行されたエントリ
Aの追加操作は、コンシューマ・ディレクトリサーバプ
ログラム8cへと伝播された。
【0106】さて、第1の実施形態においては、レプリ
ケーションサーバプログラム10は、レプリケーション
要求に従ったコンシューマ・ディレクトリサーバプログ
ラム8cの変更操作が成功した後、レプリケーションレ
コード414のタイムスタンプ「80000001」お
よびレコード番号「457」を、コンシューマ・ディレ
クトリサーバプログラム8c上に記録するようにする。
【0107】具体的には、サプライヤ・ディレクトリサ
ーバプログラム8sが動作する第1のディレクトリサー
バ1sのホスト名、並びに、レプリケーションレコード
414のタイムスタンプおよびレコード番号を、図11
に示すlastReplRecord属性値110のホスト名111,
タイムスタンプ113,レコード番号112に各々設定
して、新たなlastReplRecord属性値を作成し、lastRepl
Record属性値の変更を要求するためのlastReplRecord更
新要求(410)を発行する。そして、lastReplRecord
属性値が変更され(411)、lastReplRecord更新要求
(410)に対する応答(412)を受信すると、アン
バインド(unbind)要求(413)を発行し、コンシュ
ーマ・ディレクトリサーバプログラム8cとの間のコネ
クションを切断する。
【0108】以上のシーケンスにより、コンシューマ・
ディレクトリサーバプログラム8cが管理するレプリカ
データ9cは、レプリケーションによって最後に変更さ
れたエントリを特定するためのレプリケーションレコー
ドを示すlastReplRecord属性値を、レプリケーションレ
コード識別子10cとして有することとなる。
【0109】上述したように、レプリケーションサーバ
プログラム10は、レプリケーション要求の発行前に、
lastReplRecord属性値を検索し、前回のセッションで行
ったレプリケーションによって最後に変更されたエント
リを特定するためのレプリケーションレコード識別子1
0cを知ることで、次に行うべきレプリケーションの元
となるレプリケーションレコードを知ることができるよ
うになる。
【0110】同様にして、レプリケーションサーバプロ
グラム10は、任意の時点でのレプリカデータ9cのバ
ックアップに対して、サプライヤ・ディレクトリサーバ
プログラム8sが管理するマスタデータ9sとの差分で
ある未実行のエントリを特定するためのレプリケーショ
ンレコードのみを取得し、レプリケーションを行うこと
で、マスタデータ9sの内容とレプリカデータ9cの内
容とを同一にすることが可能となる。
【0111】従って、第1の実施形態によれば、lastRe
plRecord属性値を含むレプリカデータ9cのバックアッ
プを取っておけば、磁気ディスク4cの物理的損傷等に
よりレプリカデータ9cが失われてしまった場合でも、
バックアップデータに対するレプリケーションを再開す
ることが可能になるので、第2のディレクトリサーバ1
cが、マスタデータ9s中の全てのエントリを第1のデ
ィレクトリサーバ1sから取得しなくても、バックアッ
プを使用したレプリカデータ9cの再構築が可能とな
り、運用性が向上する。
【0112】なお、第1の実施形態では、レプリケーシ
ョンサーバプログラム10は、セッションごとに、レプ
リケーション要求の発行およびlastReplRecord更新要求
の発行を1度づつ実行し、該セッションを終了するよう
にしているが、1つのセッション中で、レプリケーショ
ン要求の発行およびlastReplRecord更新要求の発行を、
交互に複数回繰り返すようにしても、本発明における効
果は同じである。
【0113】ところで、第1の実施形態においては、レ
プリケーション要求とlastReplRecord更新要求とを別個
の要求として発行するようにしているので、レプリケー
ション要求に従った変更操作が行われてから、lastRepl
Record更新要求に従った変更操作が行われるまでの間
は、lastReplRecord属性値は、正しいレプリケーション
レコード識別子10cを示していないこととなる。
【0114】そこで、この間に障害が発生した場合のエ
ラー回復処理が必要となり、以下に説明する。
【0115】図5に、エントリA追加要求(501)に
従ったコンシューマ・ディレクトリサーバプログラム8
cの変更操作が成功し、レプリケーションサーバプログ
ラム10がレプリケーション状態(502)を記録した
後に、第2のディレクトリサーバ1cの電源断等の障害
が発生し、lastReplRecord属性値(503)の変更操作
をコンシューマ・ディレクトリサーバプログラム8cが
実行せずに異常終了した場合のエラー回復処理を示す。
【0116】この場合、コンシューマ・ディレクトリサ
ーバプログラム8cがlastReplRecord属性値(503)
の変更操作を実行していないので、レプリケーションサ
ーバプログラム10は、再起動後、lastReplRecord属性
値を検索すると、前回のセッションで行ったレプリケー
ションで取得したlastReplRecord属性値と同じ値のlast
ReplRecord属性値を含む応答(504)を受信すること
となる。そこで、レプリケーションサーバプログラム1
0は、前回のセッションで変更ログファイル20から読
み出したレプリケーションレコードA(505)を、再
度読み出してしまい、前回のセッションで発行したエン
トリA追加要求(501)と同一のエントリA追加要求
(506)を、再度発行してしまう。
【0117】ここで、コンシューマ・ディレクトリサー
バプログラム8cは、再起動前に実行したエントリA追
加要求(501)に従った変更操作が成功していた場合
に、エントリ追加要求(506)に従った変更操作を実
行しようとしても、エントリAが既に存在していること
から、エントリ追加要求(506)に従った変更操作に
失敗してしまうので、それに対する応答(507)に含
まれるリターンコードは「LDAP_ALREADY_EXIST」とな
る。なお、「LDAP_ALREADY_EXIST」は、同一のエントリ
追加操作の重複により発生するリターンコードを示して
いる。
【0118】そこで、第1の実施形態においては、レプ
リケーションサーバプログラム10が、レプリケーショ
ン要求に対する応答に含まれているリターンコードが
「LDAP_ALREADY_EXIST」である場合には、該レプリケー
ション要求(ここでは、エントリA追加要求(506)
である。)が、前回のセッションで発行したレプリケー
ション要求と同一であるか否かを判断し、同一であるな
らば、該レプリケーション要求に対するコンシューマ・
ディレクトリサーバプログラム8cの変更操作が成功し
ているものとみなすようにし、続いて、lastReplRecord
更新要求を発行するようにする。
【0119】なお、レプリケーションサーバプログラム
10は、レプリケーションレコードA(505)のタイ
ムスタンプおよびレコード番号が、レプリケーション状
態ファイル21に格納されているタイムスタンプおよび
レコード番号と各々同一であれば、前回のセッションで
発行したレプリケーション要求と今回のセッションで発
行したレプリケーション要求とが同一であると判断する
ことができる。
【0120】上述したエラー回復処理によれば、lastRe
plRecord属性値の変更が実行できなかった場合にも、レ
プリカデータ9cを正しく保ちつつ、レプリケーション
を続行することが可能になる。
【0121】ここで、レプリケーション定義ファイル1
9,変更ログファイル20,レプリケーション状態ファ
イル21に各々格納される情報について説明しておく。
【0122】まず、図6に、レプリケーション定義ファ
イル19に格納される情報を示す。
【0123】これらの情報は、レプリケーションサーバ
プログラム10がコンシューマ・ディレクトリサーバプ
ログラム8cとの間のコネクションを確立する際に使用
される。
【0124】図6に示すように、レプリケーション定義
ファイル19には、コンシューマ・ディレクトリサーバ
プログラム8cが動作するコンシューマ・ディレクトリ
サーバ1cのホスト名61と、ポート番号62と、バイ
ンド方法63と、バインド時に用いる認証情報であるバ
インドDN64およびパスワード65と、ディレクトリ
サーバオブジェクトDN67と、変更ログ位置68と、
サプライヤ・ディレクトリサーバプログラム8sが動作
するサプライヤ・ディレクトリサーバ1sのホスト名6
9とが格納されている。
【0125】また、ディレクトリサーバオブジェクトD
N67は、レプリケーションレコード識別子10c(す
なわち、lastReplRecord属性値が設定されたエントリ)
を指定するために用いるものであり、変更ログ位置68
は、サプライヤ・ディレクトリサーバプログラム8sが
レプリケーションレコードを変更ログファイル20に格
納するために用いる、ファイルの絶対パスである。
【0126】第1の実施形態においては、バインド時に
行われる認証の認証方法として、レプリケーションサー
バプログラム10がバインド時に送信するバインドDN
64およびパスワード65が、コンシューマ・ディレク
トリサーバプログラム8cの管理者が予め登録している
バインドDNおよびパスワードと各々一致しているか否
かを判断する方法を採用しており、一致している場合
に、コンシューマ・ディレクトリサーバプログラム8c
が、レプリケーションサーバプログラム10に対してコ
ネクション確立を許可するようにしている。
【0127】レプリケーションサーバプログラム10の
管理者は、レプリケーションサーバプログラム10の起
動に先立って、レプリケーション定義情報ファイル19
を作成しておく。
【0128】図7に、変更ログファイル20に格納され
る情報を示す。
【0129】図7に示すように、変更ログファイル20
には、1つのレプリケーションレコード70ごとに、上
述したタイムスタンプ71およびレコード番号72と、
変更操作の対象DN73と、変更操作種別74と、変更
内容75と、変更後のRDNである新RDN76と、属
性値削除指示フラグ77と、変更後の親RDNである新
上位RDN78とが格納されている。
【0130】第1の実施形態では、タイムスタンプ71
は、1970年1月1日からの経過秒数を示す文字列である
としている。また、変更操作種別74は、レプリケーシ
ョンレコード70に対応する変更操作の種類を示し、変
更操作種別74には、変更操作が「エントリ追加」であ
る場合は「add」という文字列が設定され、「エントリ
削除」である場合は「delete」が設定され、「エントリ
属性値変更」である場合は「modify」という文字列が設
定され、「RDN変更」である場合は「modrdn」という
文字列が設定される。属性値削除指示フラグ77には、
「RDN変更」と同時に既存のRDN属性値を削除する
場合は「1」または「true」という文字列が設定され、
「RDN変更」と同時に既存のRDN属性値を削除しな
い場合は「0」または「false」という文字列が設定さ
れる。
【0131】変更内容75は、変更操作が「エントリ追
加」および「エントリ属性変更操作」である場合にのみ
存在し、新RDN76,属性値削除指示フラグ77,新
上位RDN78は、変更操作が「RDN変更」である場
合にのみ存在する。
【0132】図8に、変更操作が「エントリ属性変更操
作」である場合のレプリケーションレコード70の変更
内容75を示す。
【0133】図8に示すように、この場合の変更内容7
5は、1つの属性型82ごとに、属性変更操作種別81
と、0個以上の属性値83とからなる組を構成してお
り、この組が1個以上存在する。属性変更操作種別81
は、レプリケーションレコード70に対応する変更操作
(「エントリ属性変更操作」)の種類を示し、属性変更
操作種別81には、変更操作が「属性値追加」である場
合は「add」という文字列が設定され、「属性値削除」
である場合は「delete」という文字列が設定され、「属
性値変更」である場合は「replace」という文字列が設
定される。
【0134】図9に、変更操作が「エントリ追加操作」
である場合のレプリケーションレコード70の変更内容
75を示す。
【0135】図9に示すように、この場合の変更内容7
5は、追加すべきエントリが有する属性型91と、属性
値92とからなる組を構成しており、この組が1個以上
存在する。
【0136】図12に、レプリケーション状態ファイル
21に格納される情報を示す。
【0137】図12において、コンシューマ・ホスト名
121は、レプリケーションサーバプログラム10が複
数のコンシューマ・ディレクトリサーバプログラム8c
に対してレプリケーションを行う場合に、各コンシュー
マ・ディレクトリサーバプログラム8cが動作している
ディレクトリサーバのホスト名を設定し、各コンシュー
マ・ディレクトリサーバプログラム8cに対するレプリ
ケーション状態を識別するためにある。
【0138】また、タイムスタンプ122およびレコー
ド番号123には、レプリケーションに成功した最新の
レプリケーションレコード70のタイムスタンプ71お
よびレコード番号72が設定され、変更ログファイル2
0に格納されているレプリケーションレコード70中
の、どのレプリケーションレコード70までレプリケー
ションが終了したかを示す。
【0139】次に、LDAPで用いられるリターンコー
ドについて説明しておく。
【0140】まず、図13に、Group1に属するLDA
Pリターンコードを示す。
【0141】Group1に属するLDAPリターンコード
は、同一のレプリケーション要求(LDAPアクセス要
求)を複数回発行した場合に、ディレクトリサーバプロ
グラムが返すリターンコードである。
【0142】このリターンコードは、更新系操作の種類
によって異なる。更新系操作が「エントリ追加」である
場合は、操作対象エントリのDNと同一のDNを有する
エントリが既に存在することを示す「LDAP_ALREADY_EXI
STS」となる。「エントリ削除」および「RDN変更」
である場合は、操作対象エントリのDNと同一のDNを
有するエントリが既に存在しないことを示す「LDAP_NO_
SUCH_OBJECT」となる。「エントリ属性値追加」である
場合は、対象エントリの属性型に既に属性値が存在し複
数の属性値を持つことができないこと、または、同一の
属性値が既に存在することを示す「LDAP_TYPE_OR_VALUE
_EXISTS」となる。「エントリ属性値削除」である場合
は、対象エントリの属性値が既に存在しないことを示す
「LDAP_NO_SUCH_ATTRIBUTE」となる。
【0143】図14に、Group2に属するLDAPリタ
ーンコードを示す。
【0144】Group2に属するLDAPリターンコード
は、ディレクトリサーバプログラムが、レプリケーショ
ン要求(LDAPアクセス要求)に従った変更操作に成
功した場合に返すリターンコードである。
【0145】以下、第1の実施形態におけるレプリケー
ションサーバプログラム10の詳細な処理の流れについ
て、図15〜図18を用いて説明する。
【0146】図15は、第1の実施形態におけるレプリ
ケーションサーバプログラム10の処理の流れを示すフ
ローチャートである。
【0147】図15に示すように、レプリケーションサ
ーバプログラム10は、まず、変更ログファイル20が
更新される場合に備えて、予め定めた待ち時間だけ待つ
(ステップ1502)。例えば、待ち時間は、5秒とす
ることができる。
【0148】そして、待ち時間内に、変更ログファイル
20の更新を検出できなかった場合は(ステップ150
3)、ステップ1502に戻って、再び待つ。
【0149】また、レプリケーションサーバプログラム
10は、待ち時間内に、変更ログファイル20の更新を
検出した場合は(ステップ1503)、図6に示すレプ
リケーション定義ファイル19から、ホスト名61,ポ
ート番号62,バインド方法63,バインドDN64,
パスワード65を読み出し、読み出した内容を用いてバ
インド要求を作成し、コンシューマ・ディレクトリサー
バプログラム8cへ、作成したバインド要求を発行し、
それに対する応答を受信する(ステップ1504)。
【0150】そして、コンシューマ・ディレクトリサー
バプログラム8cとの間のコネクションが確立すると、
コンシューマ・ディレクトリサーバプログラム8cから
認証を受け、セッションを開始する。
【0151】その後、レプリケーションサーバプログラ
ム10は、図6に示すレプリケーション定義ファイル1
9から変更ログ位置68を読み出し、読み出した変更ロ
グ位置68にある変更ログファイル20から、図7に示
すレプリケーションレコード70を取得する(ステップ
1505)。なお、ステップ1505は、変更ログ取得
プログラム11によって行われる処理であり、その詳細
な処理内容については、図16を用いて後述するが、ス
テップ1505では、1度に1つのレプリケーションレ
コード70が、変更ログファイル20から読み出される
ものとする。
【0152】そして、読み出すべきレプリケーションレ
コード70が存在し、該レプリケーションレコード70
の取得に成功した場合は(ステップ1506)、取得し
たレプリケーションレコード70に基づいてレプリケー
ション要求を作成し(ステップ1508)、コンシュー
マ・ディレクトリサーバプログラム8cに発行する(ス
テップ1509)。
【0153】続いて、レプリケーションサーバプログラ
ム10は、コンシューマ・ディレクトリサーバプログラ
ム8cからの応答を受信し、受信した応答に含まれてい
るリターンコードを取得する(ステップ1510)。
【0154】そして、前回のセッションでlastReplReco
rd属性値の変更が実行されなかったために、今回のセッ
ションで、前回のセッションで発行したレプリケーショ
ン要求と同一のレプリケーション要求が発行されてしま
い、エラーを起こした場合に相当するか否かを、取得し
たリターンコードから判断し、そのような場合であるな
らば、該リターンコードを、レプリケーション要求に従
った変更操作が成功したことを示す「LDAP_SUCCESS」に
書き直し、エラーを無視する(ステップ1511)。な
お、ステップ1511は、エラー判定プログラム13に
よって行われる処理であり、その詳細な処理内容につい
ては、図17を用いて後述する。
【0155】その後、レプリケーションサーバプログラ
ム10は、レプリケーション要求に従った変更操作が成
功したか否かをレプリケーション状態ファイル21に記
録し、成功した場合には、さらに、lastReplRecord属性
値を変更する(ステップ1512)。なお、ステップ1
512は、レプリケーション状態記録プログラム15に
よって行われる処理であり、その詳細の処理内容につい
ては、図18を用いて後述する。
【0156】続いて、レプリケーションサーバプログラ
ム10は、レプリケーション要求に対する応答に含まれ
ているリターンコード(ステップ1511で書き直され
ている場合もある。)が「LDAP_SUCCESS」であるか否か
を判断し(ステップ1513)、リターンコードが「LD
AP_SUCCESS」である場合は、アンバインド要求を作成
し、コンシューマ・ディレクトリサーバプログラム8c
へ、作成したアンバインド要求を発行する(ステップ1
514)。
【0157】そして、コンシューマ・ディレクトリサー
バプログラム8cとの間のコネクションを解放すると、
ステップ1504に戻って、再度、バインド要求を発行
して、次のセッションを開始する。
【0158】一方、レプリケーションサーバプログラム
10は、リターンコードが「LDAP_SUCCESS」でない場合
は、異常終了する(ステップ1516)。また、読み出
すべきレプリケーションレコード70が存在しない場合
は(ステップ1506)、アンバインド要求を発行して
セッションを終了してから(ステップ1507)、ステ
ップ1502に戻って、再度、変更ログファイル20が
更新されるのを待つ。
【0159】図16に、図15のステップ1505で変
更ログ取得プログラム11が行う処理の流れを示す。
【0160】図16に示すように、変更ログ取得プログ
ラム11は、まず、図6に示すレプリケーション定義フ
ァイル19からディレクトリサーバオブジェクトDN6
7を取得する(ステップ1601)。
【0161】続いて、ディレクトリサーバオブジェクト
DN67によって指定されるエントリの属性値、すなわ
ち、レプリケーションレコード識別子10cを示すlast
ReplRecord属性値の検索を要求するためのlastReplReco
rd検索要求を作成し(ステップ1602)、作成したla
stReplRecord検索要求を発行し(ステップ1603)、
それに対する応答を受信する(ステップ1604)。
【0162】続いて、受信した応答に含まれているリタ
ーンコードが「LDAP_SUCCESS」であるか否かを判断する
(ステップ1605)。リターンコードが「LDAP_SUCCE
SS」である場合は、ステップ1606に進み、リターン
コードが「LDAP_SUCCESS」でない場合は、ステップ16
08に進んで、異常終了する。
【0163】ステップ1606では、受信した応答か
ら、図11に示すlastReplRecord属性値110を取り出
し、タイムスタンプ111およびレコード番号112を
取得する。そして、lastReplRecord属性値110に含ま
れているタイムスタンプ111以降のタイムスタンプ7
1、および、lastReplRecord属性値110に含まれてい
るレコード番号112より大きいレコード番号72を有
するレプリケーションレコード70を、変更ログファイ
ル20から読み出し(ステップ1607)、変更ログ取
得プログラム11を終了する。
【0164】図17に、図15のステップ1511でエ
ラー判定プログラム13が行う処理の流れを示す。
【0165】図17に示すように、エラー判定プログラ
ム13は、まず、コンシューマ・ディレクトリサーバプ
ログラム8cから受信した応答に含まれているリターン
コードが、上述したGroup1に属しているか否かを判断
し(ステップ1700)、Group1に属していない場合
は、エラー判定プログラム13を終了する。
【0166】また、リターンコードがGroup1に属して
いる場合は(ステップ1700)、レプリケーションレ
コード70が正しく、かつ、レプリケーションサーバプ
ログラム10およびコンシューマ・サーバプログラム8
cが共に正常に動作しているにも関わらず、前回のセッ
ションでlastReplRecord属性値を変更できなかったため
に、レプリケーションサーバプログラム10が同一のレ
プリケーション要求を重複して発行し、エラーとなった
可能性があると判断し、図12に示すレプリケーション
状態ファイル21から、タイムスタンプ122およびレ
コード番号123を読み出す(ステップ1701)。
【0167】その後、レプリケーションレコード70の
タイムスタンプ71およびレコード番号72を、読み出
したタイムスタンプ122およびレコード番号123と
各々比較する(ステップ1702)。
【0168】そして、ステップ1702の比較の結果、
レプリケーションレコード70のタイムスタンプ71が
タイムスタンプ122と等しく、かつ、レプリケーショ
ンレコード70のレコード番号72がレコード番号12
3と等しい場合は、今回のセッションで発行したレプリ
ケーション要求と同一のレプリケーション要求を、前回
のセッションで発行しており、前回のセッションで発行
したレプリケーション要求に従った変更操作が成功して
いるとみなし、リターンコードを、「LDAP_SUCCESS」に
書き直してから(ステップ1703)、エラー判定プロ
グラム13を終了する。
【0169】また、ステップ1702の比較の結果、上
述した場合以外の場合は、エラー判定プログラム13を
終了する。
【0170】図18に、図15のステップ1512でレ
プリケーション状態記録プログラム15が行う処理の流
れを示す。
【0171】図18に示すように、レプリケーション状
態記録プログラム15は、まず、コンシューマ・ディレ
クトリサーバプログラム8cから受信した応答に含まれ
ているリターンコードが、上述したGroup2に属してい
るか否かを判断し(ステップ1801)、Group2に属
していない場合は、レプリケーション状態記録プログラ
ム15を終了する。
【0172】また、リターンコードがGroup2に属して
いる場合は(ステップ1801)、レプリケーション要
求に従ったコンシューマ・ディレクトリサーバプログラ
ム8cの変更操作が成功したと判断し、レプリケーショ
ンレコード70のタイムスタンプ71およびレコード番
号72を、図12に示すレプリケーション状態ファイル
21のタイムスタンプ122およびレコード番号123
に、各々格納する(ステップ1802)。
【0173】続いて、図6に示すレプリケーション定義
ファイル19から、ディレクトリサーバオブジェクトD
N67を読み出し、読み出したディレクトリサーバオブ
ジェクトDN67によって指定されるエントリの属性
値、すなわち、レプリケーションレコード識別子10c
を示すlastReplRecord属性値の変更を要求するためのla
stReplRecord更新要求を作成し(ステップ1803)、
作成したlastReplRecord更新要求を発行
し(ステップ1804)、それに対する応答を受信する
(ステップ1805)。
【0174】最後に、受信した応答に含まれているリタ
ーンコードが「LDAP_SUCCESS」であるか否
かを判断し(ステップ1806)、リターンコードが
「LDAP_SUCCESS」でない場合は、異常終了し(ステップ
1807)、リターンコードが「LDAP_SUCCESS」である
場合は、レプリケーション状態記録プログラム15を終
了する。
【0175】以上説明したように、第1の実施形態によ
れば、レプリカデータ9cが、前回のセッションで行わ
れたレプリケーションによって最後に変更されたエント
リを特定するためのレプリケーションレコードを示すla
stReplRecord属性値を、ディレクトリレコード識別子1
0cとして有するようにしているので、レプリケーショ
ンサーバプログラム10は、レプリケーションの実行に
先立って、このlastReplRecord属性値を取得すること
で、次にどのレプリケーションレコードに基づいてレプ
リケーションを行うべきであるかを判断することができ
る。従って、レプリカデータ9cのバックアップを取っ
ておけば、磁気ディスク4cの物理的損傷等によりレプ
リカデータ9cが失われた場合でも、第2のディレクト
リサーバ1cは、マスタデータ9s中の全てのエントリ
を第1のディレクトリサーバ1sから取得しなくても、
バックアップを使用してレプリカデータ9cを再構築す
ることが可能となる。
【0176】なお、第1の実施形態において、第2のデ
ィレクトリサーバ1cとっては、lastReplRecord属性更
新要求に従った変更操作を、レプリケーション要求に従
った変更操作と同様に行えばよく、また、lastReplReco
rd属性検索要求に従った検索操作も、参照系ディレクト
リアクセス要求に従った検索操作と同様に行えばよいの
で、第2のディレクトリサーバ1cが管理するレプリカ
データ9c中に、図10に示すオブジェクトクラスに属
し、lastReplRecord属性を有するようなエントリを、レ
プリケーションレコード識別子10cを格納するための
エントリとして予め定義しておけば、第2のディレクト
リサーバ1cの動作は、従来と同様の動作でよい。
【0177】次に、本発明の第2の実施形態について説
明する。
【0178】ところで、従来技術では、レプリケーショ
ンを行う第1のディレクトリサーバ1sは、レプリケー
ション要求を発行してから、それに対する応答を受け取
る前に、電源断等の障害によりレプリケーションが異常
終了してしまった場合に、第2のディレクトリサーバ1
cでレプリケーション要求が反映されたか否かを知るこ
とができないので、障害の復旧後、レプーリケーション
を正常に再開することができない危険性があるという問
題点があり、第1の実施形態においては、この問題点を
解決するための方法については説明していなかった。
【0179】すなわち、第1の実施形態においては、レ
プリケーションサーバプログラム10は、レプリケーシ
ョン要求を発行してから、コンシューマ・ディレクトリ
サーバプログラム8cからの応答を受信するまでの間
に、電源断等の障害によりレプリケーションが異常終了
してしまった場合に、レプリケーション要求に従ったコ
ンシューマ・ディレクトリサーバプログラム8cの変更
操作が成功したか否かを判断することはできない。従っ
て、そのような場合には、管理者が、再度、異常終了前
に発行されたレプリケーション要求と同一のレプリケー
ション要求を発行させるか、または、lastReplRecord検
索要求を発行させるようにすることで、レプリケーショ
ン要求に従ったコンシューマ・ディレクトリサーバプロ
グラム8cの変更操作が成功したか否かを確認した上
で、次に行うべきレプリケーションの元となるレプリケ
ーションレコードを決めてやる必要がある。
【0180】そこで、第2の実施形態においては、任意
の時点で予期できない障害によりレプリケーションが異
常終了してしまった場合でも、障害の復旧後、レプーリ
ケーションを正常に再開することを可能とし、運用性を
向上させるようにする。
【0181】そのために、第2の実施形態においては、
コンシューマ・ディレクトリサーバプログラム8cがト
ランザクション機能を有するようにしており、レプリケ
ーション要求に従った変更操作、および、lastReplReco
rd更新要求に従った変更操作を、同一のトランザクショ
ンで処理するようにすることで、レプリカデータ9cお
よびlastReplRecord属性値の一貫性を保証するようにし
ている。
【0182】以下、第2の実施形態について、第1の実
施形態との間の相違点に限り説明する。
【0183】第2の実施形態に係るディレクトリシステ
ムのシステム構成は、図2に示すシステム構成から、エ
ラー判定プログラム13を除いたシステム構成となる。
また、第2の実施形態に係るレプリケーションサービス
の機能構成は、図1に示す機能構成から、エラー判定部
13′を除いた機能構成となる。
【0184】また、第2の実施形態におけるコンシュー
マ・ディレクトリサーバプログラム8cは、バインド要
求からアンバインド要求まての間に受信した一連の要求
を、同一のトランザクションで処理する、トランザクシ
ョン機能を有するようになっている。
【0185】具体的には、図4において、lastReplReco
rd属性値の変更(411)に失敗した場合には、直前に
行ったエントリAの追加(407)を取り消すようにす
る。また、エントリAの追加(407)を行った後、ア
ンバインド要求の到着以前に、コネクションが切断され
た場合も、直前に行ったエントリAの追加(407)を
取り消すようにする。
【0186】従って、レプリケーション要求およびlast
ReplRecord更新要求は、常に、両方とも反映されるか、
両方とも反映されないかのいずれかとなる。これによ
り、レプリカデータ9cがレプリケーションレコード識
別子10cとして有するlastReplRecord属性値は、常
に、レプリケーションによって最後に変更されたエント
リを特定するためのレプリケーションレコードを示す正
しい値となるので、第1の実施形態におけるエラー判定
プログラム13は不要となる。
【0187】以下、第2の実施形態におけるレプリケー
ションサーバプログラム10の詳細な処理の流れについ
て、図19および図28を用いて説明する。
【0188】図19は、第2の実施形態におけるレプリ
ケーションサーバプログラム10の処理の流れを示すフ
ローチャートである。
【0189】図19に示すように、レプリケーションサ
ーバプログラム10は、まず、変更ログファイル20が
更新される場合に備えて、予め定めた待ち時間だけ待つ
(ステップ1902)。例えば、待ち時間は、5秒とす
ることができる。
【0190】そして、待ち時間内に、変更ログファイル
20の更新を検出できなかった場合は(ステップ190
3)、ステップ1902に戻って、再び待つ。
【0191】また、レプリケーションサーバプログラム
10は、待ち時間内に、変更ログファイル20の更新を
検出した場合は(ステップ1903)、図6に示すレプ
リケーション定義ファイル19から、ホスト名61,ポ
ート番号62,バインド方法63,バインドDN64,
パスワード65を読み出し、読み出した内容を用いてバ
インド要求を作成し、コンシューマ・ディレクトリサー
バプログラム8cへ、作成したバインド要求を発行し、
それに対する応答を受信する(ステップ1904)。
【0192】そして、コンシューマ・ディレクトリサー
バプログラム8cとの間のコネクションが確立すると、
コンシューマ・ディレクトリサーバプログラム8cから
認証を受け、セッションを開始する。
【0193】その後、レプリケーションサーバプログラ
ム10は、図6に示すレプリケーション定義ファイル1
9から変更ログ位置68を読み出し、読み出した変更ロ
グ位置68にある変更ログファイル20から、図7に示
すレプリケーションレコード70を取得する(ステップ
1905)。なお、ステップ1905は、変更ログ取得
プログラム11によって行われる処理であり、その詳細
な処理内容は、図16を用いて説明した通りである。ス
テップ1905では、1度に1つのレプリケーションレ
コード70が、変更ログファイル20から読み出される
ものとする。
【0194】そして、読み出すべきレプリケーションレ
コード70が存在し、該レプリケーションレコード70
の取得に成功した場合は(ステップ1906)、取得し
たレプリケーションレコード70に基づいてレプリケー
ション要求を作成し(ステップ1908)、コンシュー
マ・ディレクトリサーバプログラム8cへ発行する(ス
テップ1909)。
【0195】続いて、レプリケーションサーバプログラ
ム10は、コンシューマ・ディレクトリサーバプログラ
ム8cからの応答を受信し、受信した応答に含まれてい
るリターンコードを取得する(ステップ1910)。
【0196】その後、レプリケーションサーバプログラ
ム10は、lastReplRecord属性値を変更する(ステップ
1912)。なお、ステップ1912は、レプリケーシ
ョン状態記録プログラム15によって行われる処理であ
り、その詳細の処理内容については、図28を用いて後
述する。
【0197】続いて、レプリケーションサーバプログラ
ム10は、レプリケーション要求に対する応答に含まれ
ているリターンコードが「LDAP_SUCCESS」であるか否か
を判断し(ステップ1913)、リターンコードが「LD
AP_SUCCESS」である場合は、アンバインド要求を作成
し、コンシューマ・ディレクトリサーバプログラム8c
に対して、作成したアンバインド要求を発行する(ステ
ップ1914)。
【0198】そして、コンシューマ・ディレクトリサー
バプログラム8cとの間のコネクションを解放すると、
ステップ1904に戻って、再度、バインド要求を発行
して、次のセッションを開始する。
【0199】一方、レプリケーションサーバプログラム
10は、リターンコードが「LDAP_SUCCESS」でない場合
は、異常終了する(ステップ1916)。また、読み出
すべきレプリケーションレコード70が存在しない場合
は(ステップ1906)、アンバインド要求を発行して
セッションを終了してから(ステップ1907)、ステ
ップ1902に戻って、再度、変更ログファイル20が
更新されるのを待つ。
【0200】図28に、図19のステップ1912でレ
プリケーション状態記録プログラム15が行う処理の流
れを示す。
【0201】図28に示すように、レプリケーション状
態記録プログラム15は、まず、コンシューマ・ディレ
クトリサーバプログラム8cから受信した応答に含まれ
ているリターンコードが、上述したGroup2に属してい
るか否かを判断し(ステップ2801)、Group2に属
していない場合は、レプリケーション状態記録プログラ
ム15を終了する。
【0202】また、リターンコードがGroup2に属して
いる場合は(ステップ2801)、レプリケーション要
求に従ったコンシューマ・ディレクトリサーバプログラ
ム8cの変更操作が成功したと判断し、図6に示すレプ
リケーション定義ファイル19から、ディレクトリサー
バオブジェクトDN67を読み出し、読み出したディレ
クトリサーバオブジェクトDN67によって指定される
エントリの属性値、すなわち、レプリケーションレコー
ド識別子10cを示すlastReplRecord属性値の変更を要
求するためのlastReplRecord更新要求を作成し(ステッ
プ2803)、作成したlastReplRecord更新要求を発行
し(ステップ2804)、それに対する応答を受信する
(ステップ2805)。
【0203】最後に、受信した応答に含まれているリタ
ーンコードが「LDAP_SUCCESS」であるか否かを判断し
(ステップ2806)、リターンコードが「LDAP_SUCCE
SS」でない場合は、異常終了し(ステップ2807)、
リターンコードが「LDAP_SUCCESS」である場合は、レプ
リケーション状態記録プログラム15を終了する。
【0204】以上説明したように、第2の実施形態によ
れば、第1の実施形態の特徴に加えて、トランザクショ
ン機能を有するコンシューマ・ディレクトリサーバプロ
グラム8cにより、レプリケーション要求に従った変更
操作、および、lastReplRecord更新要求に従った変更操
作を、同一のトランザクションで処理するようにしてい
るので、レプリカデータ9cおよびlastReplRecord属性
値の一貫性を保証することができる。
【0205】従って、任意の時点で予期できない障害に
よりレプリケーションが異常終了してしまった場合で
も、障害の復旧後、レプーリケーションを正常に再開す
ることができるので、運用性を向上させることができ、
また、管理者は、レプリケーションがどこまで進行した
かを気にする必要はない。
【0206】なお、第2の実施形態では、レプリケーシ
ョンサーバプログラム10は、セッションごとに、レプ
リケーション要求の発行およびlastReplRecord更新要求
の発行を1度づつ実行し、該セッションを終了するよう
にしているが、1つのセッション中で、レプリケーショ
ン要求を複数回発行し、アンバインド要求の発行の直前
に、最後に発行したレプリケーション要求に対応するla
stReplRecord更新要求を発行するようにしても、コンシ
ューマ・ディレクトリサーバプログラム8cが有するト
ランザクション機能により、レプリカデータ9cおよび
lastReplRecord属性値の一貫性が保証されるので、本発
明における効果は同じである。
【0207】次に、本発明の第3の実施形態について説
明する。
【0208】第1の実施形態および第2の実施形態にお
いては、レプリケーションサーバプログラム10が、レ
プリケーション要求以外に、lastReplRecord属性の変更
を要求するためのlastReplRecord更新要求を発行する必
要があるので、通常のレプリケーションサービスに比べ
て、ネットワークトラフィックが増加する。
【0209】そこで、第3の実施形態においては、last
ReplRecord更新要求を発行する代わりに、LDAPの拡
張機能を利用して、新たなlastReplRecord属性値をコン
シューマ・ディレクトリサーバプログラム8cに伝える
ようにすることで、ネットワークトラフィックの増加を
押さえるようにする。
【0210】以下、第3の実施形態について、第1の実
施形態との間の相違点に限り説明する。
【0211】第3の実施形態においては、lastReplReco
rd属性値を変更する動作を、コンシューマ・ディレクト
リサーバプログラム8cの拡張機能によって実現するよ
うにしている。すなわち、第3の実施形態においては、
コンシューマ・ディレクトリサーバプログラム8cは、
受信したレプリケーション要求中のControlフィールド
に、拡張機能の適用が指示されている場合には、該レプ
リケーション要求に従った変更操作に加えて、lastRepl
Record属性値の変更操作を実行するようにし、この2つ
の変更操作を、同一のトランザクションで処理する機能
を有するようになっている。
【0212】図27に、第3の実施形態に係るディレク
トリシステムのシステム構成を示す。
【0213】図27に示すように、第3の実施形態に係
るディレクトリシステムのシステム構成が、図2に示す
システム構成と異なる点は、エラー判定プログラム1
3,レプリケーション状態記録プログラム15,レプリ
ケーション状態ファイル21が存在していない点、およ
び、lastReplRecord属性値を変更する拡張機能を実行す
る拡張プログラム80cが存在している点である。
【0214】第3の実施形態における拡張プログラム8
0cは、コンシューマ・ディレクトリサーバプログラム
8cを構成するプログラムであり、受信したレプリケー
ション要求に含まれているControlフィールドの値によ
って起動される。
【0215】図26に、第3の実施形態に係るレプリケ
ーションサービスの機能構成を示す。
【0216】図26に示すように、第3の実施形態に係
るレプリケーションサービスの機能構成が、図1に示す
機能構成と異なる点は、エラー判定部13′およびレプ
リケーション状態記録部15′が存在していない点、お
よび、図27に示した拡張プログラム80cによって実
現される機能ブロックである拡張部80c′が存在して
いる点である。
【0217】図20は、RFC1777として規定され
たLDAPアクセス要求を、ISO8824として規定
されたASN.1を用いて表記したものである。
【0218】messageId(2001)は、1つのLDA
Pセッション中で、LDAPアクセス要求を一意に識別
するために付けられる値である。ProtocalOp(200
2)は、LDAPアクセス要求の実際の内容を示す。Co
ntrols(2003)は、対応するLDAPアクセス要求
にのみ適用される拡張機能を示す。
【0219】アプリケーション開発者は、独自の拡張機
能を、ディレクトリサーバプログラム内に予め用意して
おき、LDAPアクセス要求中のControls(2003)
によって、拡張機能の適用をディレクトリサーバプログ
ラムに指示することが可能である。
【0220】図21に、Controls(2003)のAS
N.1による表記を示す。
【0221】Controls(2003)は、複数のcontrol
フィールドからなり、各controlフィールドにおいて、c
ontrolType(2101)には、拡張機能を一意に識別す
るために、CCITTのX.208勧告に記述された、
全世界で一意な識別子(LDAPOID)が設定され、critica
lity(2102)には、「TRUE」または「FALSE」が設
定され、controlValue(2103)には、拡張機能で独
自に使用される値が、オクテット文字列として設定され
る。
【0222】コンシューマ・ディレクトリサーバプログ
ラム8cは、criticality(2102)に「TRUE」が設
定されている場合は、controlType(2103)に対応
する拡張機能を認識/実行できないならば、リターンコ
ードとして、拡張機能が未サポートであることを示す
「unsupportedCriticalExtension」を返す。また、crit
icality(2102)に「FALSE」が設定されている場合
は、Controls(2003)を無視する。
【0223】図22に、第3の実施形態におけるレプリ
ケーション要求が含むControlフィールドのASN.1に
よる表記を示す。
【0224】第3の実施形態において、Controlフィー
ルドで適用が指示される拡張機能は、lastReplRecord属
性値を変更する機能である。
【0225】ControlType(2201)には、この拡張
機能を示すオブジェクト識別子(「<repOid>」)が設定
される。criticality(2202)には、「TRUE」が設
定され、controlValue(2203)には、新たなlastRe
plRecord属性値(「<lastReplRecord>」)が設定され
る。
【0226】図23に、第3の実施形態に係るレプリケ
ーションサービスのシーケンスを示す。
【0227】図23に示すように、レプリケーションサ
ーバプログラム10は、まず、コンシューマ・ディレク
トリサーバプログラム8cへ、バインド(bind)要求
(2301)を発行し、それに対する応答(2302)
を受け取ることで、コンシューマ・ディレクトリサーバ
プログラム8cとの間のコネクションを確立する。
【0228】続いて、レプリケーションサーバプログラ
ム10は、コンシューマ・ディレクトリサーバプログラ
ム8cへ、lastReplRecord属性の属性値の検索を要求す
るためのlastReplRecord検索要求(2303)を発行
し、lastReplRecord属性値を含む応答(2304)を受
信する。この応答(2304)に含まれているlastRepl
Record属性値から、レプリケーションサーバプログラム
10は、コンシューマ・ディレクトリサーバプログラム
8cが管理するレプリカデータ9c中のレプリケーショ
ンレコード識別子10cを知ることができるので、前回
のセッションで行ったレプリケーションによって最後に
変更されたエントリを特定するためのレプリケーション
レコードのタイムスタンプおよびレコード番号を知るこ
とができる。
【0229】続いて、レプリケーションサーバプログラ
ム10は、レプリケーションが未実行のエントリについ
て、時系列的にレプリケーションを行うために、lastRe
plRecord属性値に含まれているタイムスタンプおよびレ
コード番号を取得し、取得したこれらの値に基づいて、
レプリケーションレコードの読み出し(2305)を行
う。
【0230】具体的には、レプリケーションサーバプロ
グラム10は、取得したタイムスタンプ「800000
00」以降のタイムスタンプ、および、取得したレコー
ド番号「456」より大きいレコード番号を有するレプ
リケーションレコードのうちから、最も小さいタイムス
タンプおよびレコード番号を有するレプリケーションレ
コード2314を、変更ログファイル20から読み出
す。
【0231】そして、読み出したレプリケーションレコ
ード2314に基づいてレプリケーション要求を作成す
る。
【0232】なお、第3の実施形態においては、プロト
コルとして、LDAPを採用することとしているので、
作成されるレプリケーション要求は、LDAPアクセス
要求となる。また、ここでは、レプリケーションレコー
ド2314から分かる変更操作が、エントリAの追加操
作であるものとし、従って、作成されるLDAPアクセ
ス要求は、エントリA追加要求(2306)となる。
【0233】続いて、レプリケーションサーバプログラ
ム10は、コンシューマ・ディレクトリサーバプログラ
ム8cへ、作成したエントリA追加要求(2306)を
発行する。
【0234】なお、第3の実施形態においては、レプリ
ケーションサーバプログラム10は、レプリカデータ9
c中のディレクトリレコード識別子10cを変更するた
めに、サプライヤ・ディレクトリサーバプログラム8s
が動作する第1のディレクトリサービス1sのホスト
名、並びに、レプリケーションレコード(2311)が
有するタイムスタンプおよびレコード番号を、図11に
示すlastReplRecord属性値110のホスト名111,タ
イムスタンプ113,レコード番号112に各々設定し
て、新たなlastReplRecord属性値を作成し、作成したla
stReplRecord属性値を、エントリA追加要求(230
6)中のControlフィールドのcontrolValueに設定する
ようにする。
【0235】このようなエントリA追加要求(230
6)を受信したコンシューマ・ディレクトリサーバプロ
グラム8cは、エントリAの追加(2307)と、last
ReplRecord属性値の変更(2308)とを、同一のトラ
ンザクションで処理し、実行結果を示す応答(230
9)を送信する。
【0236】レプリケーションサーバプログラム10
は、コンシューマ・ディレクトリサーバプログラム8c
から応答(2309)を受信すると、アンバインド(un
bind)要求(2310)を発行し、コンシューマ・ディ
レクトリサーバプログラム8cとの間のコネクションを
切断する。
【0237】以上のシーケンスにより、サプライヤ・デ
ィレクトリサーバプログラム8sで実行されたエントリ
Aの追加操作は、コンシューマ・ディレクトリサーバプ
ログラム8cへと伝播され、さらに、レプリカデータ9
cは、レプリケーションによって最後に変更されたエン
トリAを特定するためのレプリケーションレコードを示
す新たなlastReplRecord属性値を、レプリケーションレ
コード識別子10cとして有することになる。
【0238】また、エントリAの追加操作とlastReplRe
cord属性値の変更操作とが、同一のトランザクションで
処理されることで、レプリカデータ9cおよびlastRepl
Record属性値の一貫性も保証される。
【0239】以下、第3の実施形態におけるレプリケー
ションサーバプログラム10の詳細な処理の流れについ
て、図25を用いて説明する。
【0240】図25は、第3の実施形態におけるレプリ
ケーションサーバプログラム10の処理の流れを示すフ
ローチャートである。
【0241】図25に示すように、レプリケーションサ
ーバプログラム10は、まず、変更ログファイル20が
更新される場合に備えて、予め定めた待ち時間だけ待つ
(ステップ2502)。例えば、待ち時間は、5秒とす
ることができる。
【0242】そして、待ち時間内に、変更ログファイル
20の更新を検出できなかった場合は(ステップ250
3)、ステップ2502に戻って、再び待つ。
【0243】また、レプリケーションサーバプログラム
10は、待ち時間内に、変更ログファイル20の更新を
検出した場合は(ステップ2503)、図6に示すレプ
リケーション定義ファイル19から、ホスト名61,ポ
ート番号62,バインド方法63,バインドDN64,
パスワード65を読み出し、読み出した内容を用いてバ
インド要求を作成し、コンシューマ・ディレクトリサー
バプログラム8cへ、作成したバインド要求を発行し、
それに対する応答を受信する(ステップ2504)。
【0244】そして、コンシューマ・ディレクトリサー
バプログラム8cとの間のコネクションが確立すると、
コンシューマ・ディレクトリサーバプログラム8cから
認証を受け、セッションを開始する。
【0245】その後、レプリケーションサーバプログラ
ム10は、図6に示すレプリケーション定義ファイル1
9から変更ログ位置68を読み出し、読み出した変更ロ
グ位置68にある変更ログファイル20から、図7に示
すレプリケーションレコード70を取得する(ステップ
2505)。なお、ステップ2505は、変更ログ取得
プログラム11によって行われる処理であり、その詳細
な処理内容は、図16を用いて説明した通りである。ス
テップ2505では、1度に1つのレプリケーションレ
コード70が、変更ログファイル20から読み出される
ものとする。
【0246】そして、読み出すべきレプリケーションレ
コード70が存在し、該レプリケーションレコード70
の取得に成功した場合は(ステップ2506)、取得し
たレプリケーションレコード70に基づいてレプリケー
ション要求を作成し(ステップ2508)、コンシュー
マ・ディレクトリサーバプログラム8cへ発行する(ス
テップ2509)。なお、第3の実施形態においては、
レプリケーションサーバプログラム10は、ステップ2
508では、レプリケーション要求中のControlフィー
ルドに、図22に示す値を設定する。
【0247】続いて、レプリケーションサーバプログラ
ム10は、コンシューマ・ディレクトリサーバプログラ
ム8cからの応答を受信し、受信した応答に含まれてい
るリターンコードを取得する(ステップ2510)。
【0248】続いて、レプリケーションサーバプログラ
ム10は、取得したリターンコードが「LDAP_SUCCESS」
であるか否かを判断し(ステップ2511)、リターン
コードが「LDAP_SUCCESS」である場合は、アンバインド
要求を作成し、コンシューマ・ディレクトリサーバプロ
グラム8cに対して、作成したアンバインド要求を発行
する(ステップ2512)。
【0249】そして、コンシューマ・ディレクトリサー
バプログラム8cとの間のコネクションを解放すると、
ステップ2504に戻って、再度、バインド要求を発行
して、次のセッションを開始する。
【0250】一方、レプリケーションサーバプログラム
10は、リターンコードが「LDAP_SUCCESS」でない場合
は、異常終了する(ステップ2513)。また、読み出
すべきレプリケーションレコード70が存在しない場合
は(ステップ2506)、アンバインド要求を発行して
セッションを終了してから(ステップ2507)、ステ
ップ2502に戻って、再度、変更ログファイル20が
更新されるのを待つ。
【0251】図24に、第3の実施形態における拡張機
能を説明するために、コンシューマ・ディレクトリサー
バプログラム8cにおける、レプリケーション要求受信
から応答返信までの部分的なフローチャートを示す。
【0252】図24に示すように、コンシューマ・ディ
レクトリサーバプログラム8cは、レプリケーション要
求を受信すると、このレプリケーション要求を解析する
(ステップ2401)。
【0253】続いて、コンシューマ・ディレクトリサー
バプログラム8cは、要求内容に基づいた更新要求を、
レプリカデータ9cを管理しているデータベースに発行
することで、レプリカデータ9cを変更する(ステップ
2402)。そして、変更操作に成功したか否かを判断
し(ステップ2403)、失敗した場合には、エラー応
答を返す(ステップ2409)。
【0254】また、変更操作に成功した場合には(ステ
ップ2403)、受信したレプリケーション要求につい
て、controlTypeの値が、拡張機能を示す識別子であるC
ontrolフィールドを有しているか否かを確認する(ステ
ップ2404)。
【0255】controlTypeの値が、拡張機能を示す識別
子であるControlフィールドを有していない場合は、ス
テップ2407に進む。また、controlTypeの値が、拡
張機能を示す識別子であるControlフィールドを有して
いる場合は、レプリケーションレコード識別子10cを
示すlastReplRecord属性値を、controlValueの値に変更
する(ステップ2405)。
【0256】さらに、変更操作に成功した場合には(ス
テップ2406)、データベースに対して、その時点ま
でに行われた全ての変更操作を有効化してトランザクシ
ョンを終了するためのコミット(Commit)要求を発行す
る(ステップ2407)。そして、最後に、成功したこ
とを示す応答を送信し(ステップ2408)、受信した
レプリケーション要求についての処理を終了する。
【0257】なお、変更操作に失敗した場合には(ステ
ップ2406)、その時点までに行われた全ての変更操
作を無効化してトランザクションを終了するためのロー
ルバック(Rollback)要求を発行して(ステップ241
0)、受信したレプリケーション要求を取り消してか
ら、エラー応答を送信する(ステップ2411)。
【0258】以上説明したように、第3の実施形態によ
れば、第1の実施形態および第2の実施形態の特徴に加
えて、レプリケーションサーバプログラム10が、LD
APの拡張機能であるControlsを用いて、個々のレプリ
ケーション要求に、lastReplRecord属性値の変更指示を
付加するようにしているので、レプリケーション要求以
外に、lastReplRecord属性の変更を要求するためのlast
ReplRecord更新要求を発行する必要がなくなり、ネット
ワークトラフィックの増加を押さえることができる。
【0259】
【発明の効果】以上説明したように、本発明によれば、
コンシューマ側のディレクトリサーバが管理するレプリ
カデータ中に、レプリケーションによって最後に変更さ
れたエントリを特定するための情報を記録するようにし
ているので、レプリケーションを行うサーバは、この情
報に基づいて、次にレプリケーションを行うべきエント
リを知ることができ、従って、サプライヤ側のディレク
トリサーバが管理するマスタデータと、コンシューマ側
のディレクトリサーバが管理するレプリカデータとの差
分を認識することができる。
【0260】そこで、レプリカデータのバックアップを
取っておけば、記録媒体の物理的破損等によりレプリカ
データが失われてしまった場合に、コンシューマ側のデ
ィレクトリサーバが、マスタデータ中の全てのエントリ
をサプライヤ側のディレクトリサーバから取得しなくて
も、バックアップを使用してレプリカデータを再構築す
ることができるようになるので、運用性を向上させるこ
とができるという効果がある。
【0261】また、本発明によれば、コンシューマ側の
ディレクトリサーバにおいて、レプリカデータを管理す
るプログラムがトランザクション機能を有するように
し、このトランザクション機能を用いて、エントリの変
更操作および該エントリを示す情報の変更操作を、同一
のトランザクションで処理するようにしているので、レ
プリカデータ、および、レプリカデータ中の最後に変更
されたエントリを特定するための情報の一貫性を保証す
ることができる。
【0262】従って、任意の時点で予期できない障害に
よりレプリケーションが異常終了してしまった場合で
も、障害の復旧後、レプーリケーションを正常に再開す
ることができるようになるので、運用性を向上させるこ
とができるという効果がある。また、管理者は、レプリ
ケーションがどこまで進行したかを気にする必要がない
ので、管理者の負担を軽減させることができるという効
果がある。
【図面の簡単な説明】
【図1】第1の実施形態に係るレプリケーションサービ
スの機能構成を示す説明図。
【図2】第1の実施形態に係るディレクトリシステムの
システム構成を示す説明図。
【図3】従来のレプリケーションサービスのシーケンス
を示す説明図。
【図4】第1の実施形態および第2の実施形態に係るレ
プリケーションサービスのシーケンスを示す説明図。
【図5】第1の実施形態におけるエラー回復処理を示す
説明図。
【図6】レプリケーション定義ファイルに格納される情
報を示す説明図。
【図7】変更ログファイルに格納される情報を示す説明
図。
【図8】図7に示すレプリケーションレコード中の変更
操作種別が「modify」である場合に、レプリケーション
レコード中の変更内容に設定される情報を示す説明図で
ある。
【図9】図7に示すレプリケーションレコード中の変更
操作種別が「add」である場合に、レプリケーションレ
コード中の変更内容に設定される情報を示す説明図。
【図10】第1の実施形態〜第3の実施形態におけるオ
ブジェクトクラスのサブクラスを示す説明図。
【図11】第1の実施形態〜第3の実施形態におけるレ
プリケーションレコード識別子であるlastReplRecord属
性値の書式を示す説明図。
【図12】レプリケーション状態ファイル21に格納さ
れる情報を示す説明図。
【図13】Group1に属するLDAPリターンコードを
示す説明図。
【図14】Group2に属するLDAPリターンコードを
示す説明図。
【図15】第1の実施形態におけるレプリケーションサ
ーバプログラムの処理の流れを示すフローチャート。
【図16】第1の実施形態〜第3の実施形態における変
更ログ取得プログラムの処理の流れを示すフローチャー
ト。
【図17】第1の実施形態におけるエラー判定プログラ
ムの処理の流れを示すフローチャート。
【図18】第1の実施形態におけるレプリケーション状
態記録プログラムの処理の流れを示すフローチャート。
【図19】第2の実施形態におけるレプリケーションサ
ーバプログラムの処理の流れを示すフローチャート。
【図20】LDAPで規定されるLDAPアクセス要求
の表記を示す説明図。
【図21】LDAPで規定されるControlsの表記を示す
説明図。
【図22】第3の実施形態におけるレプリケーション要
求が含むControlフィールドに設定される情報を示す説
明図。
【図23】第3の実施形態に係るレプリケーションサー
ビスのシーケンスを示す説明図。
【図24】第3の実施形態におけるコンシューマ・ディ
レクトリサーバプログラムが行う、レプリケーション要
求受信から応答返信までの部分的な処理の流れを示すフ
ローチャート。
【図25】第3の実施形態におけるレプリケーションサ
ーバプログラムの処理の流れを示すフローチャート。
【図26】第3の実施形態に係るレプリケーションサー
ビスの機能構成を示す説明図。
【図27】第3の実施形態に係るディレクトリシステム
のシステム構成を示す説明図。
【図28】第2の実施形態におけるレプリケーション状
態記録プログラムの処理の流れを示すフローチャート。
【符号の説明】
1s…第1のディレクトリサーバ、1c…第2のディレ
クトリサーバ、2s,2c…中央処理装置(CPU)、
3s,3c…メモリ、4s,4c…磁気ディスク、5
s,5c…ディスクコントローラ、6s,6c…LAN
コントローラ、7s,7c…オペレーティングシステム
(OS)、8s…サプライヤ・ディレクトリサーバプロ
グラム、8c…コンシューマ・ディレクトリサーバプロ
グラム、9s…マスタデータ、9c…レプリカデータ、
10…レプリケーションサーバプログラム、11…変更
ログ取得プログラム、12…リクエスト生成プログラ
ム、13…エラー判定プログラム、14…通信制御プロ
グラム、15…レプリケーション状態記録プログラム、
19…レプリケーション定義ファイル、20…変更ログ
ファイル、21…レプリケーション状態ファイル、10
c…レプリケーションレコード識別子、8s′…サプラ
イヤ・ディレクトリサービス、8c′…コンシューマ・
ディレクトリサービス、10′…レプリケーションサー
ビス、11′…変更ログ取得部、12′…リクエスト生
成部、13′…エラー判定部、14′…通信制御部、1
5′…レプリケーション状態記録部、20′…変更ロ
グ、80…拡張プログラム、80′…拡張部、100…
ローカルエリアネットワーク(LAN)。

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】ディレクトリデータのマスタデータを管理
    し、上記マスタデータを変更した際の操作の履歴情報を
    記憶保持する第1のディレクトリサーバと、上記マスタ
    データの複製であるレプリカデータを管理する1つ以上
    の第2のディレクトリサーバとが、少なくともネットワ
    ークで接続されたディレクトリシステムにおいて、 上記マスタデータと上記レプリカデータとを同一の内容
    に保つレプリケーション方法であって、 上記第1のディレクトリサーバ、および、上記ネットワ
    ークに接続される別のサーバのうちのいずれか一方のサ
    ーバ(以下、「レプリケーションサーバ」と称す。)
    は、 上記第1のディレクトリサーバが記憶保持している履歴
    情報のうちから、処理対象となる履歴情報を取得し、 取得した履歴情報に対応する操作と同一の操作を上記レ
    プリカデータについて行う旨を要求するディレクトリア
    クセス要求(以下、「レプリケーション要求」と称
    す。)を、上記第2のディレクトリサーバへ発行し、 上記レプリケーション要求に従って行われた上記第2の
    ディレクトリサーバの操作が成功した場合に、該操作に
    対応する履歴情報を特定するための識別情報を、該第2
    のディレクトリサーバが管理するレプリカデータ中に記
    録し、 上記第1のディレクトリサーバが記憶保持している履歴
    情報のうちから、処理対象となる履歴情報を取得する際
    に、上記第2のディレクトリサーバが管理するレプリカ
    データ中に記録されている識別情報を参照して、取得す
    べき履歴情報を決定することを特徴とするレプリケーシ
    ョン方法。
  2. 【請求項2】請求項1記載のレプリケーション方法であ
    って、 上記レプリケーションサーバは、 上記識別情報を検索するという操作を行う旨を要求する
    ディレクトリアクセス要求を、上記第2のディレクトリ
    サーバへ発行することで、該第2のディレクトリサーバ
    が管理するレプリカデータ中に記録されている識別情報
    を参照することを特徴とするレプリケーション方法。
  3. 【請求項3】請求項1または2記載のレプリケーション
    方法であって、 上記レプリケーションサーバは、 上記識別情報を記録するという操作を行う旨を要求する
    ディレクトリアクセス要求を、上記第2のディレクトリ
    サーバへ発行することで、該第2のディレクトリサーバ
    が管理するレプリカデータ中に該識別情報を記録するこ
    とを特徴とするレプリケーション方法。
  4. 【請求項4】請求項1,2または3記載のレプリケーシ
    ョン方法であって、 上記レプリケーションサーバは、 上記レプリケーション要求に従って行われた上記第2の
    ディレクトリサーバの操作が失敗した場合でも、該レプ
    リケーション要求と同一のレプリケーション要求を2回
    以上連続して発行したことによって生じた失敗であり、
    かつ、該レプリケーション要求と同一のレプリケーショ
    ン要求を該第2のディレクトリサーバが以前に受信して
    いるならば、成功したとみなすことを特徴とするレプリ
    ケーション方法。
  5. 【請求項5】請求項1または2記載のレプリケーション
    方法であって、 上記第2のディレクトリサーバは、 受信したディレクトリアクセス要求中に予め定義された
    特定フィールドの設定内容に従って、予め定義された特
    定操作を行い、 上記レプリケーションサーバは、 上記レプリケーション要求中の特定フィールドに、上記
    識別情報を記録するという特定操作を上記第2のディレ
    クトリサーバが行うために必要な情報を設定すること
    で、該第2のディレクトリサーバが管理するレプリカデ
    ータ中に該識別情報を記録することを特徴とするレプリ
    ケーション方法。
  6. 【請求項6】請求項3または5記載のレプリケーション
    方法であって、 上記第2のディレクトリサーバは、 上記レプリケーション要求に従った操作、および、上記
    識別情報を記録するという操作を、同一のトランザクシ
    ョンとして処理することを特徴とするレプリケーション
    方法。
  7. 【請求項7】請求項1,2,3,4,5または6記載の
    レプリケーション方法であって、 上記第1のディレクトリサーバおよび上記第2のディレ
    クトリサーバは、 1つのオブジェクトクラスに属し、かつ、1つ以上の属
    性を有するオブジェクトとして、上記マスタデータおよ
    び上記レプリカデータを構成するエントリの各々を管理
    し、 上記識別情報は、 予め定義された特定オブジェクトクラスに属し、かつ、
    予め定義された特定属性を有するオブジェクトとして管
    理されるエントリ中に、該特定属性の属性値として記録
    されることを特徴とするレプリケーション方法。
  8. 【請求項8】ディレクトリデータのマスタデータを管理
    し、上記マスタデータを変更した際の操作の履歴情報を
    記憶保持する第1のディレクトリサーバと、上記マスタ
    データの複製であるレプリカデータを管理する1つ以上
    の第2のディレクトリサーバとが、少なくともネットワ
    ークで接続されたディレクトリシステムにおいて、 上記第1のディレクトリサーバ、および、上記ネットワ
    ークに接続される別のサーバのうちのいずれか一方のサ
    ーバ(以下、「レプリケーションサーバ」と称す。)に
    インストールされ、上記マスタデータと上記レプリカデ
    ータとを同一の内容に保つレプリケーションツールであ
    って、 上記第1のディレクトリサーバが記憶保持している履歴
    情報のうちから、処理対象となる履歴情報を取得する履
    歴情報取得手段と、 上記履歴情報取得手段が取得した履歴情報に対応する操
    作と同一の操作を上記レプリカデータについて行う旨を
    要求するディレクトリアクセス要求(以下、「レプリケ
    ーション要求」と称す。)を、上記第2のディレクトリ
    サーバへ発行するレプリケーション要求発行手段と、 上記レプリケーション要求発行手段が発行したレプリケ
    ーション要求に従って行われた上記第2のディレクトリ
    サーバの操作が成功した場合に、該操作に対応する履歴
    情報を特定するための識別情報を、該第2のディレクト
    リサーバが管理するレプリカデータ中に記録する識別情
    報記録手段とを有するよう、上記レプリケーションサー
    バを機能させ、 上記履歴情報取得手段は、 上記第2のディレクトリサーバが管理するレプリカデー
    タ中に記録されている識別情報を参照して、取得すべき
    履歴情報を決定することを特徴とするレプリケーション
    ツール。
  9. 【請求項9】請求項8記載のレプリケーションツールで
    あって、 上記履歴情報が、対応する操作の実行順序を示す順序情
    報を含む場合に、 上記識別情報記録手段は、 記録すべき識別情報として上記順序情報を用い、 上記履歴情報取得手段は、 参照した識別情報に含まれる順序情報が示す実行順序よ
    り後の実行順序を示す順序情報が含まれる履歴情報のう
    ちの、最も早い実行順序を示す順序情報が含まれる履歴
    情報を、取得すべき履歴情報として決定することを特徴
    とするレプリケーションツール。
  10. 【請求項10】請求項8または9記載のレプリケーショ
    ンツールであって、 上記履歴情報取得手段は、 上記識別情報を検索するという操作を行う旨を要求する
    ディレクトリアクセス要求を、上記第2のディレクトリ
    サーバへ発行することで、該第2のディレクトリサーバ
    が管理するレプリカデータ中に記録されている識別情報
    を参照することを特徴とするレプリケーションツール。
  11. 【請求項11】請求項8,9または10記載のレプリケ
    ーションツールであって、 上記識別情報記録手段は、 上記識別情報を記録するという操作を行う旨を要求する
    ディレクトリアクセス要求を、上記第2のディレクトリ
    サーバへ発行することで、該第2のディレクトリサーバ
    が管理するレプリカデータ中に該識別情報を記録するこ
    とを特徴とするレプリケーションツール。
  12. 【請求項12】請求項8,9,10または11記載のレ
    プリケーションツールであって、 上記レプリケーション要求発行手段が発行したレプリケ
    ーション要求に従って行われた上記第2のディレクトリ
    サーバの操作が失敗した場合でも、該レプリケーション
    要求と同一のレプリケーション要求を2回以上連続して
    発行したことによって生じた失敗であり、かつ、該レプ
    リケーション要求と同一のレプリケーション要求を該第
    2のディレクトリサーバが以前に受信しているならば、
    成功したとみなすエラー判定手段をさらに有するよう、
    上記レプリケーションサーバを機能させることを特徴と
    するレプリケーションツール。
  13. 【請求項13】請求項8,9または10記載のレプリケ
    ーションツールであって、 上記第2のディレクトリサーバが、受信したディレクト
    リアクセス要求中に予め定義された特定フィールドの設
    定内容に従って、予め定義された特定操作を行うことが
    可能なディレクトリサーバである場合に、 上記識別情報記録手段は、 上記レプリケーション要求発行手段が発行するレプリケ
    ーション要求中の特定フィールドに、上記識別情報を記
    録するという特定操作を上記第2のディレクトリサーバ
    が行うために必要な情報を設定することで、該第2のデ
    ィレクトリサーバが管理するレプリカデータ中に該識別
    情報を記録することを特徴とするレプリケーションツー
    ル。
  14. 【請求項14】ディレクトリデータのマスタデータを管
    理し、上記マスタデータを変更した際の操作の履歴情報
    を記憶保持する第1のディレクトリサーバと、上記マス
    タデータの複製であるレプリカデータを管理する1つ以
    上の第2のディレクトリサーバとが、少なくともネット
    ワークで接続されたディレクトリシステムにおいて用い
    られ、 上記マスタデータと上記レプリカデータとを同一の内容
    に保つレプリケーションサーバであって、 上記第1のディレクトリサーバが記憶保持している履歴
    情報のうちから、処理対象となる履歴情報を取得する履
    歴情報取得手段と、 上記履歴情報取得手段が取得した履歴情報に対応する操
    作と同一の操作を上記レプリカデータについて行う旨を
    要求するディレクトリアクセス要求(以下、「レプリケ
    ーション要求」と称す。)を、上記第2のディレクトリ
    サーバへ発行するレプリケーション要求発行手段と、 上記レプリケーション要求発行手段が発行したレプリケ
    ーション要求に従って行われた上記第2のディレクトリ
    サーバの操作が成功した場合に、該操作に対応する履歴
    情報を特定するための識別情報を、該第2のディレクト
    リサーバが管理するレプリカデータ中に記録する識別情
    報記録手段とを有し、 上記履歴情報取得手段は、 上記第2のディレクトリサーバが管理するレプリカデー
    タ中に記録されている識別情報を参照して、取得すべき
    履歴情報を決定することを特徴とするレプリケーション
    サーバ。
JP9334333A 1997-12-04 1997-12-04 レプリケーション方法、レプリケーションツール、および、レプリケーションサーバ Pending JPH11167510A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP9334333A JPH11167510A (ja) 1997-12-04 1997-12-04 レプリケーション方法、レプリケーションツール、および、レプリケーションサーバ
US09/203,570 US6301589B1 (en) 1997-12-04 1998-12-02 Replication method
US09/969,727 US20020059329A1 (en) 1997-12-04 2001-10-04 Replication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9334333A JPH11167510A (ja) 1997-12-04 1997-12-04 レプリケーション方法、レプリケーションツール、および、レプリケーションサーバ

Publications (1)

Publication Number Publication Date
JPH11167510A true JPH11167510A (ja) 1999-06-22

Family

ID=18276193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9334333A Pending JPH11167510A (ja) 1997-12-04 1997-12-04 レプリケーション方法、レプリケーションツール、および、レプリケーションサーバ

Country Status (2)

Country Link
US (2) US6301589B1 (ja)
JP (1) JPH11167510A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014205A (ja) * 1999-06-30 2001-01-19 Jisedai Joho Hoso System Kenkyusho:Kk 送信装置および送信方法、受信装置および受信方法、ならびに、送受信システムおよび送受信方法
JP2001014206A (ja) * 1999-06-30 2001-01-19 Jisedai Joho Hoso System Kenkyusho:Kk 送信装置および送信方法、受信装置および受信方法、ならびに、送受信システムおよび送受信方法
WO2001042924A1 (en) * 1999-12-13 2001-06-14 Kabushiki Kaisha Toshiba Data structure managing device, data structure managing system, data structure managing method, and recorded medium where data structure managing program is stored
JP2002132568A (ja) * 2000-10-30 2002-05-10 Nec Corp 顧客管理システム及び顧客管理方法
JP2002149465A (ja) * 2000-11-09 2002-05-24 Nec Informatec Systems Ltd 情報共有システム
JP2009116722A (ja) * 2007-11-08 2009-05-28 Nec Corp ストレージ装置およびタイムスタンプの付与方法
JP2016053814A (ja) * 2014-09-03 2016-04-14 富士通株式会社 データ検索制御プログラム、コンピュータ、およびデータ検索制御方法
JP2018169791A (ja) * 2017-03-30 2018-11-01 日本電気株式会社 情報管理方法および情報処理システム
JP2021532465A (ja) * 2018-08-02 2021-11-25 ヒタチ ヴァンタラ エルエルシー サーバ情報の分散回復
US11561958B2 (en) 2020-04-20 2023-01-24 Fujitsu Limited Information processing device and information processing system

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6412017B1 (en) 1996-07-01 2002-06-25 Microsoft Corporation Urgent replication facility
JP3792419B2 (ja) * 1998-11-27 2006-07-05 株式会社日立製作所 ディレクトリデータ変換方法、ディレクトリデータ変換プログラムが記憶された記憶媒体、およびディレクトリ変換サーバ
US7801913B2 (en) * 1998-12-07 2010-09-21 Oracle International Corporation System and method for querying data for implicit hierarchies
US6587856B1 (en) 1998-12-07 2003-07-01 Oracle International Corporation Method and system for representing and accessing object-oriented data in a relational database system
US6748374B1 (en) 1998-12-07 2004-06-08 Oracle International Corporation Method for generating a relational database query statement using one or more templates corresponding to search conditions in an expression tree
US6473829B1 (en) * 1999-05-28 2002-10-29 International Business Machines Corporation Data storage device providing communication between processing units
US6859821B1 (en) * 1999-07-19 2005-02-22 Groove Networks, Inc. Method and apparatus for prioritizing data change requests and maintaining data consistency in a distributed computer system equipped for activity-based collaboration
US6615223B1 (en) * 2000-02-29 2003-09-02 Oracle International Corporation Method and system for data replication
DE10102649B4 (de) * 2000-03-30 2006-05-24 International Business Machines Corp. System und Verfahren für die Realisierung von Transaktionen mit Unterstützung durch ein Verzeichniszugriffs-LDAP-Protokoll
US6542907B1 (en) * 2000-03-31 2003-04-01 International Business Machines Corporation Method and apparatus for decentralized, invertible generation of bounded-length globally unique replica identifiers
US6957234B1 (en) * 2000-05-26 2005-10-18 I2 Technologies Us, Inc. System and method for retrieving data from a database using a data management system
US7162499B2 (en) * 2000-06-21 2007-01-09 Microsoft Corporation Linked value replication
US6505200B1 (en) * 2000-07-06 2003-01-07 International Business Machines Corporation Application-independent data synchronization technique
US6704885B1 (en) * 2000-07-28 2004-03-09 Oracle International Corporation Performing data backups with a stochastic scheduler in a distributed computing environment
US7016897B2 (en) * 2000-12-29 2006-03-21 International Business Machines Corporation Authentication referral search for LDAP
US6879564B2 (en) * 2001-02-28 2005-04-12 Microsoft Corp. Method for designating communication paths in a network
US6728849B2 (en) 2001-12-14 2004-04-27 Hitachi, Ltd. Remote storage system and method
US7398302B2 (en) * 2001-03-30 2008-07-08 Hitachi, Ltd. Remote copy with path selection and prioritization
US7437437B2 (en) * 2001-04-25 2008-10-14 Hewlett-Packard Development Company, L.P. Access authentication for distributed networks
US7702791B2 (en) * 2001-07-16 2010-04-20 Bea Systems, Inc. Hardware load-balancing apparatus for session replication
US7409420B2 (en) * 2001-07-16 2008-08-05 Bea Systems, Inc. Method and apparatus for session replication and failover
EP1415236B1 (en) * 2001-07-16 2018-04-18 Oracle International Corporation Method and apparatus for session replication and failover
US9659292B1 (en) * 2001-08-30 2017-05-23 EMC IP Holding Company LLC Storage-based replication of e-commerce transactions in real time
US20030088654A1 (en) * 2001-11-02 2003-05-08 Gordon Good Directory server schema replication
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
US7376708B2 (en) * 2002-01-31 2008-05-20 Claredi Corporation Systems and methods relating to the establishment of EDI trading partner relationships
US7107355B2 (en) * 2002-02-11 2006-09-12 Sun Microsystems, Inc. High availability lightweight directory access protocol service
US20030191781A1 (en) * 2002-04-03 2003-10-09 Seyhan Civanlar Directory-based service activation system and method
US7600021B2 (en) * 2002-04-03 2009-10-06 Microsoft Corporation Delta replication of source files and packages across networked resources
JP2004334574A (ja) * 2003-05-08 2004-11-25 Hitachi Ltd ストレージの運用管理プログラム、運用管理方法及び管理計算機
GB2401693B (en) * 2003-05-15 2005-08-17 Sun Microsystems Inc Conflictless replication in a multi-master directory system
GB2402297B (en) * 2003-05-15 2005-08-17 Sun Microsystems Inc Update dependency control for multi-master replication
US7203687B2 (en) * 2004-02-26 2007-04-10 International Business Machines Corporation Peer-to-peer replication member initialization and deactivation
US7490083B2 (en) 2004-02-27 2009-02-10 International Business Machines Corporation Parallel apply processing in data replication with preservation of transaction integrity and source ordering of dependent updates
US8688634B2 (en) * 2004-02-27 2014-04-01 International Business Machines Corporation Asynchronous peer-to-peer data replication
JP4489500B2 (ja) * 2004-05-26 2010-06-23 株式会社日立製作所 バックアップ方法、バックアップシステム、ディスク制御装置、及びバックアッププログラム
US8244913B1 (en) 2004-10-13 2012-08-14 Progress Software Corporation Replication horizon determination with an independent distributed database system
US9020887B2 (en) 2004-12-21 2015-04-28 Proofpoint, Inc. Managing the status of documents in a distributed storage system
WO2007032046A1 (ja) * 2005-09-12 2007-03-22 Fujitsu Limited Hsm制御プログラム、hsm制御装置、hsm制御方法
US7370235B1 (en) * 2005-09-29 2008-05-06 Emc Corporation System and method for managing and scheduling recovery after a failure in a data storage environment
US8935429B2 (en) 2006-12-19 2015-01-13 Vmware, Inc. Automatically determining which remote applications a user or group is entitled to access based on entitlement specifications and providing remote application access to the remote applications
US7779091B2 (en) 2005-12-19 2010-08-17 Vmware, Inc. Method and system for providing virtualized application workspaces
US20080033966A1 (en) * 2006-08-04 2008-02-07 Mark Frederick Wahl System and method for recovery detection in a distributed directory service
US20080059941A1 (en) * 2006-08-30 2008-03-06 Timothy Payne Method and system for supporting a collaborative development environment
US7797281B1 (en) * 2007-01-12 2010-09-14 Symantec Operating Corporation Granular restore of data objects from a directory service
US20080270596A1 (en) * 2007-04-25 2008-10-30 Mark Frederick Wahl System and method for validating directory replication
CN101295306B (zh) * 2007-04-26 2012-09-05 国际商业机器公司 目录服务器中的修改条目名称操作方法和相应设备
US8019727B2 (en) * 2007-09-26 2011-09-13 Symantec Corporation Pull model for file replication at multiple data centers
CN101933014B (zh) * 2007-09-28 2013-11-20 阿珀蒂奥有限公司 用于复制和同步的系统和方法
US9143559B2 (en) * 2007-12-05 2015-09-22 International Business Machines Corporation Directory server replication
US8150802B2 (en) * 2008-03-24 2012-04-03 Microsoft Corporation Accumulating star knowledge in replicated data protocol
US8135838B2 (en) * 2008-04-08 2012-03-13 Geminare Incorporated System and method for providing data and application continuity in a computer system
US8352482B2 (en) * 2009-07-21 2013-01-08 Vmware, Inc. System and method for replicating disk images in a cloud computing based virtual machine file system
US8234518B2 (en) * 2009-07-21 2012-07-31 Vmware, Inc. Method for voting with secret shares in a distributed system
US8352490B2 (en) 2009-10-22 2013-01-08 Vmware, Inc. Method and system for locating update operations in a virtual machine disk image
US8190947B1 (en) * 2010-02-11 2012-05-29 Network Appliance, Inc. Method and system for automatically constructing a replica catalog for maintaining protection relationship information between primary and secondary storage objects in a network storage system
US8341134B2 (en) 2010-12-10 2012-12-25 International Business Machines Corporation Asynchronous deletion of a range of messages processed by a parallel database replication apply process
US20130262393A1 (en) * 2012-03-30 2013-10-03 Matevz Mrak Database backup without particularly specifying server
US9727625B2 (en) 2014-01-16 2017-08-08 International Business Machines Corporation Parallel transaction messages for database replication
US9218407B1 (en) 2014-06-25 2015-12-22 Pure Storage, Inc. Replication and intermediate read-write state for mediums
US10650024B2 (en) * 2015-07-30 2020-05-12 Google Llc System and method of replicating data in a distributed system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3345025B2 (ja) 1991-01-16 2002-11-18 富士ゼロックス株式会社 分散ディレクトリの知識整合システム
US5392390A (en) * 1992-04-10 1995-02-21 Intellilink Corp. Method for mapping, translating, and dynamically reconciling data between disparate computer platforms
US6604118B2 (en) * 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
US5684990A (en) * 1995-01-11 1997-11-04 Puma Technology, Inc. Synchronization of disparate databases
US5956489A (en) * 1995-06-07 1999-09-21 Microsoft Corporation Transaction replication system and method for supporting replicated transaction-based services
US6097882A (en) * 1995-06-30 2000-08-01 Digital Equipment Corporation Method and apparatus of improving network performance and network availability in a client-server network by transparently replicating a network service
US5978813A (en) * 1995-09-25 1999-11-02 International Business Machines Corporation System for providing synchronization between a local area network and a distributing computer environment
US5819020A (en) * 1995-10-16 1998-10-06 Network Specialists, Inc. Real time backup system
US5765171A (en) * 1995-12-29 1998-06-09 Lucent Technologies Inc. Maintaining consistency of database replicas
US5706510A (en) * 1996-03-15 1998-01-06 Hewlett-Packard Company Zymbolic history management system
US6049809A (en) * 1996-10-30 2000-04-11 Microsoft Corporation Replication optimization system and method
US6330568B1 (en) * 1996-11-13 2001-12-11 Pumatech, Inc. Synchronization of databases
AU6151598A (en) * 1997-02-11 1998-08-26 Connected Corporation File comparison for data backup and file synchronization
US6411966B1 (en) * 1998-09-21 2002-06-25 Microsoft Corporation Method and computer readable medium for DNS dynamic update to minimize client-server and incremental zone transfer traffic

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014205A (ja) * 1999-06-30 2001-01-19 Jisedai Joho Hoso System Kenkyusho:Kk 送信装置および送信方法、受信装置および受信方法、ならびに、送受信システムおよび送受信方法
JP2001014206A (ja) * 1999-06-30 2001-01-19 Jisedai Joho Hoso System Kenkyusho:Kk 送信装置および送信方法、受信装置および受信方法、ならびに、送受信システムおよび送受信方法
WO2001042924A1 (en) * 1999-12-13 2001-06-14 Kabushiki Kaisha Toshiba Data structure managing device, data structure managing system, data structure managing method, and recorded medium where data structure managing program is stored
US7222125B2 (en) 1999-12-13 2007-05-22 Kabushiki Kaisha Toshiba Data structure managing device, data structure managing system, data structure managing method, and recorded medium where data structure managing program is stored
JP2002132568A (ja) * 2000-10-30 2002-05-10 Nec Corp 顧客管理システム及び顧客管理方法
JP2002149465A (ja) * 2000-11-09 2002-05-24 Nec Informatec Systems Ltd 情報共有システム
JP2009116722A (ja) * 2007-11-08 2009-05-28 Nec Corp ストレージ装置およびタイムスタンプの付与方法
JP2016053814A (ja) * 2014-09-03 2016-04-14 富士通株式会社 データ検索制御プログラム、コンピュータ、およびデータ検索制御方法
JP2018169791A (ja) * 2017-03-30 2018-11-01 日本電気株式会社 情報管理方法および情報処理システム
JP2021532465A (ja) * 2018-08-02 2021-11-25 ヒタチ ヴァンタラ エルエルシー サーバ情報の分散回復
US11561958B2 (en) 2020-04-20 2023-01-24 Fujitsu Limited Information processing device and information processing system

Also Published As

Publication number Publication date
US6301589B1 (en) 2001-10-09
US20020059329A1 (en) 2002-05-16

Similar Documents

Publication Publication Date Title
US6301589B1 (en) Replication method
JP3782932B2 (ja) ファイルをバックアップするための方法、システム及びプログラム記録媒体
US5659682A (en) Scheme to determine completion of directory operations for server recovery
US6539381B1 (en) System and method for synchronizing database information
US20060288056A1 (en) File version management device, method, and program
JP4222642B2 (ja) ローカル・エリア・ネットワークと分散コンピューティング環境との間の同期化をするシステム
JP4732661B2 (ja) クライアントのデータベースとサーバーのデータベースとを同期させる方法
CN101253484B (zh) 一种用于保存来自客户端的数据的方法及一种客户端
JP4590105B2 (ja) ウェブサーバコンテンツ複製
US7600087B2 (en) Distributed remote copy system
EP1271321A1 (en) System and method for recovering from a failed synchronization session
JP2008033912A (ja) Nas向けのcdpの方法および装置
WO2003096231A1 (en) Database scattering system
JPH0922374A (ja) 異種ファイルへのアクセスを可能とする情報処理システム及びその制御方法
WO2007068600A2 (en) Generating backup sets to a specific point in time
JPH0962526A (ja) 耐故障型rpcシステムおよび方法
JP2008197745A (ja) ストレージ仮想化システムにおける記憶制御装置
CN114528260A (zh) 文件访问请求的处理方法、电子设备及计算机程序产品
JP2000315157A (ja) プログラム更新/回復方法
JP2001060175A (ja) 情報処理システムのデータ保守方法
JP2000082003A (ja) 異種ファイルへのアクセスを可能とする情報処理システム及びその制御方法
JP5418070B2 (ja) 業務操作支援方法及びコンピュータ装置
JP3776769B2 (ja) ファイルサーバシステムおよびその制御方法
JP2938860B1 (ja) 分散型データ管理システム
JPH0887410A (ja) プログラム更新/回復方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050524

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051018