(57)【要約】【課題】文書が操作を受けて派生する中で、過去の操作において登録された関連文書も記録することができる装置を提供する。【解決手段】文書に対して操作を行うごとに、その操作に一意な操作ＩＤを付与し、属性ＤＢに登録する。操作ＩＤ「ID1」に対応づけられた文書に操作を行うと、その操作に付与された操作ＩＤ「ID2」の親操作ＩＤとして「ID1」が登録される。文書に対する操作において、その文書の関連文書を設定できる。関連文書は、属性ＤＢに登録された操作ＩＤの形で設定される。設定された関連文書が属性ＤＢに未登録であれば、これを登録して操作ＩＤを取得し、関連文書情報に登録する。このように、各操作の操作ＩＤに対応づけて、その操作で設定された関連文書の識別情報（操作ＩＤ）が属性ＤＢに保存される。【選択図】図５
2010073012.tif 000002
【特許請求の範囲】
【請求項１】
文書の新規登録操作がなされた場合に、当該新規登録操作に対して付与された一意な操作識別子を前記文書と対応づけて記憶装置に登録する第１の登録手段と、
前記記憶装置に登録された第１の操作識別子に対応する第１の文書に対して操作が行われた場合に、当該操作に対して付与された一意な第２の操作識別子が前記第１の操作識別子から派生したことを示す派生関係を前記記憶装置に登録すると共に、当該操作の結果前記第１の文書とは異なる第２の文書が生成された場合には、前記第２の操作識別子を前記第２の文書と対応づけて前記記憶装置に登録する第２の登録手段と、
前記第１の操作識別子に対応する前記第１の文書に対する操作が、前記第１の文書に対する関連文書の設定操作である場合に、前記関連文書と対応づけて前記記憶装置に登録されている第３の操作識別子を、前記設定操作に対して付与された前記第２の操作識別子の関連文書属性として前記記憶装置に登録する関連文書登録手段と、
を備える文書管理装置。
【請求項２】
第４の操作識別子を含んだ関連文書検索要求に応じて、当該第４の操作識別子の関連文書属性、又は当該第４の操作識別子を起点に前記派生関係群を派生元の方向に遡って到達する第５の操作識別子の関連文書属性、に設定された第６の操作識別子を検索する関連文書検索手段と、
前記関連文書検索手段が検索した操作識別子又は当該操作識別子に対応づけて登録された文書を前記関連文書検索要求の要求元に提供する提供手段と、
を更に備える請求項１に記載の文書管理装置。
【請求項３】
前記関連文書登録手段は、前記関連文書が前記記憶装置に登録されていない場合、前記関連文書の新規登録操作を行い、当該新規登録操作に対応して前記第１の登録手段が付与した第３の操作識別子を、前記設定操作に対して付与された前記第２の操作識別子の関連文書属性として前記記憶装置に登録する、ことを特徴とする請求項１又は２に記載の文書管理装置。
【請求項４】
前記関連文書検索手段は、前記記憶装置に記憶された派生関係群を、前記第６の操作識別子から派生先の方向に辿って到達する第７の操作識別子を更に検索する、ことを特徴とする請求項２に記載の文書管理装置。
【請求項５】
前記関連文書登録手段は、前記関連文書の設定操作に対応づけて、継承の有無を示す継承属性の指定を受け付け、受け付けた継承属性を前記設定操作に対して付与された前記第２の操作識別子の継承属性として前記記憶装置に登録し、
前記関連文書検索手段は、前記第４の操作識別子を含んだ関連文書検索要求に応じて、該第４の操作識別子を起点に前記派生関係群を派生元の方向に遡る過程で、前記継承属性が継承無しである操作識別子に最初に到達するまで遡り、当該操作識別子を越えては遡らないことを特徴とする請求項２に記載の文書管理装置。
【請求項６】
コンピュータを、
文書の新規登録操作がなされた場合に、当該新規登録操作に対して付与された一意な操作識別子を前記文書と対応づけて記憶装置に登録する第１の登録手段、
前記記憶装置に登録された第１の操作識別子に対応する第１の文書に対して操作が行われた場合に、当該操作に対して付与された一意な第２の操作識別子が前記第１の操作識別子から派生したことを示す派生関係を前記記憶装置に登録すると共に、当該操作の結果前記第１の文書とは異なる第２の文書が生成された場合には、前記第２の操作識別子を前記第２の文書と対応づけて前記記憶装置に登録する第２の登録手段、
前記第１の操作識別子に対応する前記第１の文書に対する操作が、前記第１の文書に対する関連文書の設定操作である場合に、前記関連文書と対応づけて前記記憶装置に登録されている第３の操作識別子を、前記設定操作に対して付与された前記第２の操作識別子の関連文書属性として前記記憶装置に登録する関連文書登録手段、
として機能させるためのプログラム。
【請求項７】
情報処理装置と文書管理装置とを含み、
前記情報処理装置は、
文書に対する新規登録操作を受けた場合に、当該新規登録操作に対して付与した操作識別子を当該文書と対応づけて前記文書管理装置に送信する第１の送信手段と、
第１の操作識別子に対応づけられた第１の文書に対して操作が行われた場合に、当該操作に対して付与した第２の操作識別子が前記第１の操作識別子から派生したことを示す派生関係の情報を前記文書管理装置に送信するとともに、当該操作の結果前記第１の文書とは異なる第２の文書が生成された場合には、前記第２の操作識別子を前記第２の文書と対応づけて前記文書管理装置に送信する第２の送信手段と、
前記第１の操作識別子に対応する前記第１の文書に対する操作が、前記第１の文書に対する関連文書の設定操作である場合に、前記関連文書に対応づけられた第３の操作識別子を、前記設定操作に対して付与された前記第２の操作識別子の関連文書属性として前記文書管理装置に送信する関連文書属性送信手段と、
を備え、
前記文書管理装置は、
前記情報処理装置から、文書の新規登録操作に対して付与した操作識別子を当該文書と対応づけて受信した場合に、前記操作識別子を前記文書と対応づけて記憶装置に登録する第１の登録手段と、
前記情報処理装置から、第２の操作識別子が第１の操作識別子から派生したことを示す派生関係の情報を受信した場合には当該派生関係の情報を前記記憶装置に登録するとともに、前記第２の操作識別子を第２の文書と対応づけて受信した場合には前記第２の操作識別子を前記第２の文書と対応づけて前記記憶装置に登録する第２の登録手段と、
前記第１の操作識別子に対応する前記第１の文書に対する操作が、前記第１の文書に対する関連文書の設定操作である場合に、前記情報処理装置から前記設定操作に対して付与された前記第２の操作識別子の関連文書属性として前記関連文書と対応づけられた第３の操作識別子を受信した場合に、当該第３の操作識別子を前記第２の操作識別子の関連文書属性として前記記憶装置に登録する関連文書登録手段と、
を備える、
ことを特徴とする文書管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書管理装置、文書管理システム及びプログラムに関する。
【背景技術】
【０００２】
特許文献１に示されるシステムでは、電子文書に対してユーザから副本ＩＤを伴う要求を受け取ると、文書管理サーバは、その要求が示す操作を実行し、新たな副本ＩＤをそのユーザに返す。そして、その新たな副本ＩＤを受け取った副本ＩＤの子とする派生関係を記録する。ユーザから更新要求があった場合は、その要求が示す更新内容を副本ＩＤに対応づけて記録する。ユーザから電子文書の閲覧要求を受けた場合、その閲覧要求に伴う副本ＩＤを起点に派生関係を遡り、その遡及過程で見つかった更新内容を反映した文書データを提供する。
【０００３】
特許文献２には、文書を保存するときに関連文書情報を記録しておくと文書の呼び出し時に表示される関連文書情報リストに含めることができる情報処理装置が開示されている。
【０００４】
特許文献３には、異なるテーブルで管理されるファイルの関連付けをするために共通索引管理テーブルを設け、あるファイルを更新したり削除したりした場合は、共通索引管理テーブルを調べ、該当する箇所を更新したり削除したりすることによってリンク関係が矛盾しないようにするデータ管理装置が開示されている。
【０００５】
特許文献４には、文書間の対応関係を文書名とバージョン関係とともに記録しておき、ある文書を更新した場合、必要に応じて、関連する文書との参照関係も更新するようなデータ版管理システムが開示されている。
【０００６】
【特許文献１】特開２００８−００３８４６号公報
【特許文献２】特開平８−３３５２２１号公報
【特許文献３】特開平９−３０５４６２号公報
【特許文献４】特開平７−１１０７５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
文書に対して関連文書情報を記録する方式では、例えば文書が何度も改訂された場合に最新版の文書の関連文書は関連文書情報から知ることができるが、過去の版の関連文書は知ることができない。
【０００８】
本発明は、文書が操作を受けて派生する中で、過去の操作において登録された関連文書も記録することができる装置を提供する。
【課題を解決するための手段】
【０００９】
請求項１に係る発明は、文書の新規登録操作がなされた場合に、当該新規登録操作に対して付与された一意な操作識別子を前記文書と対応づけて記憶装置に登録する第１の登録手段と、前記記憶装置に登録された第１の操作識別子に対応する第１の文書に対して操作が行われた場合に、当該操作に対して付与された一意な第２の操作識別子が前記第１の操作識別子から派生したことを示す派生関係を前記記憶装置に登録すると共に、当該操作の結果前記第１の文書とは異なる第２の文書が生成された場合には、前記第２の操作識別子を前記第２の文書と対応づけて前記記憶装置に登録する第２の登録手段と、前記第１の操作識別子に対応する前記第１の文書に対する操作が、前記第１の文書に対する関連文書の設定操作である場合に、前記関連文書と対応づけて前記記憶装置に登録されている第３の操作識別子を、前記設定操作に対して付与された前記第２の操作識別子の関連文書属性として前記記憶装置に登録する関連文書登録手段と、を備える文書管理装置である。
【００１０】
請求項２に係る発明は、請求項１に係る発明において、第４の操作識別子を含んだ関連文書検索要求に応じて、当該第４の操作識別子の関連文書属性、又は当該第４の操作識別子を起点に前記派生関係群を派生元の方向に遡って到達する第５の操作識別子の関連文書属性、に設定された第６の操作識別子を検索する関連文書検索手段と、前記関連文書検索手段が検索した操作識別子又は当該操作識別子に対応づけて登録された文書を前記関連文書検索要求の要求元に提供する提供手段と、を更に備える。
【００１１】
請求項３に係る発明は、請求項１又は２に係る発明において、前記関連文書登録手段は、前記関連文書が前記記憶装置に登録されていない場合、前記関連文書の新規登録操作を行い、当該新規登録操作に対応して前記第１の登録手段が付与した第３の操作識別子を、前記設定操作に対して付与された前記第２の操作識別子の関連文書属性として前記記憶装置に登録する、ことを特徴とする。
【００１２】
請求項４に係る発明は、請求項２に係る発明において、前記関連文書検索手段は、前記記憶装置に記憶された派生関係群を、前記第６の操作識別子から派生先の方向に辿って到達する第７の操作識別子を更に検索する、ことを特徴とする。
【００１３】
請求項５に係る発明は、請求項２に係る発明において、前記関連文書登録手段は、前記関連文書の設定操作に対応づけて、継承の有無を示す継承属性の指定を受け付け、受け付けた継承属性を前記設定操作に対して付与された前記第２の操作識別子の継承属性として前記記憶装置に登録し、前記関連文書検索手段は、前記第４の操作識別子を含んだ関連文書検索要求に応じて、該第４の操作識別子を起点に前記派生関係群を派生元の方向に遡る過程で、前記継承属性が継承無しである操作識別子に最初に到達するまで遡り、当該操作識別子を越えては遡らないことを特徴とする。
【００１４】
請求項６に係る発明は、コンピュータを、文書の新規登録操作がなされた場合に、当該新規登録操作に対して付与された一意な操作識別子を前記文書と対応づけて記憶装置に登録する第１の登録手段、前記記憶装置に登録された第１の操作識別子に対応する第１の文書に対して操作が行われた場合に、当該操作に対して付与された一意な第２の操作識別子が前記第１の操作識別子から派生したことを示す派生関係を前記記憶装置に登録すると共に、当該操作の結果前記第１の文書とは異なる第２の文書が生成された場合には、前記第２の操作識別子を前記第２の文書と対応づけて前記記憶装置に登録する第２の登録手段、前記第１の操作識別子に対応する前記第１の文書に対する操作が、前記第１の文書に対する関連文書の設定操作である場合に、前記関連文書と対応づけて前記記憶装置に登録されている第３の操作識別子を、前記設定操作に対して付与された前記第２の操作識別子の関連文書属性として前記記憶装置に登録する関連文書登録手段、として機能させるためのプログラムである。
【００１５】
請求項７に係る発明は、情報処理装置と文書管理装置とを含み、前記情報処理装置は、文書に対する新規登録操作を受けた場合に、当該新規登録操作に対して付与した操作識別子を当該文書と対応づけて前記文書管理装置に送信する第１の送信手段と、第１の操作識別子に対応づけられた第１の文書に対して操作が行われた場合に、当該操作に対して付与した第２の操作識別子が前記第１の操作識別子から派生したことを示す派生関係の情報を前記文書管理装置に送信するとともに、当該操作の結果前記第１の文書とは異なる第２の文書が生成された場合には、前記第２の操作識別子を前記第２の文書と対応づけて前記文書管理装置に送信する第２の送信手段と、前記第１の操作識別子に対応する前記第１の文書に対する操作が、前記第１の文書に対する関連文書の設定操作である場合に、前記関連文書に対応づけられた第３の操作識別子を、前記設定操作に対して付与された前記第２の操作識別子の関連文書属性として前記文書管理装置に送信する関連文書属性送信手段と、を備え、前記文書管理装置は、前記情報処理装置から、文書の新規登録操作に対して付与した操作識別子を当該文書と対応づけて受信した場合に、前記操作識別子を前記文書と対応づけて記憶装置に登録する第１の登録手段と、前記情報処理装置から、第２の操作識別子が第１の操作識別子から派生したことを示す派生関係の情報を受信した場合には当該派生関係の情報を前記記憶装置に登録するとともに、前記第２の操作識別子を第２の文書と対応づけて受信した場合には前記第２の操作識別子を前記第２の文書と対応づけて前記記憶装置に登録する第２の登録手段と、前記第１の操作識別子に対応する前記第１の文書に対する操作が、前記第１の文書に対する関連文書の設定操作である場合に、前記情報処理装置から前記設定操作に対して付与された前記第２の操作識別子の関連文書属性として前記関連文書と対応づけられた第３の操作識別子を受信した場合に、当該第３の操作識別子を前記第２の操作識別子の関連文書属性として前記記憶装置に登録する関連文書登録手段と、を備えることを特徴とする文書管理システムである。
【発明の効果】
【００１６】
請求項１，６又は７に係る発明によれば、文書が操作を受けて順次派生する派生過程において、過去の操作において登録された関連文書を記録することができる。
【００１７】
請求項２に係る発明によれば、過去の操作において設定された関連文書を検索することができる。
【００１８】
請求項３に係る発明によれば、記憶装置に未登録の関連文書が設定された場合に、その記憶装置に自動的に登録し、関連文書についても派生関係の管理を行うことができる。
【００１９】
請求項４に係る発明によれば、検索された関連文書からさらに派生関係を派生先（すなわち子孫）の方向に辿って得られる操作識別子（及びそれに対応する文書）を検索することができる。
【００２０】
請求項５に係る発明によれば、関連文書の検索において派生関係の木を遡る範囲を限定することができる。
【発明を実施するための最良の形態】
【００２１】
図１は、文書管理システムの概略構成の例を示すブロック図である。このシステムは、インターネットやローカル・エリア・ネットワーク等のネットワーク３０を介して接続された文書管理サーバ１０とクライアント端末２０−１，２０−２，・・・（以下、クライアント端末２０と総称する）から構成される。
【００２２】
クライアント端末２０の一例を、図２を用いて説明する。クライアント端末は、ユーザが文書を操作するために用いる端末であり、パーソナルコンピュータ、デジタル複写機、デジタル複合機（プリンタ、スキャナ、複写機、ファクシミリ等の機能のうちの２以上を兼ね備えた装置）などがその一例である。クライアント端末２０は、図２に示すように、文書操作部２００、登録処理部２１０、関連文書登録指示部２２０、関連文書削除指示部２２２及び関連文書検索指示部２２４を備える。
【００２３】
文書操作部２００は、文書に対する操作を実行する手段である。文書に対する操作には、例えば、文書の表示（ユーザから見れば「閲覧」）、編集、印刷出力、紙文書の読み取り、紙文書の複写、等がある。図では、文書操作部２００を１つだけ示したが、それら個々の操作を別々の操作部（例えば、編集用のアプリケーション、読取制御用のアプリケーションなど）が担当してもよい。例えば、文書操作部２００がワードプロセッサ等の電子文書を作成・編集するためのソフトウエアであれば、文書操作部２００は、ユーザの指示に応じて電子文書を表示したり、電子文書に編集を加えたりする。文書操作部２００は、文書に対して操作を行った場合、その操作の結果を表すＩＤ付き文書３００を出力する。
【００２４】
ＩＤ付き文書３００は、図３に示すように、属性情報３１０と文書内容３２０を含んだ電子文書である。文書内容３２０は、文書操作部２００の操作の結果生成された文書の内容データである。文書操作部２００が電子文書を作成・編集するためのソフトウエアであれば、文書内容３２０はそのソフトウエアによる編集の結果生成される文書ファイルである。また、文書操作部２００が電子文書を印刷する装置であれば、文書内容３２０は、例えば、印刷される電子文書の内容データとすればよい。また、文書操作部２００が紙文書をスキャンする装置又は紙文書を複写する装置であれば、文書内容３２０は、例えば、その紙文書を読み取って得られる画像データとすればよい。
【００２５】
属性情報３１０は、文書管理のための情報であり、操作ＩＤ３１２，親操作ＩＤ３１４，ログ情報３１６，及び関連文書情報３１８を含む。
【００２６】
操作ＩＤ３１２は、当該ＩＤ付き文書３００自体の一意な識別情報である。親操作ＩＤ３１４は、当該ＩＤ付き文書３００の親のＩＤ付き文書の操作ＩＤである。すなわち、本実施形態では、あるＩＤ付き文書と、このＩＤ付き文書に対して操作を加えた結果得られる新たなＩＤ付き文書とを、親と子の関係として取り扱う。第１のＩＤ付き文書を操作して第２のＩＤ付き文書が得られた場合、第１のＩＤ付き文書は第２のＩＤ付き文書の親であり、第２のＩＤ付き文書は第１のＩＤ付き文書の子である。したがって、例えば、操作ＩＤ「Ａ」のＩＤ付き文書を文書操作部２００で操作して、その結果得られた新たなＩＤ付き文書の操作ＩＤが「Ｂ」である場合、後者の属性情報３１０における操作ＩＤ３１２は「Ｂ」であり、親操作ＩＤ３１４は「Ａ」である。このような親子の関係を、以下では「（操作ＩＤの）派生関係」という。
【００２７】
なお、本システムに未登録の電子文書を新規に登録する操作を実行した場合や、未登録の紙文書をスキャン又は複写する操作を実行した場合（この場合、紙文書を読み取った画像を文書内容とするＩＤ付き文書が生成され、本システムに登録される）に生成されるＩＤ付き文書３００では、親操作ＩＤ３１４は空（すなわち、親は存在しない）となる。
【００２８】
ログ情報３１６は、当該ＩＤ付き文書が生成された際の操作についての、各種のログ項目の情報である。ログ項目には、例えばその操作が行われた日時、その操作の種別、その操作を指示したユーザ（操作者）のＩＤ（ユーザＩＤ）などがあるが、もちろんこれに限るものではない。操作の種別には、例えば登録（本システムに新規の文書を登録すること）、閲覧、編集、更新（更新版の登録）、属性更新（当該文書の属性情報の更新操作）、印刷、スキャン、紙文書の複写、等がある。例えば、ユーザが文書操作部２００を用いて第１のＩＤ付き文書に対して編集を加え、編集完了の指示を行った場合、その結果生成される第２のＩＤ付き文書のログ情報３１６は、編集完了の日時と、その編集を指示したユーザの識別情報と、操作の種別として「編集」と、を含んだものとなる。
【００２９】
ここでログ情報３１６に組み込まれる操作の種別は、ログ記録の目的での分類に従った種別であり、文書操作部２００が実行する操作の種別そのものでなくてもよい。例えば、文書操作部２００が実行する複数の操作の種別を、同じ１つのログ記録目的の操作種別に対応づけてもよい。例えば、文書編集アプリケーション上でＩＤ付きの電子文書に編集を加え操作メニュー上で「更新版として登録」を指示した場合も、スキャナで操作ＩＤ付きの紙文書を読み取り読取制御用アプリケーションの操作メニュー上で「読み取った文書を承認版として登録」を指示した場合も、ログ情報３１６に組み込まれる操作種別の値は「更新」となる。
【００３０】
また、関連文書情報３１８は、対象であるＩＤ付き文書３００に対して設定された関連文書についての情報である。例えば関連文書情報３１８は、当該ＩＤ付き文書３００に対し設定された関連文書の、文書管理サーバ１０上での識別情報である。このような識別情報としては、例えば、当該関連文書の文書管理サーバ１０への新規登録操作の際に付与された操作ＩＤを用いればよい。また、文書管理サーバ１０に登録された（すなわち操作ＩＤ付与済みの）関連文書に対し、閲覧や編集その他の操作が加えられた場合に、その操作に対して付与される操作ＩＤを、そのような識別情報として用いてもよい。関連文書は、いったん文書管理サーバ１０に登録されることで操作ＩＤを付されてＩＤ付き文書３００となり、その後、操作を受けるごとに新たな操作ＩＤを持つ新たなＩＤ付き文書３００となる。例えば、ユーザが、あるＩＤ付き文書３００を別のＩＤ付き文書３００の関連文書に指定すると、前者の操作ＩＤ３１２が後者の関連文書情報３１８に組み込まれる。
【００３１】
また、関連文書情報３１８は、対象であるＩＤ付き文書３００に対応する過去の操作の派生関係の中で関連文書として設定された文書を、関連文書でなくすための指示情報を含むことができる。この場合、関連文書情報３１８には、関連文書でなくす文書に対応する操作ＩＤと、関連文書でなくすことを示す指示情報とが対応づけて組み込まれる。
【００３２】
なお、文書操作部２００が、操作した文書を暗号化してもよい。この暗号化は、本システムに準拠した文書操作部２００ならば、復号できるようなものとする。この場合、文書操作部２００が出力するＩＤ付き文書３００の文書内容３２０は、暗号化されることにより、本システムに準拠した文書操作部２００でないと復号できなくなる。したがって、ＩＤ付き文書３００が操作される場合には文書操作部２００が用いられるので、文書操作部２００がその操作を検知し、その操作の内容が文書操作部２００から文書管理サーバ１０に通知される。なお、文書内容３２０だけでなく、後述する属性情報３１０（またはその一部）に対しても暗号化を施してもよい。
【００３３】
また、行われた操作が文書内容を変更するものでない場合には、その操作に応じて生成されるＩＤ付き文書３００内の文書内容３２０は空でもよい。
【００３４】
図２の説明に戻り、文書操作部２００は、操作結果として上述のようなＩＤ付き文書３００を作成するために、ＩＤ割り当て部２０２及び属性組込部２０４を備える。ＩＤ割り当て部２０２は、操作結果のＩＤ付き文書３００に一意な操作ＩＤを付与する手段である。操作ＩＤは、少なくとも本システム内で一意な識別情報である必要がある。例えば、操作の結果生成するＩＤ付き文書３００（ただし操作ＩＤ３１２を除いたもの）のハッシュ値を求め、このハッシュ値をその文書３００のＩＤ付き文書とすればよい。ハッシュ関数としてSHA-256（SHA-256はNISTがFIPS180-2で定めた256ビットのハッシュ値を持つ暗号学的ハッシュ関数である）などのような耐衝突性を持つ暗号学的ハッシュ関数を用いれば、実用上十分な一意性を持つ操作ＩＤを生成することができる。もちろん、システム内で一意な操作ＩＤを各クライアント端末２０で生成する方法は、これに限らない。操作ＩＤを、クライアント端末２０固有の識別情報を含むものとすれば、システム内で一意な操作ＩＤを各クライアント端末２０で生成することができる。
【００３５】
属性組込部２０４は、操作結果の文書に対しＩＤ割り当て部２０２が割り当てた新たな操作ＩＤ３１２と、その操作の元になった親文書の操作ＩＤである親操作ＩＤ３１４（新規登録の場合は、親操作ＩＤは無し）と、その操作についてのログ情報３１６と、を含む属性情報３１０を生成する。ここで、属性組込部２０４は、文書操作部２００が実行する個々の操作の種別が、ログ記録目的上の操作種別のどれに対応するかを表す対応関係の情報を保持しており、この情報を用いることでログ情報３１６に組み込む操作種別の値を求める。そして、属性組込部２０４は、その属性情報３１０を操作結果の文書内容に付加することにより、操作後のＩＤ付き文書３００を生成して出力する。
【００３６】
文書操作部２００がアプリケーションソフトウエアである場合、ＩＤ割り当て部２０２及び属性組込部２０４は、そのソフトウエアに対して追加される、いわゆるプラグイン(plug-in)プログラムとして実現してもよい。
【００３７】
登録処理部２１０は、文書操作部２００が出力したＩＤ付き文書３００を文書管理サーバ１０に登録するための処理を実行する。このように各クライアント端末２０が、自ら実行した操作の結果であるＩＤ付き文書３００を文書管理サーバ１０に登録することにより、文書管理サーバ１０は各ＩＤ付き文書３００間の派生関係を把握することができる。
【００３８】
文書操作部２００が操作の結果出力するＩＤ付き文書３００は、通常の文書ファイルと同様、電子的にコピーしたり、電子メールに添付するなどの方法で他の人宛に送信したりすることができる。電子メール送信用のソフトウエアは、この例では本システムに準拠していないので、この送信操作はＩＤ付き文書には反映されず、したがって文書管理サーバ１０にも記録されない。他の人からＩＤ付き文書３００を受け取った人が、自分のクライアント端末２０の文書操作部２００を用いてそのＩＤ付き文書３００を操作すると、その操作に応じて新たな操作ＩＤを付与されたＩＤ付き文書が生成されることになる。
【００３９】
また、文書操作部２００が電子文書を印刷する場合、操作ＩＤを生成し、その電子文書の印刷結果にその操作ＩＤを埋め込んでもよい。操作ＩＤの埋め込みは、例えば電子文書の印刷画像に、操作ＩＤを示すコード画像を重畳する等の方法で行うことができる。また、用紙がＲＦＩＤ(Radio Frequency Identification)タグを備えている場合、そのＲＦＩＤタグに操作ＩＤを書き込んでもよい。このように印刷を行った場合、文書操作部２００は、その操作ＩＤや操作種別「印刷」等の属性情報を含んだＩＤ付き文書を文書管理サーバ１０に登録する。なお、ＩＤ付き文書を印刷した場合には、そのＩＤ付き文書の操作ＩＤを親操作ＩＤ３１４として含んだＩＤ付き文書が生成される。印刷操作に対応するＩＤ付き文書には、印刷された画像を示すページ記述言語データやビットマップ画像データをなどの印刷データ、又は印刷された文書ファイルを、文書内容３２０として組み込んでもよい。
【００４０】
また、操作ＩＤが埋め込まれた紙文書を文書操作部２００が読み取った場合、文書操作部２００は、その読み取り操作に対して新たな操作ＩＤを付与し、読み取り結果の画像を文書内容３２０として含んだＩＤ付き文書を生成して文書管理サーバ１０に登録する。このＩＤ付き文書の親操作ＩＤ３１４には、紙文書から読み取った操作ＩＤがセットされる。操作ＩＤが埋め込まれた紙文書の複写の際には、上述した読み取り時と印刷時の処理が実行される。
【００４１】
関連文書登録指示部２２０は、ＩＤ付き文書３００（「対象の文書」と呼ぶ）に対して関連文書を登録する指示を受け付ける。関連文書登録指示部２２０は、例えば、ＩＤ付き文書３００の属性情報の更新（「属性更新」）操作の一部として、関連文書の登録指示を受け付ける。例えば、クライアント端末２００のオペレーティングシステムのファイル管理画面上で、ＩＤ付き文書３００のアイコンにカーソルを合わせ、例えばマウス等のポインティングデバイスを用いて右クリックなどのメニュー呼出操作を行うと、関連文書登録操作を含んだメニューが表示される（なお、操作のためのこのようなユーザインタフェースはあくまで一例に過ぎない）。ユーザがそのメニュー上で関連文書登録操作を選択すると、関連文書登録指示部２２０が起動する。関連文書登録指示部２２０は、関連文書の指定画面を生成する。この指定画面は、例えばオペレーティングシステムのファイル管理システムと連動しており、ファイル管理システム内のディレクトリ構造を表示し、ユーザが希望するディレクトリにある希望の文書を指定できるようになっている。
【００４２】
この指定画面に対してユーザが指定した文書がＩＤ付き文書である場合、関連文書登録指示部２２０は、そのＩＤ付き文書の中から操作ＩＤ３１２を取り出し、その操作ＩＤ３１２を、対象の文書の属性情報３１０中の関連文書情報３１８に組み込む（組込は属性組込部２０４に行わせる。以下同様）。
【００４３】
一方、上記指定画面に対してユーザが指定した文書がＩＤ付き文書でない場合、関連文書登録指示部２２０は、その文書の新規登録指示を文書操作部２００に対して行ってもよい。この場合、関連文書登録指示部２２０は、その新規登録指示に応じて文書管理サーバ１０から返されてきたＩＤ付き文書３００の操作ＩＤを、対象の文書の属性情報３１０中の関連文書情報３１８に組み込めばよい。
【００４４】
関連文書が複数指定された場合は、それら各関連文書の操作ＩＤを対象の文書の属性情報３１０中の関連文書情報３１８に組み込めばよい。
【００４５】
関連文書削除指示部２２２は、対象のＩＤ付き文書３００（「対象の文書」）に対応する過去の操作の派生関係の中で関連文書として設定された文書を、関連文書でなくすための指示を受け付ける。例えば、対象の文書に対する操作項目を示す上記メニューの中からユーザが関連文書の削除を選択した場合、関連文書削除指示部２２２は、例えば文書管理サーバ１０に対して対象の文書の操作ＩＤを含んだ関連文書検索要求を送る。文書管理サーバ１０は、この検索要求に応じ、属性ＤＢ１１０（詳細は後述）に登録された派生関係群が構成する木構造を、その操作ＩＤから派生元（つまり親）の方向へと、その木の根（或いは別途指定された遡及限界（例えば後述する継承属性「ｎｏ」））まで遡及する。そして、その遡及過程で通る各操作ＩＤに対してそれぞれ設定された関連文書の操作ＩＤを収集し、それら操作ＩＤのリストを関連文書リストとしてクライアント端末２０の関連文書削除指示部２２２に返す。関連文書削除指示部２２２はその関連文書リストを表示し、ユーザはその中から削除対象を指定する。関連文書削除指示部２２２は、指定された削除対象の関連文書の操作ＩＤと、関連文書でなくすことを示す指示情報とを対応づけて、対象の文書の関連文書情報３１８に組み込む。
【００４６】
関連文書検索指示部２２４は、対象のＩＤ付き文書３００についての関連文書の検索指示をユーザから受け付ける。例えば、対象の文書に対する操作項目を示す上記メニューの中からユーザが関連文書の検索を選択した場合、関連文書検索指示部２２４は、例えば文書管理サーバ１０に対して対象の文書の操作ＩＤを含んだ関連文書検索要求を送る。文書管理サーバ１０は、この検索要求に応じて属性ＤＢ１１０を検索することで、対象の文書に対応する関連文書を検索し、その検索結果を関連文書検索指示部２２４に返す。この検索処理については、後で詳しく説明する。関連文書検索指示部２２４は、受け取った検索結果の関連文書を提示する。ユーザは検索結果の関連文書を開き、閲覧その他の操作を行うことができる。
【００４７】
次に、文書管理サーバ１０について説明する。文書管理サーバ１０は、システム内の複数のクライアント端末２０から送られてくるＩＤ付き文書３００を蓄積し、蓄積した情報に基づきユーザに各種のサービスを提供する。図４に示すように、文書管理サーバ１０は、文書ＤＢ（データベース）１００，属性ＤＢ１１０，文書登録部１３０，及び要求処理部１４０を備える。
【００４８】
文書ＤＢ１００は、クライアント端末２０から送られてきたＩＤ付き文書３００のうちの文書内容３２０を格納するデータベースである。文書ＤＢ１００に格納された各文書内容３２０は、一意な内容ＩＤにより管理してもよい。内容ＩＤとしては、例えば当該文書内容の暗号学的ハッシュ関数によるハッシュ値を用いてもよいが、これに限定されるものではない。クライアント端末２０が内容ＩＤを付与してもよく、この場合、クライアント端末２０が内容ＩＤを属性情報３１０に組み込んでもよい。また、内容ＩＤの代わりに、その文書内容３２０を、当該文書内容に対応するＩＤ付き文書３００の操作ＩＤと対応づけて文書ＤＢ１００に格納してもよい。
【００４９】
文書登録部１３０は、クライアント端末２０から受信したＩＤ付き文書の中の文書内容３２０を文書ＤＢ１００に、属性情報３１０を属性ＤＢ１１０に、それぞれ登録する。そのうち、属性情報の登録を担当するのが属性登録部１３２である。
【００５０】
属性ＤＢ１１０は、ＩＤ付き文書３００のうち、派生関係の情報を含む属性情報３１０を蓄積するデータベースである。図５に、属性ＤＢ１１０のデータ内容の一例を示す。図５に示した表における１行の情報が、１つのＩＤ付き文書３００に対応する属性情報レコードである。この例では、各ＩＤ付き文書３００の操作ＩＤに対応づけて、親操作ＩＤ、操作種別、操作者のユーザＩＤ、関連文書情報、アクセス権情報(ACL_read, ACL_write)の各項目が登録されている。これら各項目は、クライアント端末２０から受信したＩＤ付き文書３００の属性情報３１０から求められる。なお、アクセス権情報は、当該ＩＤ付き文書３００の文書内容３２０に対するアクセス権を表す情報である。アクセス権情報は、ユーザがクライアント端末２０で文書の操作を行った際に、アクセス権設定を行った場合に属性情報３１０に組み込まれる属性項目である。ACLはアクセスコントロールリストのことであり、属性ACL_readは操作結果のＩＤ付き文書３００に対する閲覧権限を付与されたユーザ又はユーザグループのＩＤのリストであり、ACL_writeは当該ＩＤ付き文書３００に対する書き込み権を付与されたユーザ又はユーザグループのＩＤのリストである。閲覧権限、編集権限はあくまで一例であり、他の種類のアクセス権が設定できるようにしてもよい。
【００５１】
なお、図５に例示した属性情報の項目は一例に過ぎない。例えば、図５では省略したが、属性ＤＢ１１０には、操作が行われた操作日時など、他の属性項目の値を記録してもよい。また、この他にも、ＩＤ付き文書内の文書内容３２０を格納した、文書ＤＢ１００内での格納場所を示すパス名を属性ＤＢ１１０に登録してもよい。文書ＤＢ１００が、内容ＩＤで文書内容３２０を検索する機能を持つものであれば、文書格納パスの代わりに内容ＩＤを属性情報レコードに登録してもよい。
【００５２】
なお、図５は属性ＤＢ１１０が管理するデータを内容の観点から表現したものにすぎず、具体的な表現形式或いはデータベース形式を規定するものではない。例えば、属性ＤＢ１１０は、一般的なリレーショナルデータベースとして構築することもできるし、操作ＩＤを除く属性情報を記述したＸＭＬ(eXtensible Markup Language)文書を、操作ＩＤをキーとして登録したデータベースとして構築することもできる。
【００５３】
属性登録部１３２の内の関連文書登録部１３４は、ＩＤ付き文書３００の属性情報３１０のうちの関連文書情報３１８を、当該ＩＤ付き文書３００の操作ＩＤ３１２に対応づけて属性ＤＢ１１０に登録する。上述のように、関連文書情報３１８には、登録対象の関連文書の操作ＩＤ、及び削除対象の関連文書の操作ＩＤが含まれる可能性がある。関連文書登録部１３４は、関連文書情報３１８に含まれるそれらの情報を属性ＤＢ１１０の当該ＩＤ付き文書の操作ＩＤに対応するレコードの関連文書情報欄に登録する。
【００５４】
要求処理部１４０は、クライアント端末２０からの操作ＩＤを含んだサービス要求に応じて、属性ＤＢ１１０を用いたサービスを提供する。要求処理部１４０が提供するサービスとしては、例えば、サービス要求中の操作ＩＤに対応する文書の最新版を検索するサービスがある。また別の例として、サービス要求中の操作ＩＤに対応する始祖（根）の文書又はその始祖についてのログ情報を提供するサービスを挙げることができる。また、別の例として、その操作ＩＤの来歴、すなわち始祖からその操作ＩＤまでに文書が経てきた操作の履歴（例えば誰がいつどんな操作をしたのかを示す情報のリスト）を提供するサービスもある。また、属性ＤＢ１１０に登録された属性項目についての検索条件の指定を受け付け、その検索条件を満足するＩＤ付き文書のリストを提供するサービスもある。このサービスに付随して、要求処理部１４０は、そのリストの中からユーザの所望するＩＤ付き文書の選択を受け付け、選択されたＩＤ付き文書を提供してもよい。なお、上述の最新版を検索するサービスは、「操作日時が最新である」という検索条件についての検索結果を提供するサービスと捉えることもできる。また、上述の始祖の文書の情報を提供するサービスは、「木構造の根に該当する文書」という条件についての検索結果を提供するサービスと捉えることができる。また、別の例として、属性ＤＢ１１０に基づきＩＤ付き文書群の派生関係を表す木構造の表示画面を提供し、その表示画面上でユーザの所望するＩＤ付き文書の選択を受け付け、選択されたＩＤ付き文書を提供するサービスもある。
【００５５】
また、要求処理部１４０は、関連文書の検索サービスを提供するための関連文書検索部１４２を備える。クライアント端末２０から、操作ＩＤを含む関連文書検索要求を受け取ると、関連文書検索部１４２は、検索モード（これは文書サーバ１０に設定されているか、関連文書検索要求中に指定されている）にしたがって、属性ＤＢ１１０を参照して関連文書を検索し、その検索結果をクライアント端末２０に返す。関連文書検索部１４２の検索処理及び検索モードについては、後で詳しく説明する。
【００５６】
サービス要求は、クライアント端末２０に保持されたＩＤ付き文書に基づき発せられる。例えば、ユーザがクライアント端末２０の文書操作部２００によりＩＤ付き文書を開いた場合に、文書操作部２００が、派生関係を用いたサービスのメニューを提供し、そのメニューの中からユーザが所望するサービスの指定を受け付ける。そして、そのＩＤ付き文書の操作ＩＤと指定されたサービスを示すコードとを含むサービス要求を文書管理サーバ１０の要求処理部１４０に送信する。このとき、ユーザ識別情報や操作日時などの属性項目についての検索条件を指定するユーザインタフェース画面を提供し、この画面を介して入力された検索条件を併せて要求処理部１４０に送信してもよい。また、操作ＩＤと、サービスを示すコード、検索条件以外に、指示を行ったユーザの識別情報や、ユーザの入力した認証情報などといった他の情報を、クライアント端末２０から要求処理部１４０に送信するようにしてもよい。
【００５７】
また別の例として、ユーザによるサービスの指定を一つの「操作」と捉え、その「操作」に対して新たに操作ＩＤを付与することも考えられる。この場合、指定されたサービスのコードを操作種別として含み、指定の際に用いられた元のＩＤ付き文書の操作ＩＤを親操作ＩＤとして含んだＩＤ付き文書を生成し、このＩＤ付き文書をサービス要求として文書管理サーバ１０に送ってもよい。この場合、要求処理部１４０は、受け取ったＩＤ付き文書内の操作種別の情報に基づき提供すべきサービスを判定し、同じくＩＤ付き文書内の親操作ＩＤを、派生関係を遡る処理の起点とすればよい。
【００５８】
要求処理部１４０は、クライアント端末２０からサービス要求を受けた場合、そのサービス要求中に指定された操作ＩＤを起点に、属性ＤＢ１１０に登録された操作ＩＤと親操作ＩＤとの派生関係が構成する木を走査（トラバース）し、その走査の結果得られた情報を用いて、ユーザから要求されたサービスを実行する。関連文書検索部１４２も同様に、設定又は指定された検索モードが派生関係の木を遡及するモードであれば、その木を派生元の方向に遡りつつ関連文書を検索する。
【００５９】
次に、図５〜図７に示す具体例を用いて、関連文書の登録及び検索処理の例を説明する。この例では、属性ＤＢ１１０には、図５に示した操作ＩＤ「ID1」から派生する操作の属性レコード群と、図６に示した操作ＩＤ「ID100」の操作の属性レコード群が登録される。操作「ID100」は、ある文書を文書管理サーバ１０に新規登録する操作であり、登録された文書は、操作「ID1」で新規登録された文書に対する関連文書に指定されている（操作「ID2」）。
【００６０】
図５に示す属性レコード群は、図７のような木構造を成す。これは、操作ＩＤをノードとし、操作ＩＤ間の親子関係をエッジとする木構造である。
【００６１】
以下、図５〜図７の例が示す操作の履歴について時系列順に説明する。
【００６２】
ID1の操作: ユーザ「userA」が文書（他の文書との区別のために「文書１」と呼ぶ）を文書管理サーバ１０に新規登録する。このとき、この文書に対する閲覧権限、編集権限をgroupAに付与する設定とした。
【００６３】
ID2の操作: ユーザ「userB」が操作「ID1」で登録された文書１に対し、既に文書管理サーバ１０に登録されている「文書２」(操作ＩＤ = ID100で登録された文書)を関連文書として設定する操作(操作種別は「属性更新」とする) を行う。ここで、「文書２」には、操作「ID100」において、ユーザグループgroupBに対する閲覧権限が設定されていたとする。ここで、groupBのメンバーはgroupAのメンバーに含まれている、とする。この例では、操作「ID2」のアクセス権属性として、関連文書に指定した文書２の操作ＩＤ「ID100」のアクセス権属性に合わせて、groupBに対する閲覧権限を設定する。このように、属性更新操作に対応する操作ＩＤのアクセス権属性を、その操作ＩＤに対応して設定した関連文書のアクセス権属性に合わせれば、その属性更新操作に応じて作成されたＩＤ付き文書の文書内容（この例では「文書１」）に対しアクセスできるユーザ（又はグループ）は、そのＩＤ付き文書に対して設定された関連文書の文書内容（この例では「文書２」）にもアクセスできる。
【００６４】
なお、このように属性更新操作に対応する操作ＩＤのアクセス権属性を関連文書のアクセス権属性に合わせて自動的に設定するのはあくまで一例に過ぎない。この代わりに、アクセス権設定のためのユーザインタフェース画面をクライアント端末２０に提供し、属性更新操作を指示したユーザに、属性更新操作に対応する操作ＩＤのアクセス権属性を指定させてもよい。
【００６５】
この場合、例えば、ユーザインタフェース画面にて、属性更新操作に対応する操作ＩＤのアクセス権属性が関連文書のアクセス権属性より狭くなるように案内してもよい（例えば、前者が後者より広い場合には入力されたアクセス権属性を受理せず、警告を出すなど）。このようにすれば、関連文書にアクセス（例えば閲覧）できないユーザによる関連文書の取得が防止される。すなわち、属性更新操作の結果であるＩＤ付き文書３００を受け取ったユーザは、このＩＤ付き文書３００を用いて関連文書検索を要求することでその関連文書を取得しようとするが、そのユーザは、その関連文書へのアクセス権を持たない場合には、必ずそのＩＤ付き文書３００のアクセス権も持たないので、そのＩＤ付き文書３００を用いて関連文書検索要求を発する操作が禁じられる。
【００６６】
ID3の操作: ユーザ「userC」が操作「ID1」で登録されたＩＤ付き文書の関連文書を要求する操作(操作種別は「属性取得」)を行う。この場合、関連文書検索指示部２２４が発する関連文書検索要求には操作ＩＤ「ID1」が検索条件として含まれる。
【００６７】
ID4の操作: ユーザ「userD」が操作「ID2」で登録されたＩＤ付き文書の関連文書を要求する操作(操作種別は「属性取得」)を行う。この場合、関連文書検索指示部２２４が発する関連文書検索要求には操作ＩＤ「ID2」が検索条件として含まれる。
【００６８】
さて、操作「ID3」及び「ID4」では、ユーザが操作するクライアント端末２０から関連文書検索要求が発行される。この要求を受けた場合に文書管理サーバ１０の関連文書検索部１４２が行う検索処理の手順の例を図８に示す。
【００６９】
この手順では、まず関連文書検索要求中に含まれる操作ＩＤを注目ＩＤとし（Ｓ１）、属性ＤＢ１１０におけるその注目ＩＤの属性レコードの関連文書情報の欄を調べる（Ｓ２）。その欄に関連文書の操作ＩＤが（削除対象ではなく登録対象として）含まれているかどうかを判定し（Ｓ３）、含まれていれば、その関連文書の操作ＩＤに対応する属性レコードのアクセス権属性を調べる（Ｓ４）。ステップＳ４では、そのアクセス権属性に基づき、関連文書検索要求の要求元のユーザがその関連文書に対してアクセス（この場合は閲覧）可能か否かを判定する。そして、アクセス可能であれば、その関連文書（ＩＤ付き文書）を要求元のクライアント端末２０に送信し（Ｓ５）、処理を終了する。注目ＩＤの関連文書情報に複数の関連文書が登録されている場合は、それらのうち要求元がアクセス可能なものを送信すればよい。
【００７０】
一方、注目ＩＤに対して関連文書が設定されていない場合（Ｓ３の判定結果が否定（Ｎｏ））、又は設定されていても要求元がその関連文書にアクセス不可の場合（Ｓ４の判定結果が否定）の場合は、注目ＩＤの属性レコードに親操作ＩＤがあるか否かを調べる（Ｓ６）。親操作ＩＤがあれば、その親操作ＩＤを新たな注目ＩＤとし（Ｓ７）、ステップＳ２以下の処理を繰り返す。すなわち、ステップＳ６及びＳ７では、派生関係の木を親、すなわち派生元の方向に一世代遡っている。なお、ステップＳ６の判定結果が否定となった場合は、関連文書検索要求中の操作ＩＤ自身とその始祖（根）に至るまでの各先祖の操作ＩＤには、要求元のユーザがアクセス可能な関連文書が一つも設定されていないということになる。この場合、関連文書検索部１４２は、関連文書が無い旨をクライアント端末２０に回答する（Ｓ８）。
【００７１】
以上に例示した手順によれば、操作「ID3」の属性取得操作では、検索条件である操作ＩＤ「ID1」を起点として検索するので、関連文書は見つからない。一方、操作「ID4」の属性取得操作では、検索条件である操作ＩＤ「ID2」を起点として検索するので、操作ＩＤ「ID2」の関連文書情報欄に登録された操作ＩＤ「ID100」に対応する文書２が関連文書として検索されることになる。
【００７２】
なお、この例の手順では、groupAに含まれるがgroupBには含まれないユーザがID4と同じ操作を行ったとしても、そのユーザはID2に対応する文書の閲覧権限がないため、関連文書として設定されている「文書２」を取得することはできない。
【００７３】
操作「ID1」で登録された文書と操作「ID2」に対応する文書とは、文書内容は同一であり（ID1からID2までの間に文書内容を編集していないから）、その意味では同じバージョンの文書と言える。したがって、「文書２」の閲覧権限がないユーザには操作「ID1」で登録されたＩＤ付き文書を配布し、「文書２」の閲覧権限があるユーザには操作「ID2」で登録されたＩＤ付き文書を配布するようにすれば（いずれのユーザも文書１の閲覧権限を持つものとする）、それらユーザに同じ内容の文書を配布しつつも、ユーザが閲覧権限のない関連文書を取得してしまうような不都合を避けることができる。
【００７４】
次に、図９〜図１１を参照して、別の具体例を説明する。図９は、以下のような操作の履歴を示している。
【００７５】
ID1の操作: userAが文書１を文書管理サーバ１０に新規登録した。この文書１に対する閲覧権限、編集権限をgroupAに付与する。またuserAは、この新規登録操作において、『文書２』をその文書１の関連文書に指定する。ここで、関連文書として設定した『文書２』が文書管理サーバ１０に登録されていないものであるとする。この場合、関連文書登録指示部２２０は、『文書２』を文書サーバ１０に新規登録する操作を行い、その操作を表す操作ＩＤである「ID100」を、操作ＩＤ「ID1」の関連文書情報欄に設定する。この例では、『文書２』（ID100）のアクセス権属性は、『文書１』（ID1）を自動的に引き継ぐようにしている。しかし、これに限らず新規登録操作を行ったユーザが指定するようにするなど、他の方法でアクセス権属性を設定するようにしてもよい。
【００７６】
ID2の操作: userBが操作「ID1」で登録された文書を編集して更新登録を行い、同時に『文書３』(操作ＩＤ = ID200で新規登録された文書)を関連文書として設定する操作を行う。この例では、アクセス権に関する設定は特に行っていないので操作「ID1」と同じ設定を引き継いでいる。(アクセス権に関する設定は以降の操作でも同様。)
【００７７】
ID3の操作: userCが操作「ID1」で登録された文書の関連文書を要求する操作を行う。
【００７８】
ID4の操作: userDが操作「ID2」の結果得られた文書に『文書４』(操作ID = ID300で新規登録された文書)を関連文書として設定する属性更新操作を行う。
【００７９】
ID5の操作: userEが操作「ID3」の結果得られた文書の関連文書を要求する操作を行う。
【００８０】
ID6の操作: userFが操作「ID4」の結果得られた文書の関連文書を要求する操作を行う。
【００８１】
図９に示す属性レコード群は、図１１のような木構造を成す。また、図１０は、文書２の新規登録操作及び閲覧操作により属性ＤＢ１１０に登録された属性レコードを示す。
【００８２】
この例では、関連文書検索部１４２は、例えば、以下の３つの検索モードを持っているものとする。
【００８３】
検索モード１：関連文書検索要求中に指定された操作ＩＤ自体の属性レコードの関連文書情報に登録されている関連文書を返す。アクセス権をチェックする場合は、要求元がアクセス権を持つ関連文書のみを返す。
【００８４】
検索モード２：関連文書検索要求中に指定された操作ＩＤを起点とし、派生関係の木を派生元の方向に遡る過程で最初に見つかった関連文書（複数の関連文書が同じ操作ＩＤに対して設定されている場合はそれらすべて）を返す。アクセス権をチェックする場合は、上記の過程で最初に見つかった「要求元がアクセス権を持つ関連文書」を返す。このモードは、図８に例示した手順に対応する。
【００８５】
検索モード３：関連文書検索要求中に指定された操作ＩＤを起点とし、派生関係の木を派生元の方向に根まで遡り、それら起点から根までに見つかった各操作ＩＤ（起点と根を含む）に対して設定された関連文書をすべて返す。
【００８６】
ユーザは、クライアント端末２０の関連文書検索指示部２２４において、上記３つの検索モードのうちのいずれかを指定して、関連文書の検索要求を行う。操作「ID3」、操作「ID5」、及び操作「ID6」のそれぞれにおいて、上記検索モード１−３で選択した結果取得できる関連文書を図１２に示す。
【００８７】
次に、図１３〜図１５を参照して、更に別の具体例を説明する。図１３は、以下のような操作の履歴を示している。この例は、アクセス権制御を行わない場合の例であるが、この例の手法にアクセス権制御を組み合わせることも可能である。
【００８８】
ID1の操作: userAが文書１を文書管理サーバ１０に新規登録した。またuserAは、この新規登録操作において、『文書２』（操作ＩＤ = ID100で新規登録された文書)をその文書１の関連文書に指定する。
【００８９】
ID2の操作: userBが操作「ID1」で登録された文書を編集して更新登録を行い、同時に『文書３』(操作ＩＤ = ID200で新規登録された文書)を関連文書として設定する操作を行う。この例では、関連文書の設定の際に、継承属性の指定をユーザから受ける。
【００９０】
継承属性は、派生関係群がなす木における当該操作ＩＤ（すなわち、関連文書の設定操作により生成されたＩＤ付き文書の操作ＩＤ）の先祖の操作ＩＤに対して設定された関連文書を継承するか否かを示す属性である。この属性の値が「ｙｅｓ（継承有り）」であれば先祖に対して設定された関連文書を継承し、「ｎｏ（継承無し）」であれば継承しない。操作「ID2」では、継承属性が「ｙｅｓ」に設定されている。
【００９１】
ID3の操作: userCが更新操作「ID2」の結果のＩＤ付き文書の関連文書を要求する操作を行う。
【００９２】
ID4の操作: userDが操作「ID2」の結果得られたＩＤ付き文書を編集して更新登録を行うと共に、『文書４』(操作ID = ID300で新規登録された文書)を関連文書として設定する。
【００９３】
ID5の操作: userEが操作「ID4」の結果得られたＩＤ付き文書の関連文書を要求する操作を行う。
【００９４】
図１３に示す属性レコード群は、図１４のような木構造を成す。
【００９５】
また、操作「ID200」でuserAにより新規登録された文書３は、操作「ID201」にてuserEにより編集され更新されているとする（図１５参照）。
【００９６】
この例で、例えば前述の検索モード２又は３で関連文書の検索を行う場合、関連文書検索部１４２は、関連文書検索要求中の操作ＩＤを起点に派生関係の木を派生元の方向へ遡及する際に、継承属性が「ｎｏ」に設定された操作ＩＤに到達すると、その操作ＩＤで遡及を止める。継承属性が「ｙｅｓ」に設定された操作ＩＤに到達した場合は、更に遡及を続ける。
【００９７】
この例で、例えば検索モード３で検索を行う場合を考える。この場合、属性取得操作「ID3」では、操作ＩＤ「ID2」のＩＤ付き文書を使って検索要求を行い、操作ＩＤ「ID2」の継承属性が「ｙｅｓ」であるので、操作ＩＤ「ID200」に対応する関連文書のみならず、操作ＩＤ「ID100」に対応する関連文書も検索される。また操作「ID5」では操作ＩＤ「ID4」のＩＤ付き文書を使って検索要求が行われる。この場合、操作ＩＤ「ID4」に対応する操作で設定された操作ＩＤ「ID300」に対応する関連文書は検索されるが、操作ＩＤ「ID4」の継承属性が「ｎｏ」であるので、派生関係の遡及はその「ID4」で停止する。したがって、取得できる関連文書は操作ＩＤ「ID300」に対応する関連文書のみである。
【００９８】
なお、関連文書検索要求に、関連文書の最新版を検索するオプションを指定できるようにしてもよい。関連文書検索要求を行う際にユーザがその指定を行うと、関連文書検索部１４２は、検索の過程で操作ＩＤの関連文書情報に設定された関連文書を見つけるごとに、見つけた関連文書の操作ＩＤから派生した子孫の操作ＩＤを属性ＤＢ１１０から検索し、当該関連文書の操作ＩＤ及びその子孫の操作ＩＤの中で最新のものを検索結果としてもよい。最新のものは、例えば、操作日時属性の値から判定すればよい。また、もっとも世代の若い子孫の操作ＩＤを最新のものと判定してもよい。この場合、操作「ID3」によって取得できる関連文書は「ID201」（図１５参照）及び「ID100」となる。
【００９９】
なお、関連文書検索についてのオプションは、上述した最新版を求めるオプションに限らない。別の例として、関連文書から派生した全ての文書を求めるオプション、関連文書から派生した文書のうち更新操作の結果である文書を全て求めるオプションなど、様々な例があり得る。
【０１００】
次に、図１６及び図１７を参照して、更に別の具体例を説明する。図１６及び図１７は、以下のような操作の履歴を示している。この例は、アクセス権制御を行わない場合の例であるが、この例の手法にアクセス権制御を組み合わせることも可能である。
【０１０１】
（１）userAが『文書1』にアンケート用紙『文書2』(ID100で新規登録されている)を関連文書として設定して新規登録（ID1の操作）。
【０１０２】
（２）userAが『文書2』(ID100の文書)を電子メールに添付して配布。この操作はＩＤ付き文書（及びこれを取り扱う文書操作部２００）の機能を用いるものではないので、子の操作の履歴情報（属性情報レコード）は文書管理サーバ１０に記録されない。
【０１０３】
（３）メール受信者(userB, userC, userD)がアンケート用紙『文書2』に回答を記入して「応答」操作を行う(の操作)。記入済みのアンケート用紙がID101〜ID103に対応づけて文書管理サーバ１０に登録される。
【０１０４】
（４）userAがID1のＩＤ付き文書を利用して、関連文書ID100の子孫の中で操作種別が「応答」であるものを検索して取り出す（ID2の操作）。この例では、関連文書検索要求に、『操作種別が「応答」である』という検索条件が課される。この検索要求に対して、ID101〜ID103の文書が関連文書として検索される。
【０１０５】
（５）userAが（４）で集めた関連文書を元にアンケート結果を集計し(この集計は手作業)、集計結果の文書『文書3』を作成して文書管理サーバ１０に登録する(ID200の操作)。userAは、その『文書3』（ID200の文書）をID1のＩＤ付き文書の関連文書として設定すると同時に、『文書2』(ID100の文書)を『文書1』の関連文書から削除する操作を行う（ID3の操作）。この例は、集計結果を関連文書として登録した後は、『文書１』経由では『文書２』にはアクセスできなくするものである。
【０１０６】
図１６の例では、関連文書情報欄には、削除指示の対象となった操作ＩＤは「−」（マイナス）符号付きで示されている。関連文書情報欄内の符号なしの操作ＩＤは、登録された関連文書を示している。
【０１０７】
操作「ID3」から派生する子孫のＩＤ付き文書を用いて関連文書検索が行われる場合、ID200の文書は取得されるが、削除されたID100及びこれから派生したID101〜ID103の文書は取得されない。
【０１０８】
以上に例示した文書管理サーバ１０及びクライアント端末２０は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、図１８に示すように、ＣＰＵ４００等のマイクロプロセッサ、ランダムアクセスメモリ（ＲＡＭ）４０２およびリードオンリメモリ（ＲＯＭ）４０４等のメモリ（一次記憶）、ＨＤＤ（ハードディスクドライブ）４０６を制御するＨＤＤコントローラ４０８、各種Ｉ／Ｏ（入出力）インタフェース４１０、ローカル・エリア・ネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース４１２等が、たとえばバス４１４を介して接続された回路構成を有する。また、そのバス４１４に対し、例えばＩ／Ｏインタフェース４１０経由で、ＣＤやＤＶＤなどの可搬型ディスク記録媒体に対する読み取り及び／又は書き込みのためのディスクドライブ４１６、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び／又は書き込みのためのメモリリーダライタ４１８、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがＲＡＭ４０２に読み出されＣＰＵ４００等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。なお、それら機能モジュール群のうちの一部又は全部を、専用ＬＳＩ(Large Scale Integration)、ＡＳＩＣ（Application Specific IntegratedCircuit、特定用途向け集積回路）又はＦＰＧＡ（Field Programmable Gate Array）等のハードウエア回路として構成してもよい。
【図面の簡単な説明】
【０１０９】
【図１】文書管理システムの概略構成の例を示す図である。
【図２】クライアント端末の内部構成の例を示すブロック図である。
【図３】ＩＤ付き文書のデータ構造の例を模式的に示す図である。
【図４】文書管理サーバの内部構成の例を示すブロック図である。
【図５】１つの例における派生関係ＤＢのデータ内容の例の一部を示す図である。
【図６】派生関係ＤＢのデータ内容の例の別の一部を示す図である。
【図７】図５に例示したデータ内容における管理ＩＤ群がなす木構造を図式化して表す図である。
【図８】関連文書検索部の処理手順の一例を示すフローチャートである。
【図９】第２の例における派生関係ＤＢのデータ内容の例の一部を示す図である。
【図１０】第２の例における派生関係ＤＢのデータ内容の例の別の一部を示す図である。
【図１１】図９に例示したデータ内容における管理ＩＤ群がなす木構造を図式化して表す図である。
【図１２】第２の例における３つの検索モードにより、各操作「ID3」、「ID5」及び「ID6」において検索される関連文書を示す図である。
【図１３】第３の例における派生関係ＤＢのデータ内容の例の一部を示す図である。
【図１４】図１３に例示したデータ内容における管理ＩＤ群がなす木構造を図式化して表す図である。
【図１５】第３の例における派生関係ＤＢのデータ内容の例の別の一部を示す図である。
【図１６】第４の例における派生関係ＤＢのデータ内容の例の一部を示す図である。
【図１７】第４の例における派生関係ＤＢのデータ内容の例の別の一部を示す図である。
【図１８】コンピュータのハードウエア構成の一例を示す図である。
【符号の説明】
【０１１０】
１０  文書管理サーバ、２０  クライアント端末、３０  ネットワーク、１００  文書ＤＢ、１１０  属性ＤＢ、１３０  文書登録部、１３２  属性登録部、１３４  関連文書登録部、１４０  要求処理部、１４２  関連文書検索部、２００  文書操作部、２０２  ＩＤ割り当て部、２０４  属性組込部、２１０  登録処理部、２２０  関連文書登録指示部、２２２  関連文書削除指示部、２２４  関連文書検索指示部、３００  文書、３１０  属性情報、３２０  文書内容。
【図１】
2010073012.tif 000003
【図２】
2010073012.tif 000004
【図３】
2010073012.tif 000005
【図４】
2010073012.tif 000006
【図５】
2010073012.tif 000007
【図６】
2010073012.tif 000008
【図７】
2010073012.tif 000009
【図８】
2010073012.tif 000010
【図９】
2010073012.tif 000011
【図１０】
2010073012.tif 000012
【図１１】
2010073012.tif 000013
【図１２】
2010073012.tif 000014
【図１３】
2010073012.tif 000015
【図１４】
2010073012.tif 000016
【図１５】
2010073012.tif 000017
【図１６】
2010073012.tif 000018
【図１７】
2010073012.tif 000019
【図１８】
2010073012.tif 000020