(57)【特許請求の範囲】
【請求項１】
複数のデータを蓄積する第１の情報蓄積装置と、
第１の情報蓄積装置に蓄積された上記データを検索するためのデータ検索用インデックスを蓄積する第２の情報蓄積装置と、
第１の情報蓄積装置に蓄積された上記データに対して行われたデータ変更を、予め定めた反映間隔で第２の情報蓄積装置へ反映させるように、上記データ検索用インデックスを作り直す反映手段と、
上記反映手段による反映処理の際に、第１の情報蓄積装置に蓄積された上記データに対して行われたデータ変更が第２の情報蓄積装置に蓄積された上記データ検索用インデックスに反映されていない誤差の程度を求めるとともに、上記反映手段を間欠的に起動する上記反映間隔を、上記誤差の程度が基準値と比較して大きければ短くするように設定する反映間隔設定手段とを備えていることを特徴とするデータベースシステム。
【請求項２】
上記反映間隔設定手段は、第１の情報蓄積装置に蓄積された上記データに対して行われたデータ変更が第２の情報蓄積装置に蓄積された上記データ検索用インデックスに反映されていない未反映データの数から上記誤差の程度を求めることを特徴とする請求項１に記載のデータベースシステム。
【請求項３】
複数のデータを蓄積する第１の情報蓄積装置と、第１の情報蓄積装置に蓄積された上記データを検索するためのデータ検索用インデックスを蓄積する第２の情報蓄積装置とを備えたデータベースシステムの制御方法であって、
上記データベースシステムが備える反映手段が、第１の情報蓄積装置に蓄積された上記データに対して行われたデータ変更を、予め定めた反映間隔で第２の情報蓄積装置へ反映させるように、上記データ検索用インデックスを作り直す反映処理と、
上記データベースシステムが備える反映間隔設定手段が、上記反映処理の際に、第１の情報蓄積装置に蓄積された上記データに対して行われたデータ変更が第２の情報蓄積装置に蓄積された上記データ検索用インデックスに反映されていない誤差の程度を求めるとともに、上記反映処理を間欠的に起動する上記反映間隔を上記誤差の程度が基準値と比較して大きければ短くするように、上記反映間隔を更新して記憶する反映間隔設定処理とを含んでいることを特徴とするデータベースシステムの制御方法。
【請求項４】
上記反映間隔設定処理は、上記データベースシステムが備える反映間隔設定手段が、第１の情報蓄積装置に蓄積された上記データに対して行われたデータ変更が第２の情報蓄積装置に蓄積された上記データ検索用インデックスに反映されていない未反映データの数から上記誤差の程度を求めることを特徴とする請求項３に記載のデータベースシステムの制御方法。
【請求項５】
請求項１または２に記載のデータベースシステムを制御するための制御プログラムを記録したコンピュータ読み取り可能な記録媒体であって、コンピュータを上記の各手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の情報蓄積装置の間で情報の同期をとるデータベースシステム、およびその制御方法、ならびにその制御プログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【０００２】
【従来の技術】
文書群と文書検索用インデックスとを備えた文書検索システムや、原本とその複製を備えた分散データベースシステムでは、データを蓄積した複数の情報蓄積装置の間で内容の同期を取る（シンクロナイズする）必要がある。
【０００３】
ここで、一つの情報蓄積装置への書換えを他の情報蓄積装置へ反復的に反映する方法について、以下の四つの従来例をあげる。
〔従来例１〕
文書群の検索を高速化するために、検索用インデックスデータをあらかじめ作成しておくという方法がある（公開特許公報「特開平５−６１９１０号公報（公開日：平成５年（１９９３）３月１２日）」、他）。この場合、新規文書が追加されたり、既存文書が修正または削除された場合、それをインデックスに反映する必要がある。すなわち、インデックスを部分的に、または全体を作りなおす必要がある。
【０００４】
図１０に、上記の方法を適用した文書編集装置のＤＦＤ（データフロー図）の例を示す。
【０００５】
ここで、ＤＦＤの表記方法について説明する。楕円は、プロセスと呼ばれ、データの変換を表す。プロセスは一つ以上の入力と一つ以上の出力を持つ。なお、プロセスという用語は、ある種のコンピュータシステムでは実行中のプログラムを意味するが、本明細書では上記の意味で使用する。長方形は、アクターと呼ばれ、データを生産または消費することによって、能動的にデータの流れを駆動する。水平な二本の平行線は、データストアと呼ばれ、データの格納およびアクセスの要求があればそれに応じる。データストアの入力はデータの格納を意味し、出力はアクセスを意味する。なお、データストアそのものは自発的に動作しない。実線の矢印は、データフロー（データの流れ）を表し、プロセス、アクター、データストアの入力や出力となる。また、破線の矢印は、制御フローと呼ばれ、あるプロセスの計算結果が別のプロセスの計算を行うか否かを決めることを表す。ただし、ＤＦＤが表現するのは、データの流れと計算の仕様であり、制御の流れや動作の順序は本筋でない。
【０００６】
以下、図１０を参照して、上記文書編集装置について説明する。上記文書編集装置は、利用者の操作により、文書を作成し、作成した文書を蓄積、および印刷する。また、作成済みの文書を検索、印刷、修正、および削除する。文書の検索には、インデックス法を用い、高速に全文検索を行う。
【０００７】
上記文書編集装置は、文書ファイル群の書換え（新規、修正、および削除）を定期的にインデックスに反映する。この反映処理の間隔は、利用者が設定する。反映処理は、文書ファイル群を走査し、インデックスに未反映の文書を探す処理を含む。ここで、未反映の文書とは、前回の反映処理以降に新規作成、修正、または削除された文書である。
【０００８】
端末５１は、利用者用の端末装置である。端末５１は、文書の作成、修正、削除、印刷、および検索を行う。端末５１は、キーボード入力装置、画面表示装置、および印字装置（プリンタ）を備えている。
【０００９】
文書ファイル群５２は、利用者が作成した文書ファイルの蓄積である。文書ファイル群５２は、修正、削除、印刷、および検索の対象となる。
【００１０】
文書の編集プロセス５４は、利用者の操作に応じて文書を編集する。文書の編集プロセス５４は、文書を作成、修正、削除、および印刷する。
【００１１】
文書の検索プロセス５６は、利用者の操作に応じて文書を検索する。文書の検索プロセス５６は、利用者が端末５１より与える検索条件に合致する文書を、インデックス６２より探し、見つかれば文書ファイル群５２から該当文書を読み出して、該当する部分を端末５１の画面に表示して利用者に示す。
【００１２】
インデックス６２は、検索の際に用いる、高速な検索を実現するための、検索用インデックスデータである。
【００１３】
インデックス化プロセス７１は、文書ファイル群５２を元に、インデックス６２を作成する。インデックス化プロセス７１は、文書ファイルの新規作成、修正、および削除があれば、それをインデックス６２に反映する。
【００１４】
最終反映時刻７２は、最後にインデックス化プロセス７１を実行開始した時刻である。最終反映時刻７２は、インデックス化プロセス７１に着手する都度、更新される。
【００１５】
反映間隔７３は、インデックス化プロセス７１を実行すべき時間の間隔を、分（minute）を単位にして表した値である。反映間隔７３は、利用者が端末５１を介して変更できる。
【００１６】
時間の比較プロセス７４は、最終反映時刻７２から現在までに経過した時間と、反映間隔７３を比較し、前者が後者より小さくなければ、インデックス化プロセス７１を開始させる。
〔従来例２〕
図１１および図１２を用いて、複数の工場を持つ会社が、各工場が管理する仕入先ＤＢ（データベース）を、相互乗り入れさせる場合について説明する。図１１は、上記仕入先ＤＢシステムの構成を示すＤＦＤだが、繁雑さを避けるため、端末８１を札幌工場Ｂｎにだけ描いた。なお、実際には図１２のように、本社工場Ｈと神戸工場Ｂｓにも端末端末８１がある。
【００１７】
各工場Ｂｎ，Ｂｓの仕入先ＤＢ８２は、仕入先の名称、地域コード、連絡先、取扱い品目の部品コード、単価、および標準納期を格納する。通常、自工場構内の仕入先ＤＢ８２で地元業者を検索することが多いが、他工場の仕入先ＤＢ８２も検索できる。
【００１８】
他工場の仕入先ＤＢ８２を含めた広域検索の便宜を図るため、総目次８４を設ける。すなわち、各工場Ｂｎ，Ｂｓは、各仕入先の名称、地域コード、および部品コードをまとめたデータを、定期的に本社工場Ｈへ送信する。本社工場Ｈでは、各工場Ｂｎ，Ｂｓからのデータを合成プロセス８３によって合成し、工場コードを付して、総目次８４を作成する。総目次８４は、本社工場Ｈから各工場Ｂｎ，Ｂｓへ送信され、各工場Ｂｎ，Ｂｓに同一のコピーが置かれる。
【００１９】
広域検索は次の手順による。まず、総目次８４を部品コードで検索し、その部品を扱う仕入先と、その工場コードを得る。そして、工場コードが表す工場の仕入先ＤＢ８２を遠隔検索し、詳細な情報を得る。
〔従来例３〕
図１３および図１４を用いて、低速回線で結ばれた本支店間で、電子電話帳データを共有する電子電話帳システムについて説明する。図１３は、上記電子電話帳システムの構成を示すＤＦＤだが、ＤＢ停止時に他店のＤＢを検索する機能については、繁雑を避けるため図１４に示した。
【００２０】
まず、電子電話帳９２を本店Ｈに設置して、検索の都度、各支店Ｂｎ，Ｂｓから本店Ｈへ通信することが可能である。しかし、低速回線を経由しての検索は遅すぎて不便な場合が多い。そこで、本店Ｈに置かれている電子電話帳（原本）９２の複製である電子電話帳（複製）９６を、各支店Ｂｎ，Ｂｓに置く必要がある。こうすれば、平常時の検索は、高速な自店の構内回線だけを経由して行うことができる。そして、故障または保守作業で自店構内の電子電話帳（複製）９６の停止中に限り、他店の電子電話帳９２，９６を検索することができる。
【００２１】
この場合、本支店間でのデータの一貫性を保つために、本店Ｈが電子電話帳ＤＢの原本を管理して、各支店Ｂｎ，Ｂｓによる変更（変更プロセス９４）は各支店Ｂｎ，Ｂｓが本店Ｈに依頼（変更依頼９３）することによって行われる。そのため、本店Ｈの電子電話帳（原本）９２のＤＢは、更新機能を持つ。そして、本店Ｈおよび各支店Ｂｎ，Ｂｓからの変更依頼９３は、随時、本店Ｈの電子電話帳（原本）９２に反映される。各支店Ｂｎ，Ｂｓの電子電話帳（複製）９６のＤＢは簡易型で、検索しか出来ない。よって、定期的に支店ＤＢ（電子電話帳（複製）９６）を停止して、本店ＤＢ（電子電話帳（原本）９２）の内容を書き写す必要がある。
〔従来例４〕
図１５および図１４を用いて、低速回線で結ばれた本支店間で、電子電話帳データを共有する電子電話帳システムについて説明する（公開特許公報「特開平１０−１４９３０８号公報（公開日：平成１０年（１９９８）６月２日）」、他）。図１５は、上記電子電話帳システムの構成を示すＤＦＤだが、ＤＢ停止時に他店のＤＢを検索する機能については、繁雑を避けるため図１４に示した。
【００２２】
本従来例の電子電話帳システムは、前記従来例３の電子電話帳システムと類似しているが、各支店Ｂｎ，ＢｓのＤＢ（電子電話帳９７）も、本店ＨのＤＢと同様に更新機能を持つ点が相違している。
【００２３】
すなわち、各支店Ｂｎ，Ｂｓによる更新は、本店Ｈに依頼せず、自店内の電子電話帳９７を自ら更新する。そして、本店Ｈおよび各支店Ｂｎ，ＢｓのＤＢ（電子電話帳９７）は、同期プロセス９８により、定期的にデータ交換して、データの同期を取ることによって、本支店間でのデータの一貫性を保つ。
【００２４】
【発明が解決しようとする課題】
上記の従来例１から従来４では、追加の情報蓄積装置、すなわちインデックス、総目次、および複製（レプリカ）を導入している。その目的は、検索を高速化することである。また、電子電話帳の複製の例では、ＤＢ停止中も検索可能になり、可用性を高めることにも役立っている。
【００２５】
しかしながら、上記の従来例１から従来４では、おのおのの情報蓄積装置の間で、どのようなタイミングで内容の同期を取るかが問題となる。寸分の狂いもなく同一の内容を持つことが、極めて重要である場合には、書換えを直ちに反映する必要がある。例えば、文書に書換え（新規文書の追加、既存文書の修正・削除）があれば、直ちにインデックスを作り直す。あるいは、電子電話帳データに変更があれば、直ちに変更を配信する。ただし、相応の設備増強（高速インデクサ、高速回線）が必要である。
【００２６】
このような用途では、多少の誤差は許容されることが多い。そして、反映処理は定期的に実行される。ここで、反映処理の時間間隔は、用途や設備の負荷状態等に応じて、適切に調整しなければ、良い効果が得られない。
【００２７】
すなわち、反映の頻度が低すぎれば、最新でない情報を読んでしまう確率が大きくなる。反映処理を、情報の読み書きに対して非同期的に行う以上、このような誤りは本質的に避けられない。そのため、誤り率が大きくならないよう考慮する必要がある。このような誤り率が大きくなるのは、反映の頻度が低すぎる場合であり、情報蓄積装置の相互間に生ずる誤差が過大になるためである。
【００２８】
逆に、反映の頻度が高すぎれば、設備（装置や回線）の負荷を無駄に増大し、設備の能力を無駄遣いすることになる。特に、小刻みに修正される情報や一時的にしか存在しない情報が少なくない場合、無駄が多くなる。結果として、情報の読み書きという本来の作業をかえって遅くすることになる。また、電子電話帳の場合、ＤＢを必要以上に停止させることになる。これは、文書やＤＢの検索を高速化するという目的に反する。
【００２９】
以上のように、反映処理を行う最適な反映頻度は、用途や設備の負荷状態等に応じて、適切に調整する必要がある。しかし、最適な反映頻度は、情報を書き換える頻度によって変化する。したがって、追加の情報蓄積装置を導入した効果を上げるには、反映頻度を適切に調節し続けなければならない。
【００３０】
本発明は、上記の問題点を解決するためになされたもので、その目的は、複数の情報蓄積装置の間で情報の同期をとるデータベースシステムにおいて、同期の誤差と、設備の負荷に関して、最適なバランスを維持することができるデータベースシステム、およびその制御方法、ならびにその制御プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することにある。
【００３１】
【課題を解決するための手段】
本発明のデータベースシステムは、上記の課題を解決するために、第１の情報蓄積装置と、第２の情報蓄積装置と、第１の情報蓄積装置に対して行われた変更を、間欠的に第２の情報蓄積装置へ反映する反映手段と、第１の情報蓄積装置の内容と第２の情報蓄積装置の内容との誤差の程度に応じて、上記反映手段の起動を制御する反映制御手段とを備えていることを特徴としている。
【００３２】
また、本発明のデータベースシステムの制御方法は、上記の課題を解決するために、第１の情報蓄積装置と第２の情報蓄積装置とを備えたデータベースシステムの制御方法であって、第１の情報蓄積装置に対して行われた変更を、間欠的に第２の情報蓄積装置へ反映する反映処理と、第１の情報蓄積装置の内容と第２の情報蓄積装置の内容との誤差の程度に応じて、上記反映処理の起動を制御する反映制御処理とを含んでいることを特徴としている。
【００３３】
また、本発明のコンピュータ読み取り可能な記録媒体は、上記の課題を解決するために、第１の情報蓄積装置と第２の情報蓄積装置とを備えたデータベースシステムを制御するための制御プログラムを記録したコンピュータ読み取り可能な記録媒体であって、第１の情報蓄積装置に対して行われた変更を、間欠的に第２の情報蓄積装置へ反映する反映処理と、第１の情報蓄積装置の内容と第２の情報蓄積装置の内容との誤差の程度に応じて、上記反映処理の起動を制御する反映制御処理とを、コンピュータに実行させるためのプログラムを記録していることを特徴としている。
【００３４】
上記の各構成により、例えば、文書検索システムでは、第１の情報蓄積装置に検索対象の情報が、第２の情報蓄積装置に検索補助用の情報（インデックス）がそれぞれ蓄積される。また例えば、分散データベースシステムでは、第１の情報蓄積装置に原本の情報が、第２の情報蓄積装置に複製の情報が蓄積される。そして、上記データベースシステムでは、複数の情報蓄積装置群において、一部の情報蓄積装置（第１の情報蓄積装置）になされた変更を、他の情報蓄積装置（第２の情報蓄積装置）へ繰り返し反映することによって、データベースシステム全体の情報の一貫性を確保する。
【００３５】
ここで、上記データベースシステムでは、反映制御処理によって、第１の情報蓄積装置の内容と第２の情報蓄積装置の内容との誤差の程度（未反映率）に応じて、反映処理の起動が制御される。例えば、未反映率が基準値を超えた時に、反映処理を起動して、第１の情報蓄積装置に対して行われた更新を第２の情報蓄積装置に反映させることができる。
【００３６】
このように、上記データベースシステムでは、未反映率を算出する負荷が、反映処理の負荷と比べて、ほとんど無視できる場合に、反映処理の起動を直接的かつ単純に自動制御することができる。すなわち、複数の情報蓄積装置（データベース等）群の間で、一定の誤差を許容しつつ、内容を同一化するデータベースシステムにおいて、反映処理の時期を、利用者の手動操作あるいは単純な一定時間間隔とせず、状況に応じて動的に制御することによって、情報の同一性と装置の負荷という相反する二つの要素のバランスを最適に維持できる。
【００３７】
本発明のデータベースシステムは、上記の課題を解決するために、さらに、上記反映制御手段は、第１の情報蓄積装置の内容と第２の情報蓄積装置の内容との誤差の程度に基づいて、上記反映手段を間欠的に起動する反映間隔を設定する反映間隔設定手段を備えていることを特徴としている。
【００３８】
また、本発明のデータベースシステムの制御方法は、上記の課題を解決するために、さらに、上記反映制御処理は、第１の情報蓄積装置の内容と第２の情報蓄積装置の内容との誤差の程度に基づいて、上記反映処理を間欠的に起動する反映間隔を設定する反映間隔設定処理を含んでいることを特徴としている。
【００３９】
また、本発明のコンピュータ読み取り可能な記録媒体は、上記の課題を解決するために、さらに、上記プログラムは、上記反映制御処理が、第１の情報蓄積装置の内容と第２の情報蓄積装置の内容との誤差の程度に基づいて、上記反映処理を間欠的に起動する反映間隔を設定する反映間隔設定処理を含んでいることを特徴としている。
【００４０】
上記の各構成により、さらに、上記データベースシステムでは、反映間隔設定処理によって、第１の情報蓄積装置の内容と第２の情報蓄積装置の内容との誤差の程度（未反映率）に応じて、反映間隔を設定して、反映間隔ごとに反映処理が起動するように制御することが可能になる。例えば、未反映率と基準値とを比較して得られた比較結果に基づいて、反映処理を起動する反映間隔を適宜加減しながら、運用することができる。
【００４１】
このように、上記データベースシステムでは、未反映率を算出する負荷が反映処理の負荷と比べて無視できない場合に、反映間隔を加減するという間接的な方法によって、反映時期を自動制御することができる。すなわち、複数の情報蓄積装置（データベース等）群の間で、一定の誤差を許容しつつ、内容を同一化するデータベースシステムにおいて、反映処理の時期を、利用者の手動操作あるいは単純な一定時間間隔とせず、状況に応じて動的に制御することによって、過剰頻度による設備への過負荷や、過少頻度による情報精度の低下を防ぎながら、情報の同一性と装置の負荷という相反する二つの要素のバランスを最適に維持できる。
【００４２】
【発明の実施の形態】
〔実施の形態１〕
本発明の一実施の形態について図１および図２に基づいて説明すれば、以下のとおりである。
【００４３】
本実施の形態は、本発明に係るデータベースシステムを、文書検索機能を備えた文書編集装置へ適用した例である。なお、本実施の形態は、前記従来例１で説明した装置への応用例に相当する。また、本実施の形態は、前記従来例２で説明した仕入先ＤＢも対しても、同様に応用できる。
【００４４】
上記文書編集装置は、利用者の操作により、文書を作成し、作成した文書を蓄積、および印刷する。また、作成済みの文書を検索、印刷、修正、および削除する。文書の検索には、インデックス法を用い、高速に全文検索を行う。
【００４５】
本実施の形態では、従来例１と同じく、文書ファイル群の書換え（新規、修正、および削除）を、繰り返しインデックスに反映する。この反映処理の間隔を自動調整するのが、上記文書編集装置の特徴である。
【００４６】
ここで、上記反映処理は、文書ファイル群を走査し、インデックスに未反映の文書を探す処理を含む。また、未反映の文書とは、前回の反映処理以降に新規作成、修正、または削除された文書である。
【００４７】
この場合、間隔が短すぎる場合の無駄は、未反映の文書を探すために文書ファイル群を走査する負荷である。そして、本実施の形態に係る文書編集装置は、この無駄を防ぎつつ検索の品質を保つことができる。
【００４８】
図１は、本実施の形態に係る文書編集装置の機能の概略を示すデータフロー図（ＤＦＤ）である。なお、ＤＦＤの記法については、前記の従来例１で説明したとおりである。
【００４９】
上記文書編集装置は、アクターである端末１と、データストアである文書ファイル群（第１の情報蓄積装置）２、インデックス（第２の情報蓄積装置）１２、最終反映時刻２２、反映間隔２３、未反映率の基準２６と、プロセスである文書の編集プロセス４、文書の検索プロセス６、インデックス化プロセス（反映手段、反映処理）２１、時間の比較プロセス（反映制御手段、反映制御処理）２４、反映間隔の調整プロセス（反映間隔設定手段、反映間隔設定処理）２５、未反映率の算出プロセス２７とを含んで構成されている。
【００５０】
アクターである上記端末１は、利用者用の端末装置であり、キーボード入力装置、画面表示装置、および印字装置（プリンタ）等を備えて構成されている。端末１は、文書の作成、修正、削除、印刷、および検索を行う。
【００５１】
つぎに、各データストアについて説明する。
【００５２】
上記文書ファイル群２は、利用者が作成した文書ファイルを蓄積した情報蓄積装置であり、修正、削除、印刷、および検索の対象である。また、文書ファイル群２は、内容を反映する対象である。
【００５３】
上記インデックス１２は、検索の際に用い、高速な検索を実現するための検索用インデックスデータである。
【００５４】
上記最終反映時刻２２は、インデックス化プロセス２１（後述）による反映を最後に実行した時刻である。最終反映時刻２２は、インデックス化プロセス２１に着手する都度更新されて、記憶される。
【００５５】
上記反映間隔２３は、インデックス化プロセス２１を実行すべき時間の間隔であり、分（minute）単位で表される。反映間隔２３は、反映間隔の調整プロセス２５（後述）によって設定される都度更新されて、記憶される。
【００５６】
上記未反映率の基準２６は、反映間隔の調整プロセス２５（後述）で反映間隔（頻度）を調整するための基準値を与える。未反映率の基準２６は、利用者によって端末１から入力・調整され、記憶される。
【００５７】
つぎに、各プロセスについて説明する。
【００５８】
上記文書の編集プロセス４は、利用者の操作に応じて文書を編集して、文書ファイル群２の内容を書き換える。具体的には、文書の編集プロセス４は、文書の作成、修正、削除、および印刷を行う。
【００５９】
上記文書の検索プロセス６は、利用者の操作に応じて文書ファイル群２から文書（情報）を検索する。具体的には、利用者が、端末１より与える検索条件に合致する文書を、インデックス１２より探す。そして、インデックス１２中に見つかれば文書ファイル群２から該当文書を読み出して、該当の部分を端末１の画面に表示して利用者に示す。
【００６０】
上記インデックス化プロセス２１は、文書ファイル群２に対して行われた書換えを、インデックス１２へ反映する。すなわち、インデックス化プロセス２１は、文書ファイル群２を元に、インデックス１２を作成する。具体的には、インデックス化プロセス２１は、文書ファイルの新規作成、修正、および削除が行われれば、それをインデックス１２に反映する。なお、上記文書編集装置では、インデックス化プロセス２１を起動する時間間隔が自動調整される。
【００６１】
上記時間の比較プロセス２４は、最終反映時刻２２から現在までに経過した時間と反映間隔２３とを比較し、前者が後者より小さくなければインデックス化プロセス２１を開始させる。
【００６２】
上記反映間隔の調整プロセス２５は、未反映率を基準値と比較して、反映間隔２３を調整する。反映間隔の調整プロセス２５は、後で図２を用いて詳述するが、次の三つの内部処理を含んでいる。すなわち、反映間隔の調整プロセス２５は、未反映率を基準値と比較する内部処理と、未反映率が過小ならば反映間隔２３を増やす内部処理と、未反映率が過大ならば反映間隔２３を減らす内部処理とを含んでいる。
【００６３】
上記未反映率の算出プロセス２７は、現在の未反映率を計算または推定し、フィードバックする。すなわち、未反映率の算出プロセス２７は、インデックス化プロセス２１の都度、インデックスの誤差を示す未反映率を求め、フィードバックする。
【００６４】
ここで、インデックス化プロセス２１は、インデックス１２に未反映の文書を見つけ出し、その文書に対して処理を行う。そのため、インデックス化プロセス２１の処理中に未反映文書の数が求まることになる。よって、上記文書編集装置は、未反映率の算出プロセス２７をインデックス化プロセス２１の内部処理として構成してもよい。
【００６５】
さらに、インデックス化プロセス２１では、あわせて未反映率の算出プロセス２７および反映間隔の調整プロセス２５を行う。未反映率の算出プロセス２７および反映間隔の調整プロセス２５をこまめに行うほど、反映間隔の精度は向上する。しかし、上記文書編集装置では、未反映率の算出プロセス２７および反映間隔の調整プロセス２５を、インデックス化プロセス２１の際にだけ行う。なぜならば、上記文書編集装置では、未反映率の算出プロセス２７の頻度を上げることで増大する負荷が、インデックス化プロセス２１の頻度を上げることで増大する負荷に、ほぼ等しいからである。
【００６６】
図２のフローチャートを用いて、上記反映間隔の調整プロセス２５の手順を説明する。なお、フローチャート中の各ステップにおける演算式は一例であり、これに限定されない。
【００６７】
反映間隔の調整プロセス２５の手順の特徴は、次の二つである。第一に、品質を基準と同等か、やや上回るレベルに保つ。第二に、未反映率は揺れ動くので、一時的な波動に大きく影響されないよう配慮する。そのために、過剰品質に対しては、慎重を期して、品質を少しずつ下げてゆく。逆に、品質の欠陥に対しては、速やかに品質を上げるが、元に戻せる仕組みを用意する。
【００６８】
ステップＳ１１では、誤差の過大を検出する。すなわち、品質の欠陥、反映間隔２３の過大を検出する。未反映率が基準より大きければ（ＹＥＳ）、品質を回復するために、ステップＳ１６へ移行して、反映間隔２３を縮める。具体的には、未反映率（誤差）が反映間隔２３に比例するものと考え、未反映率とその基準との比率によって調整する。すなわち、未反映率が基準のＦ倍であれば、反映間隔２３をＦ分の１にする。
【００６９】
ステップＳ２１およびＳ２５では、逆に、誤差の過小を検出する。すなわち、過剰品質、反映間隔の過小を検出する。そして、ステップＳ２１，Ｓ２５，Ｓ２２において、過剰品質を３ランクに分けて、それぞれ異なる数式を適用して反映間隔を長くする。
【００７０】
ステップＳ１１，Ｓ２１，Ｓ２５での判別がいずれもＮＯであれば、品質が適正範囲にあると判断して、反映間隔２３をそのまま維持する。なお、図２のフローチャートでは、未反映率が基準に対して、０．７５から１．０の範囲内の場合である。
【００７１】
ここで、過剰品質の処置について説明を加える。一時的な現象に反応して品質を急に下げると、次回に大きな欠陥を出すおそれがある。そのため、品質の欠陥を検出した場合よりも、調整を小幅にとどめる。
【００７２】
基本的には、品質過剰の程度が大きいほど、品質を大きく下げる。ただし、その傾きは品質欠陥時よりも緩やかにする（Ｓ２６）。図２のフローチャートでは、基準値に対する未反映率の割合である基準比をＦ（未反映率が基準のＦ倍）として、欠陥時には反映間隔２３に（１／Ｆ）を乗じている（Ｓ１６）。これに対し、品質過剰時には、反映間隔２３に（３／８Ｆ）＋（１／２）を乗じている（Ｓ２６）。ただし、２倍を限度とする（Ｓ２１，Ｓ２４）。このように、品質をゆっくりと下げることによって、一時的な波動に対処することができる。
【００７３】
逆に、一時的な波動によって品質を上げすぎた場合には、復旧を加速する（Ｓ２２，Ｓ２３）。基準比Ｆが４分の１以下で、かつ前回の基準比Ｆが４以上だった場合、前回の欠陥は一過性のものであった可能性が高い。そこで、縮めすぎた反映間隔２３を、前回の半分まで一気に戻す。つまり、慎重を期して、一度には復旧させず、復旧を加速する程度にとどめている。
【００７４】
なお、図１に示すように、上記文書編集装置では、反映処理（インデックス化プロセス２１）を行う時点でのみ反映間隔の調整プロセス２５を行うので、後述する参考例２のようにステップＳ１２，Ｓ１３（図８）は必要ない。
【００７５】
ここで、上記の各ステップの演算式について説明する。
【００７６】
（１）品質の適正範囲について
上述のように、品質の適正範囲を０．７５≦Ｆ≦１．０に設定している。適正品質下限を１．０に近づけ過ぎると、反映間隔が振動しやすくなり、未反映率が正しく求められなくなる。逆に、適正品質下限を低くしすぎると、制御が弱まって品質が過剰気味になるため、装置の負荷が増大する。ゆえに、適正品質下限を反映間隔が振動しない程度の適当な値に設定する必要がある。そこで、本実施の形態では、適正品質下限を０．７５に設定した。
【００７７】
（２）欠陥時の係数について
上述のように、品質の欠陥が発生した時には、係数（１／Ｆ）を反映間隔に乗じる。これにより、次回以降の未反映率が１程度になると期待できる。なお、欠陥の防止を重視する場合には、係数を例えば（０．９／Ｆ）とすればよい。ただし、過度に係数を小さく（調整を厳しく）すると、反映間隔が振動しやすくなる。
【００７８】
（３）品質過剰時の係数について
上述のように、品質過剰時には、係数（３／８Ｆ）＋（１／２）を反映間隔に乗じる。ただし、この係数は２を上限とする。この係数は、欠陥時の係数（１／Ｆ）よりも調整を緩やかに、すなわち、係数を１に近づけている。また、係数を（１／Ｆ）の関数と見たときに、関数が不連続にならないようになっている。すなわち、不連続関数を避けて、調整を安定化している。このように、調整を緩やかにすること、および、係数に上限を設けることは、ともに一時的な波動への対処として有効である。
【００７９】
（４）復旧を加速する度合いについて
上述のように復旧を加速すると、反映間隔が２倍以上になる。この２という下限値と、品質過剰時の係数における上限値２とは、調整を安定化するために意図的に一致させている。また、前回の反映間隔をそのまま採用する代わりに、その０．５倍の値を採用するのは、慎重を期して、一度には復旧させず、復旧を加速する程度にとどめるためである。なお、復旧を加速するだけであるため、Ｆの期待値は０．５に過ぎず、Ｆ＜０．７５である可能性が相当ある。その場合には、通常の品質過剰として扱う。
【００８０】
以上のように、本実施の形態に係るデータベースシステムは、一つ以上の情報蓄積装置を対象とする検索の便宜を図るために、検索補助用の情報を生成し、別の一つ以上の情報蓄積装置に蓄え、検索対象の情報蓄積装置に対して行われた書換えを、間欠的に検索補助用の情報へ反映するとともに、反映処理の時期を自動制御する。
【００８１】
また、本実施の形態に係るデータベースシステムは、反映処理が間欠的であるために情報蓄積装置群の相互間に生ずる誤差の度合いを計算もしくは推定し、求めた誤差の過去一回以上の値を時期を制御する指標として用いる。
【００８２】
さらに、本実施の形態に係るデータベースシステムは、ある情報蓄積装置に蓄積された内容のうち、書換えがまだ他の情報蓄積装置へ反映されていないものの比率を計算もしくは推定し、情報蓄積装置群の相互間に生ずる誤差を表す指標として、上記の比率を用いる。
【００８３】
加えて、本実施の形態に係るデータベースシステムは、ある情報蓄積装置に蓄積された内容のうち、書換えがまだ他の情報蓄積装置へ反映されていないものの比率を計算もしくは推定しフィードバックする処理について、上記の処理を行う。
【００８４】
したがって、本実施の形態に係る文書編集装置は、文書群からインデックスへの反映時期を自動制御する。すなわち、上記文書編集装置は、所定の条件または計算によって反映（インデックス化プロセス２１）の時間間隔（反映間隔２３）を加減し、あるいは、所定の条件を満たしたときに反映を開始し、あるいは、所定の条件を満たさないときには反映を開始しない。その条件として、例えば未反映率、すなわち文書ファイル群２への書換えがインデックス１２へ反映されていない比率を使う。
【００８５】
よって、上記のように反映の時期を自動制御することにより、過剰頻度による設備への過負荷や、過少頻度による情報精度の低下を防ぎながら、文書ファイル群２への書換えをインデックス１２に間欠的に反映することができる。
【００８６】
なお、上記文書編集装置は、従来例２の装置に対しても同様に、仕入先ＤＢから総目次への反映時期の自動制御に応用できる。
【００８７】
また、上記文書編集装置は、原本（文書ファイル群２）の書換えとは独立して、反映処理（インデックス化プロセス２１）が未反映率の算出プロセス２７を駆動する。そして、上記文書編集装置は、現在の未反映率と基準値とを比較して得られた比較結果に基づいて、反映処理（インデックス化プロセス２１）を開始する反映間隔２３を加減する。
【００８８】
すなわち、上記文書編集装置では、未反映率を算出する負荷が反映処理の負荷と比べて無視できないため、反映間隔を加減するという間接的な方法によって、反映時期の自動制御を実現している。
【００８９】
〔参考例１〕
本発明の参考例について図３から図６に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記の実施の形態１において示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
【００９０】
本参考例は、本発明に係るデータベースシステムを、本支店間にまたがる電子電話帳システムへ適用した例である。なお、本参考例は、前記従来例３で説明した装置への応用例に相当する。よって、全体の構成は従来例３の装置と同じである。
【００９１】
図５および図６は、本参考例に係る電子電話帳システムの全体の構成を示すＤＦＤである。なお、ＤＦＤの記法については、前記の従来例１で説明したとおりである。
【００９２】
図５に示すように、上記電子電話帳システムは、低速回線で結ばれた本店Ｈおよび各支店Ｂｎ，Ｂｓの間で、電子電話帳データを共有するデータベースシステム（設備）である。ここで、上記電子電話帳システムは、回線速度が低速であり、対話型の遠隔検索には不適であるため、各支店Ｂｎ，Ｂｓに本店ＤＢ（database）２′の複製である支店ＤＢ１２′を置く。そして、平常時の検索は、高速な構内回線だけを経由して、自店のＤＢ２′，１２′のみに対して行う。そして、故障または保守作業で自店構内のＤＢの停止中に限り、他店のＤＢを検索する（図６）。なお、図６では、支店ＤＢ１２′が停止した場合に、北支店Ｂｎの支店端末１１が本店ＤＢ２′および南支店Ｂｓの支店ＤＢ１２′を検索している状態を示している。
【００９３】
ここで、本参考例では、本店Ｈおよび各支店Ｂｎ，Ｂｓの間で、ＤＢの一貫性を保つために、本店Ｈが原本を管理し、各支店Ｂｎ，ＢｓがＤＢの変更を本店Ｈに依頼する方法を採用する。そのため、本店Ｈの本店ＤＢ（電子電話帳ＤＢ）２′は、更新機能を備えている。そして、各支店Ｂｎ，Ｂｓからの変更依頼は、随時、本店ＤＢ（第１の情報蓄積装置）２′に反映される。一方、各支店Ｂｎ，Ｂｓの支店ＤＢ（複製）（第２の情報蓄積装置）１２′…は簡易型であり、更新機能は備えていない。よって、適宜、支店ＤＢ１２′…を停止して、本店ＤＢ２′の内容を書き写す必要がある。
【００９４】
上記複製プロセス２１′の概略は、以下のとおりである。まず、本店ＤＢ２′の更新を禁止し、全データを読み出し、更新の禁止を解除する。つぎに、読み出した内容を各支店Ｂｎ，Ｂｓに配信する。各支店Ｂｎ，Ｂｓでは、データ受信が完了すると、ＤＢ検索サービスを停止し、受信したデータで支店ＤＢ１２′…の内容を書換え、完了後検索サービスを再開する。
【００９５】
ここで、この複製プロセス（反映手段、反映処理）２１′の間隔が短すぎると、本店ＤＢ２′から全データを読み出す負荷、各支店Ｂｎ，Ｂｓに配信する回線負荷、および支店Ｂｎ，Ｂｓを停止するサービス低下などの無駄が生じる。この点、上記電子電話帳システムは、この複製プロセス（処理）２１′（後述）のタイミングを自動制御することによって、これらの無駄を防ぎつつ検索の品質を保つことができる。
【００９６】
図３に示すＤＦＤを用いて、上記電子電話帳システムの機能を詳細に説明する。
【００９７】
上記電子電話帳システムは、アクターである本店端末１′、支店端末１１と、データストアである本店ＤＢ２′、変更依頼３、更新履歴５、支店ＤＢ１２′、未反映率の基準２６と、プロセスである更新プロセス４′、複製プロセス２１′、未反映率の算出プロセス２７、未反映率の比較プロセス（反映制御手段、反映制御処理）２８とを含んで構成されている。
【００９８】
まず、各アクターについて説明する。
【００９９】
上記本店端末１′は、本店Ｈに設置した利用者用の端末装置である。本店端末１′は、本店ＤＢ２′の電子電話帳ＤＢを検索するほか、本店ＤＢ２′の変更依頼を発行する。そのため、本店端末１′は、キーボード入力装置、画面表示装置、および印字装置（プリンタ）を備えて構成されている。
【０１００】
上記支店端末１１は、各支店Ｂｎ，Ｂｓに設置した利用者用の端末装置であり、電子電話帳ＤＢ（本店ＤＢ２′）の変更依頼を発行する。なお、図６に示すように、支店端末１１は、支店ＤＢ１２′の停止中には、本店ＤＢ２′を遠隔検索することもできる。
【０１０１】
つぎに、各データストアについて説明する。
【０１０２】
上記本店ＤＢ２′は、本店Ｈに設置された電子電話帳ＤＢであり、電子電話帳ＤＢの原本を格納する。本店ＤＢ２′は、主に本店Ｈから検索される。なお、図６に示すように、支店ＤＢ１２′の停止中には、支店端末１１から遠隔検索されることもある。また、本店ＤＢ２′および支店ＤＢ１２′は内容を反映する対象である情報蓄積装置である。
【０１０３】
上記変更依頼３は、本店端末１′と支店端末１１とから発行された、本店ＤＢ２′（電子電話帳ＤＢ）の変更依頼（書換え要求）である。
【０１０４】
上記更新履歴５は、更新プロセス４′が処理した更新処理の履歴の蓄積である。更新履歴５は、未反映率の算出プロセス２７で未反映率を算出するために用いられる。なお、更新履歴５は本店ＤＢ２′の障害復旧時にも利用される。
【０１０５】
上記支店ＤＢ１２′は、各支店Ｂｎ，Ｂｓに設置された電子電話帳ＤＢ（複製）である。支店ＤＢ１２′は、更新機能を備えない簡易型であり、データの検索しかできない。なお、電子電話帳ＤＢのデータの作成、更新は、本店Ｈで行う。また、図６に示すように、支店ＤＢ１２′は、他店のＤＢの停止中には、他店の端末から遠隔検索されることもある。
【０１０６】
上記未反映率の基準２６は、未反映率の比較プロセス２８（後述）で複製プロセス２１′を起動するための基準値を与える。未反映率の基準２６は、本店端末１′より変更することができる。
【０１０７】
つぎに、各プロセスについて説明する。
【０１０８】
上記更新プロセス４′は、本店ＤＢ２′（原本）を更新する。更新プロセス４′は、本店Ｈのみで行われ、本店端末１′および支店端末１１からの変更依頼３に基づいて、本店ＤＢ２′を更新する。
【０１０９】
上記複製プロセス２１′は、本店ＤＢ２′の内容を支店ＤＢ１２′に書き写す。複製プロセス２１′は、本店Ｈに設けられるが、回線を経由して支店ＤＢ１２′を遠隔制御する機能を含んでいる。そして、上記電子電話帳システムでは、複製プロセス２１′を起動する時期を自動制御する。
【０１１０】
この複製プロセス２１′の手順は次のとおりである。まず、本店ＤＢ２′を更新禁止し、全データを読み出し、更新禁止を解除する。つぎに、読み出した内容を各支店Ｂｎ，Ｂｓに配信する。各支店Ｂｎ，Ｂｓでは、データ受信が完了すると、ＤＢ検索サービスを停止し、受信したデータで支店ＤＢ１２′の内容を置き換え、検索サービスを再開する。
【０１１１】
上記未反映率の算出プロセス２７は、定期的に、本店Ｈおよび各支店Ｂｎ，Ｂｓ間のＤＢの誤差を示す未反映率を求めて、フィードバックする。
【０１１２】
上記未反映率の比較プロセス２８は、未反映率を基準と比較して、複製プロセス２１′による反映を開始させる。そのために、未反映率の比較プロセス２８は、次の二つの内部処理を含んでいる。すなわち、未反映率の比較プロセス２８は、未反映率の算出プロセス２７で求めた現在の未反映率を、未反映率の基準２６の基準値と比較する内部処理と、現在の未反映率が未反映率の基準２６の基準値より大きい場合に複製プロセス２１′を起動する内部処理とを含んでいる。
【０１１３】
ここで、更新プロセス４′は、変更依頼３に基づいて、随時実行される。つまり、更新プロセス４′のために、ＤＢ検索サービスは停止されない。更新プロセス４′は、本店ＤＢ２′が更新中でなくかつ更新禁止状態でないときに、変更依頼３を順次処理する。なお、本店ＤＢ（原本）２′は、複製プロセス２１′の作業中、および負荷が高いときに、更新禁止状態になる。
【０１１４】
また、更新プロセス４′は、変更依頼３の１件を処理し終わった時点で、休止するかどうかを判断する。まず、未処理の変更依頼３が残っていない場合には、未反映率の算出プロセス２７を起動した後、更新プロセス４′は休止する。また、本店ＤＢ２′が更新禁止状態である場合には、単に更新プロセス４′が休止する。そして、未処理の変更依頼３が残っており、本店ＤＢ２′が更新禁止状態でない場合には、次の変更依頼３の１件を処理する。
【０１１５】
更新プロセス４′は、休止状態において、起動するための事象を待ち受けており、本店ＤＢ２′が更新可能状態で、かつ、新しい変更依頼３が入ってくると起動する。
【０１１６】
図４のフローチャートを用いて、上記未反映率の比較プロセス２８の手順を説明する。
【０１１７】
上記未反映率の比較プロセス２８は、ステップＳ１１およびステップＳ１３だけからなる。ステップＳ１１では、誤差の過大を検出する。すなわち、未反映率が基準より大きければ（ＹＥＳ）、品質を回復するために、ステップＳ１３へ移行して、直ちに複製プロセス２１′（反映処理）を開始する。
【０１１８】
本参考例に係るデータベースシステムは、一つ以上の情報蓄積装置に蓄えられた、原本となる内容の一部または全部を複製し、他の一つ以上の情報蓄積装置に蓄え、原本になされた書換えを、間欠的に複製へ反映するするとともに、反映処理の時期を自動制御する。
【０１１９】
また、本参考例に係るデータベースシステムは、反映処理が間欠的であるために情報蓄積装置群の相互間に生ずる誤差の度合いを、計算もしくは推定し、求めた誤差の過去一回以上の値を時期を制御する指標として用いる。
【０１２０】
また、本参考例に係るデータベースシステムは、ある情報蓄積装置に蓄積された内容のうち書換えがまだ他の情報蓄積装置へ反映されていないものの比率を、計算もしくは推定するとともに、情報蓄積装置群の相互間に生ずる誤差を表す指標として、上記の比率を用いる。
【０１２１】
さらに、本参考例に係るデータベースシステムは、ある情報蓄積装置に蓄積された内容のうち、書換えがまだ他の情報蓄積装置へ反映されていないものの比率を、計算もしくは推定し、フィードバックする処理について、上記の処理を行う。
【０１２２】
したがって、本参考例に係る電子電話帳システムは、ＤＢの原本（本店ＤＢ２′）を更新する更新プロセス４′が未処理の変更依頼３をすべて処理し終えて休止する際に、未反映率の算出プロセス２７および未反映率の比較プロセス２８を駆動する。そして、未反映率の比較プロセス２８が複製（支店ＤＢ１２′）に反映する複製プロセス２１′を駆動する。
【０１２３】
さらに、上記電子電話帳システムは、現在の未反映率と基準値とを比較して得られた比較結果に基づいて、反映処理（複製プロセス２１′）を開始するか否かを判断する。具体的には、未反映率が基準値を超えた時に、複製プロセス２１′を起動して、本店ＤＢ２′に対して行われた更新を支店ＤＢ１２′に反映させる。
【０１２４】
すなわち、上記電子電話帳システムでは、未反映率を算出する負荷が、反映処理の負荷と比べて、ほとんど無視できることを利用して、上記のような直接的かつ単純な反映時期の自動制御方法を実現している。
【０１２５】
〔参考例２〕
本発明の他の参考例について図７から図９に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記の実施の形態１および参考例１において示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
【０１２６】
本参考例は、本発明に係るデータベースシステムを、本支店間にまたがる電子電話帳システムへ適用した例である。なお、本参考例は、前記従来例４で説明した装置への応用例に相当する。よって、全体の構成は従来例４の装置と同じである。
【０１２７】
図９は、本参考例に係る電子電話帳システムの全体の構成を示すＤＦＤである。なお、ＤＦＤの記法については、前記の従来例１で説明したとおりである。
【０１２８】
上記電子電話帳システムは、低速回線で結ばれた本店Ｈおよび各支店Ｂｎ，Ｂｓの間で、電子電話帳データを共有するデータベースシステム（設備）である。ここで、上記電子電話帳システムは、回線速度が低速であり、対話型の遠隔検索に不適であるため、各支店Ｂｎ，Ｂｓに本店ＤＢ２′の複製を置く。そして、平常時の検索は、高速な構内回線だけを経由して、自店のＤＢ２′，１２″…のみに対して行う。そして、故障または保守作業で自店構内のＤＢの停止中に限り、他店のＤＢを検索する。
【０１２９】
ここで、本参考例では、本店Ｈおよび各支店Ｂｎ，Ｂｓの間で、ＤＢの一貫性を保つために、各店のＤＢに自ら更新する権利を与え、各店のＤＢが適宜内容の同期を取る方法を採用する。すなわち、各店のＤＢが、相互に情報交換して、個別に更新した内容を互いに反映し合い、すべてのＤＢの内容を一致させる。上記電子電話帳システムでは、この同期処理を行う時間間隔を自動制御する。なお、本参考例は、支店ＤＢ１２″が更新機能を備えている点で、参考例１と異なっている。
【０１３０】
上記同期プロセス２１″の概略は、以下のとおりである。まず、全店のＤＢ（本店ＤＢ２′，支店ＤＢ１２″）の更新を禁止する。つぎに、全店の更新履歴から必要な情報を集める。必要な情報とは、前回の同期プロセス２１″の開始より後に処理され、かつ同期プロセス２１″のためでない、更新処理の更新履歴である。つづいて、集められた情報に基づき、全店のＤＢに対して必要な挿入、更新、および削除の操作群を特定する。そして、挿入および更新の内容を元のＤＢから読み込んだ後、各店のＤＢに対して更新要求を発行する。最後に、全店のＤＢの更新禁止を解除する。例えば、北支店Ｂｎで挿入したレコードは、北支店Ｂｎの支店ＤＢ１２″から読み込まれ、本店Ｈの本店ＤＢ２′および南支店Ｂｓの支店ＤＢ１２″に挿入される。
【０１３１】
ここで、同期プロセス２１″のための更新要求には「同期処理用」のマークが付けられる。そして、その更新要求が処理されたとき、その更新履歴にも「同期処理用」のマークが付けられる。この「同期処理用」のマークが付いた更新履歴は、同期処理の対象にしない。なお、更新要求に付ける「同期処理用」のマークは、当該更新要求を処理した記録である更新履歴に「同期処理用」のマークを付けるために付けられる。
【０１３２】
ここで、この同期プロセス２１″の間隔が短すぎると、全店のＤＢの更新を禁止することによる更新の遅延、全店より更新履歴を集めるための設備（装置および回線）の負荷、および更新履歴を解析するための装置の負荷などの無駄が生じる。この点、上記電子電話帳システムは、この同期プロセス２１″のタイミングを自動制御することによって、これらの無駄を防ぎつつ検索の品質を保つことができる。
【０１３３】
つづいて、図７に示すＤＦＤを用いて、上記電子電話帳システムの機能を詳細に説明する。
【０１３４】
上記電子電話帳システムは、アクターである本店端末１′、支店端末１１と、データストアである本店ＤＢ（第１の情報蓄積装置）２′、更新要求３″、更新履歴５、支店ＤＢ（第２の情報蓄積装置）１２″、更新要求１３、更新履歴１５、最終反映時刻２２、反映間隔２３、未反映率の基準２６と、プロセスである更新プロセス４″、更新プロセス１４、同期プロセス（反映手段、反映処理）２１″、時間の比較プロセス（反映制御手段、反映制御処理）２４、反映間隔の調整プロセス（反映間隔設定手段、反映間隔設定処理）２５、未反映率の算出プロセス２７″とを含んで構成されている。
【０１３５】
なお、各支店Ｂｎ，Ｂｓは、上記の支店端末１１と、支店ＤＢ１２″、更新要求１３、更新履歴１５と、更新プロセス１４とを一組ずつ備えている。それ以外は、本店Ｈに設けられている。
【０１３６】
まず、各アクターについて説明する。
【０１３７】
上記本店端末１′は、本店Ｈに設置した利用者用の端末装置である。本店端末１′は、本店ＤＢ２′の電子電話帳ＤＢを検索するほか、本店ＤＢ２′の更新要求３″を発行する。そのため、本店端末１′は、キーボード入力装置、画面表示装置、および印字装置（プリンタ）を備えて構成されている。
【０１３８】
上記支店端末１１は、各支店Ｂｎ，Ｂｓに設置した利用者用の端末装置であり、電子電話帳ＤＢ（本店ＤＢ２′および支店ＤＢ１２″）の更新要求１３を発行する。なお、図示しないが、支店端末１１は、支店ＤＢ１２″の検索が可能であり、支店ＤＢ１２′の停止中には本店ＤＢ２′を遠隔検索することもできる。
【０１３９】
つぎに、各データストアについて説明する。
【０１４０】
上記本店ＤＢ２′は、本店Ｈに設置された電子電話帳ＤＢであり、電子電話帳ＤＢを格納する。本店ＤＢ２′は、主に本店Ｈから検索される。なお、参考例１と異なり、原本という位置付けではない。また、図示しないが、本店ＤＢ２′は、支店ＤＢ１２″の停止中に、支店端末１１から遠隔検索されることもある。さらに、本店ＤＢ２′および支店ＤＢ１２″は内容を反映する対象である情報蓄積装置である。
【０１４１】
上記更新要求３″は、本店ＤＢ２′に対する更新の要求である。本店端末１′から発行されるほか、同期プロセス２１″（後述）からも発行される。
【０１４２】
上記更新履歴５は、更新プロセス４″が処理した更新処理の履歴の蓄積である。更新履歴５は、未反映率の算出プロセス２７″における未反映率の算出、および同期プロセス２１″に用いられる。なお、更新履歴５は本店ＤＢ２′の障害復旧時にも利用される。
【０１４３】
上記最終反映時刻２２は、同期プロセス２１″（後述）による反映を最後に実行した時刻である。最終反映時刻２２は、同期プロセス２１″に着手する都度更新されて、記憶される。
【０１４４】
上記反映間隔２３は、同期プロセス２１″を実行すべき時間の間隔であり、分（minute）単位で表される。反映間隔２３は、反映間隔の調整プロセス２５（後述）によって設定される都度更新されて、記憶される。
【０１４５】
上記未反映率の基準２６は、反映間隔の調整プロセス２５（後述）で反映間隔（頻度）を調整するための基準値、つまり同期プロセス２１″を起動するための基準値を与える。未反映率の基準２６は、利用者によって本店端末１′介して入力・変更（調整）され、記憶される。
【０１４６】
上記支店ＤＢ１２″は、各支店Ｂｎ，Ｂｓに設置された電子電話帳ＤＢである。支店ＤＢ１２″は、参考例１の支店ＤＢ１２′と異なり、更新機能を備えている。なお、図示しないが、支店ＤＢ１２″は、他店のＤＢの停止中には、他店の端末から遠隔検索されることもある。
【０１４７】
上記変更要求１３は、支店ＤＢ１２″に対する更新の要求である。支店端末１１から発行されるほか、同期プロセス２１″（後述）からも発行される。
【０１４８】
上記更新履歴１５は、更新プロセス１４が処理した更新処理の履歴の蓄積である。更新履歴１５は、未反映率の算出プロセス２７″における未反映率の算出、および同期プロセス２１″に用いられる。なお、更新履歴１５は支店ＤＢ１２″の障害復旧時にも利用される。
【０１４９】
つぎに、各プロセスについて説明する。
【０１５０】
上記更新プロセス４″は、更新要求３″に基づいて、本店ＤＢ２′を更新する。そして、更新プロセス４″は、更新要求３″に基づいて、随時実行される。
【０１５１】
上記同期プロセス２１″は、各店ＤＢ相互間で内容の同期を取る。同期プロセス２１″は、本店Ｈに設けられるが、回線を経由して各支店Ｂｎ，Ｂｓの設備を遠隔操作する機能を含んでいる。そして、上記電子電話帳システムでは、同期プロセス２１″を起動する時間間隔を自動調整する。
【０１５２】
この同期プロセス２１″の手順は次のとおりである。まず、本店ＤＢ２′および各支店ＤＢ１２″…を更新禁止にする。つぎに、本店Ｈの更新履歴５および各支店Ｂｎ，Ｂｓの更新履歴１５…から必要な情報を集める。必要な情報とは、前回の同期プロセス２１″の開始より後に処理され、かつ同期プロセス２１″のためでない、更新プロセス４″，１４の履歴である。つづいて、集められた情報に基づき、本店ＤＢ２′および各支店ＤＢ１２″…に対して、必要な挿入、更新、および削除の操作群を特定する。そして、挿入および更新の内容を元の本店ＤＢ２′および各支店ＤＢ１２″…から読み込んだ後、本店ＤＢ２′および各支店ＤＢ１２″…に対して、更新要求３″，１３を発行する。最後に、本店ＤＢ２′および各支店ＤＢ１２″…の更新禁止を解除する。
【０１５３】
上記時間の比較プロセス２４は、最終反映時刻２２から現在までに経過した時間と反映間隔２３とを比較し、前者が後者より小さくなければ同期プロセス２１″を起動する。
【０１５４】
上記反映間隔の調整プロセス２５は、未反映率を基準値と比較して、反映間隔２３を調整する。反映間隔の調整プロセス２５は、後で図８を用いて詳述するが、次の三つの内部処理を含んでいる。すなわち、反映間隔の調整プロセス２５は、未反映率を基準値と比較する内部処理と、未反映率が過小ならば反映間隔２３を増やす内部処理と、未反映率が過大ならば反映間隔２３を減らす内部処理とを含んでいる。そして、未反映率が過大ならば、直ちに同期プロセス２１″を起動する。
【０１５５】
上記未反映率の算出プロセス２７″は、定期的に、各店ＤＢ間の誤差を示す未反映率を求め、フィードバックする。具体的には、本店ＤＢ２′に対する未反映率を、各支店Ｂｎ，Ｂｓの支店ＤＢ１２″…についてそれぞれ求め、その中で最も高い値を、反映間隔の調整プロセス２５へ送る。なお、上記電子電話帳システムでは、支店相互間の未反映率は計算しない。
【０１５６】
上記更新プロセス１４は、更新要求１３に基づいて、支店ＤＢ１２″を更新する。ここで、更新プロセス１４は、更新要求１３に基づいて、随時実行される。つまり、更新プロセス１４のために、ＤＢ検索サービスは停止されない。更新プロセス１４は、支店ＤＢ１２″が更新中でなくかつ更新禁止状態でないときに、変更依頼１３を順次処理する。なお、支店ＤＢ１２″は、同期プロセス２１″の作業中、および負荷が高いときに、更新禁止状態になる。また、更新プロセス１４の休止と起動については、本店Ｈの更新プロセス４″と同様である。
【０１５７】
ここで、更新プロセス４″は、更新要求３″に基づいて、随時実行される。つまり、更新プロセス４″のために、ＤＢ検索サービスは停止されない。更新プロセス４″は、本店ＤＢ２′が更新中でなくかつ更新禁止状態でないときに、更新要求３″を順次処理する。なお、本店ＤＢ２′は、同期プロセス２１″の作業中、および負荷が高いときに、更新禁止状態になる。
【０１５８】
また、更新プロセス４″は、更新要求３″の１件を処理し終わった時点で、休止するかどうかを判断する。まず、未処理の更新要求３″が残っていない場合、または本店ＤＢ２′が更新禁止状態の場合であれば、休止する。そうでなければ、次の更新要求３″の１件を処理する。なお、参考例１では更新プロセス４′が休止する際に未反映率の算出プロセス２７を起動したが、本参考例では更新プロセス４″が休止する際には未反映率の算出プロセス２７″を起動しない。
【０１５９】
更新プロセス４″は、休止状態において、起動するための事象を待ち受けており、本店ＤＢ２′が更新状態状態で、かつ、新しい更新要求３″が入ってくると起動する。
【０１６０】
図８のフローチャートを用いて、上記反映間隔の調整プロセス２５の手順を示す。なお、図８は、実施の形態１で説明した図２のフローチャートに、ステップＳ１２，Ｓ１３を追加したものである。この追加部分は、図７における反映間隔の調整プロセス２５から同期プロセス２１″へ向かう制御フロー（誤差警報）を発生させるものである。
【０１６１】
ステップＳ１２では、未反映率をその時点の警戒基準と比較して、未反映率が基準（未反映率の基準２６）を超過する危険を判定する。そして、未反映率が警戒基準を超過していれば、基準を超過したのと同じ扱いをする。
【０１６２】
上記警戒基準は、以下の式により、監視した時点の現在時刻、最終反映時刻２２、および反映間隔２３の３つの値から計算した係数を、未反映率の基準２６に乗じて算出する。
【０１６３】
警戒基準＝未反映率の基準２６
×（現在時刻−最終反映時刻２２＋反映間隔２３）
÷（２×反映間隔２３）
ここで、反映処理が終了した瞬間には、未反映率はゼロに下がっている。その後、更新要求が処理されるにつれて、未反映率が上昇する。よって、反映処理の各回の間、未反映率は時間とともに上昇する。そのため、未反映率を監視していれば、所定の反映間隔が経過しないうちに未反映率が基準を超過する危険を予測できる。よって、監視した時点で未反映率が警戒基準を超過していれば、所定の反映間隔が経過しないうちに未反映率が基準を超過する危険性が高いと判断できる。
【０１６４】
ステップＳ１３では、未反映率が基準（Ｓ１１）あるいは警戒基準（Ｓ１２）を超えているため、直ちに誤差警報を発行して同期プロセス２１″（反映処理）を開始する。そして、ステップＳ１６′へ移行して、反映間隔２３を縮める。具体的には、未反映率（誤差）が反映間隔２３に比例するものと考え、未反映率とその基準との比率によって調整する。すなわち、未反映率が基準のＦ倍であれば、反映間隔２３をＦ分の１にする。ただし、ステップＳ１６′中のＴは以下の式で与えられるものとする。
【０１６５】
Ｔ＝ｍｉｎ（反映間隔２３，最終反映時刻２２−現在時刻）
なお、ステップＳ１２，Ｓ１３，Ｓ１６′以外のステップは、図２と同じであるので説明を省略する。また、フローチャート中の各ステップにおける演算式は一例であり、これに限定されない。
【０１６６】
ここで、本参考例は、ある時期に更新要求が到着するペースがある程度一定していることを前提としている。仮に、更新要求が完全に一定のペースで到着するならば、警戒基準は以下の簡略化された式で求めることができる。
【０１６７】
警戒基準＝未反映率の基準２６
×（現在時刻−最終反映時刻２２）÷反映間隔２３
しかし、実際の更新要求はランダムに到着するものであり、この点を考慮した予測を行うために警戒基準を利用している。そのため、予測に用いるサンプル数を考慮する必要がある。前回の反映処理から現在までの時間が短ければ短い程、サンプル数は少なくなる。そして、この状況で上記の簡略化された式により警戒基準を求めると、誤差警報が誤報となる危険性が高くなる。また、前回の反映処理から現在までの時間が短ければ短い程、基準までには余裕があるはずであり、警戒基準を緩くすることができる。これによって、誤報を避けることができる。上記ステップＳ１２における警戒基準の式は、この考え方に基づいて決められている。
【０１６８】
また、実施の形態１では、反映処理（インデックス化プロセス２１）が未反映率の算出プロセス２７を駆動するが、これらは原本（文書ファイル群２）の書換えとは独立であった。また、参考例１では、本店ＤＢ２′（原本）の更新が、未反映率の算出プロセス２７および未反映率の比較プロセス２８を駆動する。そして、未反映率の比較プロセス２８が反映処理（複製プロセス２１′）を駆動していた。
【０１６９】
これに対して、本参考例では、未反映率の算出プロセス２７″を起動するタイミングが２通り可能であり、どちらもＤＢの更新とは独立である。一つは、実施の形態１と同様、反映処理（同期プロセス２１″）のタイミングである。もう一つは、時間の比較プロセス２４による所定の時間間隔（以下、「監視間隔」と記す。）である。本参考例では、反映間隔２３の８分の１の間隔で未反映率の算出プロセス２７″を起動する。
【０１７０】
ここで、上記監視間隔は反映間隔２３より短い任意の時間間隔である。実験によれば、監視間隔が長い程、欠陥（未反映率が基準を超過する現象）が多発するが、監視間隔を反映間隔の８分の１以下に設定しても欠陥を減らす効果は上がらなかった。そこで、本参考例では、この実験結果に基づいて、監視間隔を反映間隔の８分の１に設定している。
【０１７１】
なお、本参考例では、反映間隔２３の自動調整を行っているが、上記監視間隔の自動調整を行うことも可能である。すなわち、未反映率によって反映間隔２３を制御するのと同様に、欠陥発生率によって監視間隔を制御することが可能である。
【０１７２】
また、実施の形態１および参考例１、２とも、反映時期の自動制御方法は、現在の未反映率を基準値と比較することだが、比較結果の扱い方が異なる。実施の形態１では、比較結果によって反映間隔を加減するという、間接的な方法である。参考例１では、比較結果によって反映処理を開始するかどうか判断するという、直接的な方法である。そして、本参考例では、両者を併用している。
【０１７３】
本参考例に係るデータベースシステムは、複数の情報蓄積装置の相互間で、内容の一部又は全部を同一に保ち、一部の情報蓄積装置になされた書換えを、間欠的に他へ反映するとともに、反映処理の時期を自動制御する。
【０１７４】
また、本参考例に係るデータベースシステムは、反映処理が間欠的であるために情報蓄積装置群の相互間に生ずる誤差の度合いを、計算もしくは推定し、求めた誤差の過去一回以上の値を時期を制御する指標として用いる。
【０１７５】
さらに、本参考例に係るデータベースシステムは、ある情報蓄積装置に蓄積された内容のうち、書換えがまだ他の情報蓄積装置へ反映されていないものの比率を計算もしくは推定し情報蓄積装置群の相互間に生ずる誤差を表す指標として、上記の比率を用いる。
【０１７６】
加えて、本参考例に係るデータベースシステムは、ある情報蓄積装置に蓄積された内容のうち、書換えがまだ他の情報蓄積装置へ反映されていないものの比率を計算もしくは推定しフィードバックする処理について、上記の処理を行う。
【０１７７】
以上のように、本発明に係るデータベースシステムは、同期処理（反映処理）の時期を、利用者の手動操作あるいは単純な一定時間間隔とせず、状況に応じて動的に制御することによって、情報の同一性と装置の負荷という相反する二つの要素のバランスを最適に維持できる。
【０１７８】
すなわち、本発明に係るデータベースシステムの制御方法は、情報蓄積装置間の反映処理の時期を、利用者の手動操作あるいは単純な一定時間間隔とせず、状況に応じて時期を動的に制御する。具体的には、上記データベースシステムの制御方法は、所定の条件または計算によって反映の時間間隔を加減し、あるいは、所定の条件を満たしたときに反映を開始し、あるいは、所定の条件を満たさないときには反映を開始しないように、反映処理の時期を自動制御する。しがたって、情報の精度と装置の負荷という相反する二つの要素のバランスを最適に維持できる。
【０１７９】
また、本発明に係るデータベースシステムの制御方法は、情報蓄積装置群の相互間に生ずる誤差の度合いによって、反映の時期を制御する。そのために、上記データベースシステムは、読み出しまたは検索の結果／現状で実行した結果／書換えた結果をすべて反映したうえで実行した結果と比べたときに、どれぐらい誤りが生ずるかを、計算もしくは推定する。このとき、実際に実行して比較するかもしくは実際に実行するより負荷の軽い方法で誤差の度合いを求める。そして、その計算値もしくは推定値に基づいて、反映の時期を制御する。
【０１８０】
そして、具体的な反映時期の制御方法としては、例えば、インデックスの誤差が所定の範囲内に収まるように反映の時間間隔を加減する方法、誤差が所定の基準を超えたときに反映を開始する方法、誤差が所定の基準に収まるときには反映を開始しない方法等がある。
【０１８１】
本発明に係るデータベースシステムの制御方法は、ある情報蓄積装置に蓄積された内容のうち、書換えがまだ他の情報蓄積装置へ反映されていないものの比率を、計算もしくは推定する方法を含んでいてもよい。そして、この比率を、上記の「情報蓄積装置群の相互間に生ずる誤差の度合い」を表す指標として用いることができる。
【０１８２】
これにより、上記データベースシステムは、複数の情報蓄積装置群において、ある情報蓄積装置になされた書換えを、繰り返し他へ反映するとともに、反映処理を実行する時期を自動制御することができる。
【０１８３】
本発明に係るデータベースシステムは、複数の情報蓄積装置群において、ある情報蓄積装置になされた書換えを、繰り返し他へ反映する手段と、その手段を用いて反映処理を実行する時期を自動制御する手段とを備えている。あるいは、上記データベースシステムは、反映処理の時期を自動制御する手段を備えている。あるいは、上記データベースシステムは、反映処理が間欠的であるために情報蓄積装置群の相互間に生ずる誤差の度合いを計算もしくは推定する手段と、それを自動制御のためにフィードバックする手段を備えている。あるいは、上記データベースシステムは、ある情報蓄積装置に蓄積された内容のうち、書換えがまだ他の情報蓄積装置へ反映されていないものの比率を計算もしくは推定する手段と、それを自動制御のためにフィードバックする手段とを備えている。なお、これらの手段は、前記の対応する制御方法を実行するものである。
【０１８４】
本発明に係るデータベースシステムの制御方法を記録した記録媒体は、前記の方法を実行するプログラムをコンピュータにより実行可能に記憶している。そして、このプログラムを読み取ることによって記憶を再現し、再現したプログラムを一台あるいはそれ以上の情報処理装置によって実行することが可能である。このようにして実行することによって、本発明の目的を達成することができる。
【０１８５】
また、上記記録媒体は、データベースシステムにおいて、反映を行う時期を自動制御する方法を実行するプログラムを記憶している。そして、このプログラムを読み取ることによって記憶を再現し、再現したプログラムを一台あるいはそれ以上の情報処理装置によって、つぎに述べる手段と組み合わせて実行することが可能である。その手段とは、その装置に固有の手段（プログラムを含む）または何らかの媒体から読み取ったプログラムを実行することによって実現されるものであり、両手段を組み合わせて実行することによって、本発明の目的を達成することができる。
【０１８６】
また、上記記録媒体は、データベースシステムにおいて、反映処理が間欠的であるために情報蓄積装置群の相互間に生ずる誤差の度合いを計算もしくは推定し、フィードバックする方法を実行するプログラムを記憶している。そして、このプログラムを読み取ることによって記憶を再現し、再現したプログラムを一台あるいはそれ以上の情報処理装置によって、つぎに述べる手段と組み合わせて実行することが可能である。その手段とは、その装置に固有の手段（プログラムを含む）または何らかの媒体から読み取ったプログラムを実行することによって実現されるものであり、両手段を組み合わせて実行することによって、本発明の目的を達成することができる。
【０１８７】
また、上記記録媒体は、データベースシステムにおいて、ある情報蓄積装置に蓄積された内容のうち、書換えがまだ他の情報蓄積装置へ反映されていないものの比率を計算または推定し、フィードバックする方法を実行するプログラムを記憶している。そして、このプログラムを読み取ることによって記憶を再現し、再現したプログラムを一台あるいはそれ以上の情報処理装置によって、つぎに述べる手段と組み合わせて実行することが可能である。その手段とは、その装置に固有の手段（プログラムを含む）または何らかの媒体から読み取ったプログラムを実行することによって実現されるものであり、両手段を組み合わせて実行することによって、本発明の目的を達成することができる。
【０１８８】
なお、本参考例は本発明の範囲を限定するものではなく、本発明の範囲内で種々の変更が可能であり、例えば、以下のように構成することができる。
【０１８９】
本発明に係るデータベースシステムの制御方法は、複数の情報蓄積装置群において、一部の情報蓄積装置になされた書換えを、間欠的に他へ反映する方法であって、反映処理の時期を自動制御する方法であってもよい。
【０１９０】
これにより、上記データベースシステムは、情報蓄積装置間の反映処理の時期を、利用者の手動操作あるいは単純な一定時間間隔とせず、状況に応じて動的に制御することによって、情報の精度と装置の負荷という相反する二つの要素のバランスを最適に維持できる。
【０１９１】
本発明に係るデータベースシステムの制御方法は、一つ以上の情報蓄積装置を対象とする検索の便宜を図るために、検索補助用の情報を生成し、別の一つ以上の情報蓄積装置に蓄える方法であって、検索対象の情報蓄積装置になされた書換えを、間欠的に検索補助用の情報へ反映する方法であって、反映処理の時期を自動制御する方法であってもよい。
【０１９２】
これにより、上記データベースシステムは、検索対象から検索補助情報への反映処理の時期を、利用者の手動操作あるいは単純な一定時間間隔とせず、状況に応じて動的に制御することによって、検索の品質と装置の負荷という相反する二つの要素のバランスを最適に維持できる。
【０１９３】
本発明に係るデータベースシステムの制御方法は、一つ以上の情報蓄積装置に蓄えられた、原本となる内容の一部または全部を複製し、他の一つ以上の情報蓄積装置に蓄える方法であり、原本になされた書換えを、間欠的に複製へ反映する方法であって、複製処理（反映処理）の時期を自動制御する方法であってもよい。
【０１９４】
これにより、上記データベースシステムは、複製処理（反映処理）の時期を、利用者の手動操作あるいは単純な一定時間間隔とせず、状況に応じて動的に制御することによって、情報の同一性と装置の負荷という相反する二つの要素のバランスを最適に維持できる。
【０１９５】
本発明に係るデータベースシステムの制御方法は、複数の情報蓄積装置の相互間で、内容の一部または全部を同一に保つ方法であり、一部の情報蓄積装置になされた書換えを、間欠的に他へ反映する方法であって、同期処理（反映処理）の時期を自動制御する方法であってもよい。
【０１９６】
これにより、上記データベースシステムは、同期処理（反映処理）の時期を、利用者の手動操作あるいは単純な一定時間間隔とせず、状況に応じて動的に制御することによって、情報の同一性と装置の負荷という相反する二つの要素のバランスを最適に維持できる。
【０１９７】
本発明に係るデータベースシステムの制御方法は、上記反映処理が間欠的であるために情報蓄積装置群の相互間に生ずる誤差の度合いを、計算もしくは推定によって求めるとともに、求めた誤差の過去一回以上の値を時期を制御する指標として用いる方法であってもよい。
【０１９８】
これにより、上記データベースシステムは、上記反映処理の時期を制御する指標として、反映処理が間欠的であるために情報蓄積手段群の相互間に生ずる誤差の度合いを用いることによって、情報の精度を適切に評価し、装置の負荷とのバランスを最適に維持できる。
【０１９９】
本発明に係るデータベースシステムの制御方法は、ある情報蓄積装置に蓄積された内容のうち、書換えがまだ他の情報蓄積装置へ反映されていないものの比率を、計算もしくは推定するとともに、情報蓄積装置群の相互間に生ずる誤差を表す指標として、上記の比率を用いる方法であってもよい。
【０２００】
これにより、上記データベースシステムは、反映処理の時期を制御する指標として、未反映率を用いることによって、反映処理が間欠的であるために情報蓄積装置群の相互間に生ずる誤差の度合いを比較的低コストで適切に評価することができる。
【０２０１】
本発明に係るデータベースシステムの制御方法を記憶した記録媒体は、前記の制御方法を実行するプログラムを記憶していてもよい。これにより、前記の制御方法を、特定の一台の情報処理装置に内蔵した形態のみならず、特定の一台の情報処理装置から前記制御方法を実行するプログラムを切り離して独立した記録媒体の形態にすることによって、保存、運搬、配布、および流通させることが可能になる。
【０２０２】
すなわち、上記記録媒体は、反映処理の時期の自動制御について、前記の自動制御方法を実行するプログラムを記憶していてもよい。そして、上記データベースシステムは、上記記録媒体に記憶された前記の自動制御方法のプログラムを実行することによって、前記の自動制御方法を実現するものであってもよい。
【０２０３】
上記記録媒体によれば、前記自動制御の方法を、特定の一台の情報処理装置に内蔵した形態のみならず、特定の一台の情報処理装置から前記自動制御の方法を実行するプログラムを切り離して独立した記録媒体の形態にすることによって、保存、運搬、配布、販売等が可能になる。また、前記自動制御の方法を、反映方法の一部という形態のみならず、特定の反映方法から前記自動制御の方法を実行するプログラムを切り離して独立した記録媒体の形態での保存、運搬、配布、販売等が可能になる。また、特定の反映方法から前記自動制御の方法を行う装置を切り離した設計、製造等が可能になる。また、切り離すことによって、複数の反映方法と複数の自動制御の方法を任意に組み合わせることが可能になる。
【０２０４】
同様に、上記記録媒体は、反映処理が間欠的であるために情報蓄積装置群の相互間に生ずる誤差の度合いを、計算もしくは推定し、フィードバックする処理について、前記の誤差取扱いの方法を実行するプログラムを記憶していてもよい。そして、上記データベースシステムは、上記記録媒体に記憶された前記の誤差取扱い方法のプログラムを実行することによって、前記の誤差取扱い方法を実現するものであってもよい。なお、上記記録媒体による効果は、前記の自動制御の方法に準じ、自動制御の方法を誤差取扱いの方法と読みかえたものとなる。
【０２０５】
同様に、上記記録媒体は、ある情報蓄積装置に蓄積された内容のうち、書換えがまだ他の情報蓄積装置へ反映されていないものの比率を、計算もしくは推定し、フィードバックする処理について、前記の未反映率取扱いの方法を実行するプログラムを記憶していてもよい。そして、上記データベースシステムは、上記記録媒体に記憶された前記の未反映率取扱いの方法のプログラムを実行することによって、前記の未反映率取扱いの方法を実現するものであってもよい。なお、上記記録媒体による効果は、前記の自動制御の方法に準じ、自動制御の方法を未反映率取扱いの方法と読みかえたものとなる。
【０２０６】
最後に、上記の各実施の形態で説明したデータベースシステムは、複数の機器（例えば、ホストコンピュータ、端末コンピュータ、インタフェース機器、ネットワーク機器、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、携帯型コンピュータ、ワープロ装置など）に適用してもよい。
【０２０７】
また、本発明の目的は、上述した機能を実現するソフトウェアであるプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。この場合、記録媒体から読み出されたプログラムコード自体が上述した機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０２０８】
上記プログラムコードを供給するための記録媒体は、システムあるいは装置と分離可能に構成することができる。また、上記記録媒体は、プログラムコードを供給可能であるように固定的に担持する媒体であってもよい。そして、上記記録媒体は、記録したプログラムコードをコンピュータが直接読み取ることができるようにシステムあるいは装置に装着されるものであっても、外部記憶装置としてシステムあるいは装置に接続されたプログラム読み取り装置を介して読み取ることができるように装着されるものであってもよい。
【０２０９】
例えば、上記記録媒体としては、磁気テープやカセットテープ等のテープ系、フロッピーディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【０２１０】
また、上記プログラムコードは、コンピュータが記録媒体から読み出して直接実行できるように記録されていてもよいし、記録媒体から主記憶のプログラム記憶領域へ転送された後コンピュータが主記憶から読み出して実行できるように記録されていてもよい。
【０２１１】
さらに、上記記録媒体は、通信ネットワーク等を介してプログラムコードを供給可能であるように流動的に担持する媒体であってもよい。この場合、システムあるいは装置を通信ネットワーク（インターネット等を含む）と接続可能に構成し、上記プログラムコードを通信ネットワークからダウンロードすることにより供給することができる。
【０２１２】
なお、プログラムコードを記録媒体から読み出して主記憶に格納するためのプログラム、および、通信ネットワークからプログラムコードをダウンロードするためのプログラムは、コンピュータによって実行可能にあらかじめシステムあるいは装置に格納されているものとする。
【０２１３】
上述した機能は、コンピュータが読み出した上記プログラムコードを実行することによって実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行うことによっても実現される。
【０２１４】
さらに、上述した機能は、上記記録媒体から読み出された上記プログラムコードが、コンピュータに装着された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行うことによっても実現される。
【０２１５】
【発明の効果】
本発明のデータベースシステムは、以上のように、第１の情報蓄積装置と、第２の情報蓄積装置と、第１の情報蓄積装置に対して行われた変更を、間欠的に第２の情報蓄積装置へ反映する反映手段と、第１の情報蓄積装置の内容と第２の情報蓄積装置の内容との誤差の程度に応じて、上記反映手段の起動を制御する反映制御手段とを備えている構成である。
【０２１６】
また、本発明のデータベースシステムの制御方法は、以上のように、第１の情報蓄積装置と第２の情報蓄積装置とを備えたデータベースシステムの制御方法であって、第１の情報蓄積装置に対して行われた変更を、間欠的に第２の情報蓄積装置へ反映する反映処理と、第１の情報蓄積装置の内容と第２の情報蓄積装置の内容との誤差の程度に応じて、上記反映処理の起動を制御する反映制御処理とを含んでいる方法である。
【０２１７】
また、本発明のコンピュータ読み取り可能な記録媒体は、以上のように、第１の情報蓄積装置と第２の情報蓄積装置とを備えたデータベースシステムを制御するための制御プログラムを記録したコンピュータ読み取り可能な記録媒体であって、第１の情報蓄積装置に対して行われた変更を、間欠的に第２の情報蓄積装置へ反映する反映処理と、第１の情報蓄積装置の内容と第２の情報蓄積装置の内容との誤差の程度に応じて、上記反映処理の起動を制御する反映制御処理とを、コンピュータに実行させるためのプログラムを記録している構成である。
【０２１８】
それゆえ、上記データベースシステムでは、反映制御処理によって、第１の情報蓄積装置の内容と第２の情報蓄積装置の内容との誤差の程度（未反映率）に応じて、反映処理の起動が制御される。
【０２１９】
よって、上記データベースシステムでは、未反映率を算出する負荷が、反映処理の負荷と比べて、ほとんど無視できる場合に、反映処理の起動を直接的かつ単純に自動制御することができる。
【０２２０】
したがって、複数の情報蓄積装置（データベース等）群の間で、一定の誤差を許容しつつ、内容を同一化するデータベースシステムにおいて、反映処理の時期を、利用者の手動操作あるいは単純な一定時間間隔とせず、状況に応じて動的に制御することによって、情報の同一性と装置の負荷という相反する二つの要素のバランスを最適に維持できるという効果を奏する。
【０２２１】
本発明のデータベースシステムは、以上のように、さらに、上記反映制御手段は、第１の情報蓄積装置の内容と第２の情報蓄積装置の内容との誤差の程度に基づいて、上記反映手段を間欠的に起動する反映間隔を設定する反映間隔設定手段を備えている構成である。
【０２２２】
また、本発明のデータベースシステムの制御方法は、以上のように、さらに、上記反映制御処理は、第１の情報蓄積装置の内容と第２の情報蓄積装置の内容との誤差の程度に基づいて、上記反映処理を間欠的に起動する反映間隔を設定する反映間隔設定処理を含んでいる方法である。
【０２２３】
また、本発明のコンピュータ読み取り可能な記録媒体は、以上のように、さらに、上記プログラムは、上記反映制御処理が、第１の情報蓄積装置の内容と第２の情報蓄積装置の内容との誤差の程度に基づいて、上記反映処理を間欠的に起動する反映間隔を設定する反映間隔設定処理を含んでいる構成である。
【０２２４】
それゆえ、さらに、上記データベースシステムでは、反映間隔設定処理によって、第１の情報蓄積装置の内容と第２の情報蓄積装置の内容との誤差の程度（未反映率）に応じて、反映間隔を設定して、反映間隔ごとに反映処理が起動するように制御することが可能になる。
【０２２５】
よって、上記データベースシステムでは、未反映率を算出する負荷が反映処理の負荷と比べて無視できない場合に、反映間隔を加減するという間接的な方法によって、反映時期を自動制御することができる。
【０２２６】
したがって、複数の情報蓄積装置（データベース等）群の間で、一定の誤差を許容しつつ、内容を同一化するデータベースシステムにおいて、反映処理の時期を、利用者の手動操作あるいは単純な一定時間間隔とせず、状況に応じて動的に制御することによって、過剰頻度による設備への過負荷や、過少頻度による情報精度の低下を防ぎながら、情報の同一性と装置の負荷という相反する二つの要素のバランスを最適に維持できるという効果を奏する。
【図面の簡単な説明】
【図１】  本発明の一実施の形態に係るデータベースシステムを適用した文書編集装置の機能の概略を示すデータフロー図である。
【図２】  図１に示した文書編集装置の反映間隔の調整プロセスの手順を示すフローチャートである。
【図３】  本発明の参考例に係るデータベースシステムを適用した電子電話帳システムの機能の概略を示すデータフロー図である。
【図４】  図３に示した電子電話帳システムの未反映率の比較プロセスの手順を示すフローチャートである。
【図５】  図３に示した電子電話帳システムの全体の構成の平常時の機能の概略を示すデータフロー図である。
【図６】  図３に示した電子電話帳システムの全体の構成の故障時または保守作業時の機能の概略を示すデータフロー図である。
【図７】  本発明の他の参考例に係るデータベースシステムを適用した電子電話帳システムの機能の概略を示すデータフロー図である。
【図８】  図７に示した電子電話帳システムの反映間隔の調整プロセスの手順を示すフローチャートである。
【図９】  図７に示した電子電話帳システムの全体の構成の機能の概略を示すデータフロー図である。
【図１０】  本発明の一従来例に係る文書編集装置の機能の概略を示すデータフロー図である。
【図１１】  本発明の他の従来例に係る仕入先データベースシステムの機能の概略を示すデータフロー図である。
【図１２】  図１１に示した仕入先データベースシステムの全体の構成の機能の概略を示すデータフロー図である。
【図１３】  本発明のさらに他の従来例に係る電子電話帳システムの平常時の機能の概略を示すデータフロー図である。
【図１４】  図１３および図１５に示した電子電話帳システムの全体の構成の故障時または保守作業時の機能の概略を示すデータフロー図である。
【図１５】  本発明のさらに他の従来例に係る電子電話帳システムの平常時の機能の概略を示すデータフロー図である。
【符号の説明】
２    文書ファイル群（第１の情報蓄積装置）
２′  本店ＤＢ（第１の情報蓄積装置）
１２    インデックス（第２の情報蓄積装置）
１２′  支店ＤＢ（複製）（第２の情報蓄積装置）
１２″  支店ＤＢ（第２の情報蓄積装置）
２１    インデックス化プロセス（反映手段、反映処理）
２１′  複製プロセス（反映手段、反映処理）
２１″  同期プロセス（反映手段、反映処理）
２３    反映間隔
２４    時間の比較プロセス（反映制御手段、反映制御処理）
２５    反映間隔の調整プロセス（反映間隔設定手段、反映間隔設定処理）
２８    未反映率の比較プロセス（反映制御手段、反映制御処理）
【図１】
0003751476.tif 000002
【図２】
0003751476.tif 000003
【図３】
0003751476.tif 000004
【図４】
0003751476.tif 000005
【図５】
0003751476.tif 000006
【図６】
0003751476.tif 000007
【図７】
0003751476.tif 000008
【図８】
0003751476.tif 000009
【図９】
0003751476.tif 000010
【図１０】
0003751476.tif 000011
【図１１】
0003751476.tif 000012
【図１２】
0003751476.tif 000013
【図１３】
0003751476.tif 000014
【図１４】
0003751476.tif 000015
【図１５】
0003751476.tif 000016