(57)【要約】【課題】旧バージョンの電子文書に対する操作に関する情報の検索を容易にする。【解決手段】操作結果の文書とその管理ＩＤ、その文書の操作前の管理ＩＤである親ＩＤ、その操作の種類、及びその操作の時刻をクライアントから受信した文書登録部１３０は、その文書の管理ＩＤに対応づけて、親ＩＤ、操作の種類、及び操作の時刻を派生関係ＤＢ１１０に、それぞれ登録する。登録制限判定部１３２は、派生関係ＤＢ１１０に登録された派生関係群が表す木構造であって文書登録部１３０が受信した文書の親ＩＤが表す文書が属する木構造において、当該親ＩＤが表す文書が、当該木構造に含まれる文書のうち最新の改訂操作に対応づけられた文書である最新版文書に対して先祖に該当するか否かの判定を行う。【選択図】図４
2010033227.tif 000002
【特許請求の範囲】
【請求項１】
第１の文書を親とし前記第１の文書に対する操作の結果である第２の文書を子とする派生関係の情報を情報処理装置から受け取って記憶部に登録する登録部であって、さらに、前記第１の文書に対する操作の種類及び時刻を前記情報処理装置から受け取って、当該操作の種類及び時刻を前記第２の文書に対応づけて前記記憶部に登録する登録部と、
前記記憶部に登録された派生関係群が表す木構造であって前記登録部が前記情報処理装置から受け取った派生関係の情報における前記第１の文書が属する木構造において、当該第１の文書が、当該木構造に含まれる文書のうち最新の改訂操作に対応づけられた文書である最新版文書に対して先祖に該当するか否かの判定を行う判定部と、
を備えることを特徴とする文書管理装置。
【請求項２】
前記判定部において前記第１の文書が前記最新版文書に対して前記木構造における先祖に該当すると判定された場合に、前記第１の文書に対する操作に関する情報を前記木構造における前記最新版文書に関連付けるための処理を行う処理部、
をさらに備えることを特徴とする請求項１に記載の文書管理装置。
【請求項３】
前記処理部は、前記判定部において前記第１の文書が前記最新版文書に対して前記木構造における先祖に該当すると判定された場合であって前記登録部が前記情報処理装置から前記派生関係の情報とともに受け取った前記操作の種類が予め設定された操作の種類に該当する場合に、前記関連付けるための処理を行う、
ことを特徴とする請求項２に記載の文書管理装置。
【請求項４】
前記判定部において前記第１の文書が前記最新版文書に対して前記木構造における先祖に該当すると判定された場合に、前記登録部は、前記受け取った派生関係の情報を前記記憶部に登録しない、
ことを特徴とする請求項１に記載の文書管理装置。
【請求項５】
前記関連付けるための処理は、前記登録部が前記情報処理装置から前記派生関係の情報とともに受け取った操作の種類の操作を前記最新版文書に対して行うことを利用者に促す情報を前記情報処理装置に対して出力する処理である、
ことを特徴とする請求項２又は３に記載の文書管理装置。
【請求項６】
前記関連付けるための処理は、前記受け取った派生関係の情報における前記第２の文書が前記最新版文書の子であることを示す派生関係の情報を前記記憶部に登録する処理である、
ことを特徴とする請求項２又は３に記載の文書管理装置。
【請求項７】
前記関連付けるための処理は、前記受け取った派生関係の情報における前記第２の文書への参照情報を生成して前記記憶部に登録するとともに、前記最新版文書を親とし当該参照情報を子とする派生関係の情報を前記記憶部に登録する処理である、
ことを特徴とする請求項２又は３に記載の文書管理装置。
【請求項８】
第１の文書を親とし前記第１の文書に対する操作の結果である第２の文書を子とする派生関係の情報を情報処理装置から受け取って記憶部に登録する登録ステップであって、さらに、前記第１の文書に対する操作の種類及び時刻を前記情報処理装置から受け取って、当該操作の種類及び時刻を前記第２の文書に対応づけて前記記憶部に登録する登録ステップと、
前記記憶部に登録された派生関係群が表す木構造であって前記登録部が前記情報処理装置から受け取った派生関係の情報における前記第１の文書が属する木構造において、当該第１の文書が、当該木構造に含まれる文書のうち最新の改訂操作に対応づけられた文書である最新版文書に対して先祖に該当するか否かの判定を行う判定ステップと、
をコンピュータに実行させることを特徴とする文書管理プログラム。
【請求項９】
情報処理装置と文書管理装置とを備え、
前記情報処理装置は、
第１の文書を親とし前記第１の文書に対する操作の結果である第２の文書を子とする派生関係の情報と、前記第１の文書に対する操作の種類及び時刻と、を前記文書管理装置に対して送信する送信部、を備え、
前記文書管理装置は、
前記情報処理装置から前記派生関係の情報を受け取って記憶部に登録する登録部であって、さらに、前記第１の文書に対する操作の種類及び時刻を前記情報処理装置から受け取って、当該操作の種類及び時刻を前記第２の文書に対応づけて前記記憶部に登録する登録部と、
前記記憶部に登録された派生関係群が表す木構造であって前記登録部が前記情報処理装置から受け取った派生関係の情報における前記第１の文書が属する木構造において、当該第１の文書が、当該木構造に含まれる文書のうち最新の改訂操作に対応づけられた文書である最新版文書に対して先祖に該当するか否かの判定を行う判定部と、
を備える、
ことを特徴とする文書管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書管理装置、文書管理プログラム、及び文書管理システムに関する。
【背景技術】
【０００２】
電子文書に対して、その内容に関するコメントなどの付加情報を複数の利用者が付与する場合がある。例えば、複数の異なるユーザが共同で１つの文書を編集する場合、編集に携わる各ユーザがその文書に対して自己の編集部分に関するコメントなどを付加情報としてその文書に付与することが考えられる。電子文書に対して付与された付加情報は、例えば、その電子文書の改訂版の作成に用いられる。
【０００３】
サーバに電子文書を登録するとともに、登録された文書に付与された付加情報をその文書と対応づけて管理するシステムが開発されている。例えば、特許文献１には、登録された文書の任意の領域に付された付加データを、その文書及びその付加データの作成者の情報と対応づけて管理する文書管理システムが開示されている。この文書管理システムのデータベースサーバは、クライアントコンピュータを用いたユーザからの要求に応じて、文書の参照、付加データの参照、登録、削除などの処理を行う。文書中の１つの領域に複数の付加データが登録されている場合に付加データの参照要求が行われると、登録された各付加データとその作成者とが対応づけられて一覧表示される。
【０００４】
また例えば、特許文献２には、複数のユーザによって回覧される文書とその文書に付加された付加情報とを管理する文書管理装置であって、予め設定された回覧者のグループごとに文書の付加情報を管理する文書管理装置が開示されている。
【０００５】
一方、文書に対する操作の履歴を表す情報を記録しておき、その操作履歴に関する情報を提供するシステムがある。例えば、特許文献３に記載のシステムでは、操作ＩＤ（識別子）が付与された文書に対してユーザが操作を行なうと、その操作結果の文書に対して新たな操作ＩＤが付与され、操作前の文書の操作ＩＤを親とし、操作結果の文書に付与された新たな操作ＩＤを子とする派生関係が記録される。さらに、この派生関係と対応づけて、文書に対して行なわれた操作に関する属性情報が記録される。また、特許文献３に記載のシステムは、操作ＩＤを指定した文書の閲覧要求をユーザから受けると、指定された操作ＩＤを起点に派生関係を辿って得られる操作ＩＤの文書の情報をユーザに提供する。
【０００６】
【特許文献１】特開２００１−１７５６５０号公報
【特許文献２】特開２００７−５８６２２号公報
【特許文献３】特開２００８−３８４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、サーバに登録された電子文書をユーザが自己のクライアント端末にダウンロードし、当該クライアント端末に対して電子文書に対して編集を加えたり、付加情報を付与したりする場合がある。この場合、ユーザは、編集や付加情報の付与などを行った後の電子文書をサーバに登録する（アップロード）。各ユーザが自己のクライアント端末で電子文書の編集などを行なう場合、例えば、改訂版の電子文書がサーバに登録された後に、旧バージョンの電子文書（改訂前の電子文書）に対して編集やコメントの付加などが行われることがあり得る。このような旧バージョンの電子文書に対して行われる編集などの内容は、改訂版の電子文書をさらに改訂する際に考慮すべき内容である場合がある。
【０００８】
本発明は、電子文書の改訂版が登録された後に旧バージョンの電子文書に対して行なわれる操作に関する情報の検索を容易にすることを目的とする。
【課題を解決するための手段】
【０００９】
請求項１に係る発明は、第１の文書を親とし前記第１の文書に対する操作の結果である第２の文書を子とする派生関係の情報を情報処理装置から受け取って記憶部に登録する登録部であって、さらに、前記第１の文書に対する操作の種類及び時刻を前記情報処理装置から受け取って、当該操作の種類及び時刻を前記第２の文書に対応づけて前記記憶部に登録する登録部と、前記記憶部に登録された派生関係群が表す木構造であって前記登録部が前記情報処理装置から受け取った派生関係の情報における前記第１の文書が属する木構造において、当該第１の文書が、当該木構造に含まれる文書のうち最新の改訂操作に対応づけられた文書である最新版文書に対して先祖に該当するか否かの判定を行う判定部と、を備えることを特徴とする文書管理装置である。
【００１０】
請求項２に係る発明は、請求項１に係る発明において、前記判定部において前記第１の文書が前記最新版文書に対して前記木構造における先祖に該当すると判定された場合に、前記第１の文書に対する操作に関する情報を前記木構造における前記最新版文書に関連付けるための処理を行う処理部、をさらに備える。
【００１１】
請求項３に係る発明は、請求項２に係る発明において、前記処理部は、前記判定部において前記判定部において前記第１の文書が前記最新版文書に対して前記木構造における先祖に該当すると判定された場合であって前記登録部が前記情報処理装置から前記派生関係の情報とともに受け取った前記操作の種類が予め設定された操作の種類に該当する場合に、前記関連付けるための処理を行う。
【００１２】
請求項４に係る発明は、請求項１に係る発明において、前記判定部において前記第１の文書が前記最新版文書に対して前記木構造における先祖に該当すると判定された場合に、前記登録部は、前記受け取った派生関係の情報を前記記憶部に登録しない。
【００１３】
請求項５に係る発明は、請求項２又は３に係る発明において、前記関連付けるための処理は、前記登録部が前記情報処理装置から前記派生関係の情報とともに受け取った操作の種類の操作を前記最新版文書に対して行うことを利用者に促す情報を前記情報処理装置に対して出力する処理である。
【００１４】
請求項６に係る発明は、請求項２又は３に係る発明において、前記関連付けるための処理は、前記受け取った派生関係の情報における前記第２の文書が前記最新版文書の子であることを示す派生関係の情報を前記記憶部に登録する処理である。
【００１５】
請求項７に係る発明は、請求項２又は３に係る発明において、前記関連付けるための処理は、前記受け取った派生関係の情報における前記第２の文書への参照情報を生成して前記記憶部に登録するとともに、前記最新版文書を親とし当該参照情報を子とする派生関係の情報を前記記憶部に登録する処理である。
【００１６】
請求項８に係る発明は、第１の文書を親とし前記第１の文書に対する操作の結果である第２の文書を子とする派生関係の情報を情報処理装置から受け取って記憶部に登録する登録ステップであって、さらに、前記第１の文書に対する操作の種類及び時刻を前記情報処理装置から受け取って、当該操作の種類及び時刻を前記第２の文書に対応づけて前記記憶部に登録する登録ステップと、前記記憶部に登録された派生関係群が表す木構造であって前記登録部が前記情報処理装置から受け取った派生関係の情報における前記第１の文書が属する木構造において、当該第１の文書が、当該木構造に含まれる文書のうち最新の改訂操作に対応づけられた文書である最新版文書に対して先祖に該当するか否かの判定を行う判定ステップと、をコンピュータに実行させることを特徴とする文書管理プログラムである。
【００１７】
請求項９に係る発明は、情報処理装置と文書管理装置とを備え、前記情報処理装置は、第１の文書を親とし前記第１の文書に対する操作の結果である第２の文書を子とする派生関係の情報と、前記第１の文書に対する操作の種類及び時刻と、を前記文書管理装置に対して送信する送信部、を備え、前記文書管理装置は、前記情報処理装置から前記派生関係の情報を受け取って記憶部に登録する登録部であって、さらに、前記第１の文書に対する操作の種類及び時刻を前記情報処理装置から受け取って、当該操作の種類及び時刻を前記第２の文書に対応づけて前記記憶部に登録する登録部と、前記記憶部に登録された派生関係群が表す木構造であって前記登録部が前記情報処理装置から受け取った派生関係の情報における前記第１の文書が属する木構造において、当該第１の文書が、当該木構造に含まれる文書のうち最新の改訂操作に対応づけられた文書である最新版文書に対して先祖に該当するか否かの判定を行う判定部と、を備える、ことを特徴とする文書管理システムである。
【発明の効果】
【００１８】
請求項１、８、又は９に係る発明によると、最新版の電子文書よりも古いバージョンの電子文書に対する操作を検知できる。
【００１９】
請求項２に係る発明によると、最新版の電子文書よりも古いバージョンの電子文書に対して行なわれた操作に関する情報を最新版の電子文書と関連付けて管理できる。
【００２０】
請求項３に係る発明によると、最新版の電子文書よりも古いバージョンの電子文書に対して行なわれた操作であって予め設定された種類の操作に関する情報を最新版の電子文書と関連付けて管理できる。
【００２１】
請求項４に係る発明によると、最新版の電子文書よりも古いバージョンの電子文書に対する操作を禁止できる。
【００２２】
請求項５に係る発明によると、最新版の電子文書よりも古いバージョンの電子文書に対する操作を行ったユーザに対して、その操作を最新版の電子文書に対して行うことを促すことができる。
【００２３】
請求項６に係る発明によると、最新版の電子文書よりも古いバージョンの電子文書に対する操作の結果の文書を、最新版の電子文書に対する操作結果の文書として管理できる。
【００２４】
請求項７に係る発明によると、最新版の電子文書よりも古いバージョンの電子文書に対する操作の結果の文書を、最新版の電子文書に対する操作結果として登録された参照情報により取得できる。
【発明を実施するための最良の形態】
【００２５】
図１は、文書管理システムの概略構成の例を示すブロック図である。このシステムは、インターネットやローカル・エリア・ネットワーク等のネットワーク３０を介して接続された文書管理サーバ１０とクライアント端末２０−１，２０−２，・・・（以下、クライアント端末２０と総称する）から構成される。
【００２６】
クライアント端末２０について図２を用いて説明する。クライアント端末２０は、ユーザが文書を操作するために用いる端末であり、パーソナルコンピュータ、デジタル複写機などがその一例である。クライアント端末２０は、図２に示すように、文書操作部２００及び登録処理部２１０を備える。
【００２７】
文書操作部２００は、文書に対する操作を実行する手段である。文書に対する操作には、例えば、文書の表示（ユーザから見れば「閲覧」）、編集、印刷出力、紙文書の読み取り、紙文書の複写、等がある。図では、文書操作部２００を１つだけ示したが、それら個々の操作を別々の操作部（例えば、編集用のアプリケーション、読取制御用のアプリケーションなど）が担当してもよい。例えば、文書操作部２００がワードプロセッサ等の電子文書を作成・編集するためのソフトウエアであれば、文書操作部２００は、ユーザの指示に応じて電子文書を表示したり、電子文書に編集を加えたりする。文書操作部２００は、文書に対して操作を行った場合、その操作の結果を表すＩＤ付き文書３００を出力する。
【００２８】
ＩＤ付き文書３００は、図３に示すように、メタ情報３１０と文書内容３２０を含んだ電子文書である。文書内容３２０は、文書操作部２００の操作の結果生成された文書の内容データである。文書操作部２００が電子文書を作成・編集するためのソフトウエアであれば、文書内容３２０はそのソフトウエアによる編集の結果生成される文書ファイルである。また、文書操作部２００が電子文書を印刷する装置であれば、文書内容３２０は、例えば、印刷される電子文書の内容データとすればよい。また、文書操作部２００が紙文書をスキャンする装置又は紙文書を複写する装置であれば、文書内容３２０は、例えば、その紙文書を読み取って得られる画像データとすればよい。
【００２９】
メタ情報３１０は、文書管理のための情報であり、管理ＩＤ３１２，親ＩＤ３１４，及びログ情報３１６を含む。
【００３０】
管理ＩＤ３１２は、当該ＩＤ付き文書３００自体の一意な識別情報である。親ＩＤ３１４は、当該ＩＤ付き文書３００の親のＩＤ付き文書の管理ＩＤである。すなわち、本実施形態では、あるＩＤ付き文書と、このＩＤ付き文書に対して操作を加えた結果得られる新たなＩＤ付き文書とを、親と子の関係として取り扱う。第１のＩＤ付き文書を操作して第２のＩＤ付き文書が得られた場合、第１のＩＤ付き文書は第２のＩＤ付き文書の親であり、第２のＩＤ付き文書は第１のＩＤ付き文書の子である。したがって、例えば、管理ＩＤ「Ａ」のＩＤ付き文書を文書操作部２００で操作して、その結果得られた新たなＩＤ付き文書の管理ＩＤが「Ｂ」である場合、後者のメタ情報３１０における管理ＩＤ３１２は「Ｂ」であり、親ＩＤ３１４は「Ａ」である。このような親子の関係を、以下では「（管理ＩＤの）派生関係」という。
【００３１】
なお、本システムに未登録の電子文書を新たに登録する操作を実行した場合や、未登録の紙文書をスキャン又は複写する操作を実行した場合（この場合、紙文書を読み取った画像を文書内容とするＩＤ付き文書が生成され、本システムに登録される）に生成されるＩＤ付き文書３００では、親ＩＤ３１４は空（すなわち、親は存在しない）となる。
【００３２】
ログ情報３１６は、当該ＩＤ付き文書が生成された際の操作についての、各種のログ項目の情報である。ログ項目には、例えばその操作が行われた日時、その操作の種別、その操作を指示したユーザ（操作者）などがあるが、もちろんこれに限るものではない。操作の種別には、例えば登録（本システムに新規の文書を登録すること）、閲覧、編集、更新（更新版の登録）、印刷、スキャン、紙文書の複写、等がある。例えば、ユーザが文書操作部２００を用いて第１のＩＤ付き文書に対して編集を加え、編集完了の指示を行った場合、その結果生成される第２のＩＤ付き文書のログ情報３１６は、編集完了の日時と、その編集を指示したユーザの識別情報と、操作の種別として「編集」と、を含んだものとなる。
【００３３】
ここでログ情報３１６に組み込まれる操作の種別は、ログ記録の目的での分類に従った種別であり、文書操作部２００が実行する操作の種別そのものでなくてもよい。例えば、文書操作部２００が実行する複数の操作の種別を、同じ１つのログ記録目的の操作種別に対応づけてもよい。例えば、文書編集アプリケーション上でＩＤ付きの電子文書に編集を加え操作メニュー上で「更新版として登録」を指示した場合も、スキャナで管理ＩＤ付きの紙文書を読み取り読取制御用アプリケーションの操作メニュー上で「読み取った文書を承認版として登録」を指示した場合も、ログ情報３１６に組み込まれる操作種別の値は「更新」となる。
【００３４】
なお、文書操作部２００が、操作した文書を暗号化してもよい。この暗号化は、本システムに準拠した文書操作部２００ならば、復号できるようなものとする。この場合、文書操作部２００が出力するＩＤ付き文書３００の文書内容３２０は、暗号化されることにより、本システムに準拠した文書操作部２００でないと復号できなくなる。したがって、ＩＤ付き文書３００が操作される場合には文書操作部２００が用いられるので、文書操作部２００がその操作を検知し、その操作の内容が文書操作部２００から文書管理サーバ１０に通知される。なお、文書内容３２０だけでなく、後述するメタ情報３１０（またはその一部）に対しても暗号化を施してもよい。
【００３５】
図２の説明に戻り、文書操作部２００は、操作結果として上述のようなＩＤ付き文書３００を作成するために、ＩＤ割り当て部２０２及び派生関係組込部２０４を備える。ＩＤ割り当て部２０２は、操作結果のＩＤ付き文書３００に一意な管理ＩＤを付与する手段である。管理ＩＤは、少なくとも本システム内で一意な識別情報である必要がある。例えば、操作の結果生成するＩＤ付き文書３００（ただし管理ＩＤ３１２を除いたもの）のハッシュ値を求め、このハッシュ値をその文書３００のＩＤ付き文書とすればよい。ハッシュ関数としてSHA-256（SHA-256はNISTがFIPS180-2で定めた256ビットのハッシュ値を持つ暗号学的ハッシュ関数である）などのような耐衝突性を持つ暗号学的ハッシュ関数を用いれば、実用上十分な一意性を持つ管理ＩＤを生成することができる。もちろん、システム内で一意な管理ＩＤを各クライアント端末２０で生成する方法は、これに限らない。管理ＩＤを、クライアント端末２０固有の識別情報を含むものとすれば、システム内で一意な管理ＩＤを各クライアント端末２０で生成することができる。
【００３６】
派生関係組込部２０４は、操作結果の文書に対しＩＤ割り当て部２０２が割り当てた新たな管理ＩＤ３１２と、その操作の元になった親文書の管理ＩＤである親ＩＤ３１４（新規登録の場合は、親ＩＤは無し）と、その操作についてのログ情報３１６と、を含むメタ情報３１０を生成する。ここで、派生関係組込部２０４は、文書操作部２００が実行する個々の操作の種別が、ログ記録目的上の操作種別のどれに対応するかを表す対応関係の情報を保持しており、この情報を用いることでログ情報３１６に組み込む操作種別の値を求める。そして、派生関係組込部２０４は、そのメタ情報３１０を操作結果の文書内容に付加することにより、操作後のＩＤ付き文書３００を生成して出力する。
【００３７】
文書操作部２００がアプリケーションソフトウエアである場合、ＩＤ割り当て部２０２及び派生関係組込部２０４は、そのソフトウエアに対して追加される、いわゆるプラグイン(plug-in)プログラムとして実現してもよい。
【００３８】
登録処理部２１０は、文書操作部２００が出力したＩＤ付き文書３００を文書管理サーバ１０に登録するための処理を実行する。このように各クライアント端末２０が、自ら実行した操作の結果であるＩＤ付き文書３００を文書管理サーバ１０に登録することにより、文書管理サーバ１０は各ＩＤ付き文書３００間の派生関係を把握することができる。
【００３９】
文書操作部２００が操作の結果出力するＩＤ付き文書３００は、通常の文書ファイルと同様、電子的にコピーしたり、電子メールに添付するなどの方法で他の人宛に送信したりすることができる。電子メール送信用のソフトウエアは、この例では本システムに準拠していないので、この送信操作はＩＤ付き文書には反映されず、したがって文書管理サーバ１０にも記録されない。他の人からＩＤ付き文書３００を受け取った人が、自分のクライアント端末２０の文書操作部２００を用いてそのＩＤ付き文書３００を操作すると、その操作に応じて新たな管理ＩＤを付与されたＩＤ付き文書が生成されることになる。
【００４０】
また、文書操作部２００が電子文書を印刷する場合、管理ＩＤを生成し、その電子文書の印刷結果にその管理ＩＤを埋め込んでもよい。管理ＩＤの埋め込みは、例えば電子文書の印刷画像に、管理ＩＤを示すコード画像を重畳する等の方法で行うことができる。また、用紙がＲＦＩＤ(Radio Frequency Identifier)タグを備えている場合、そのＲＦＩＤタグに管理ＩＤを書き込んでもよい。このように印刷を行った場合、文書操作部２００は、その管理ＩＤや操作種別「印刷」等のメタ情報を含んだＩＤ付き文書を文書管理サーバ１０に登録する。なお、ＩＤ付き文書を印刷した場合には、そのＩＤ付き文書の管理ＩＤを親ＩＤ３１４として含んだＩＤ付き文書が生成される。印刷操作に対応するＩＤ付き文書には、印刷された画像を示すページ記述言語データやビットマップ画像データをなどの印刷データ、又は印刷された文書ファイルを、文書内容３２０として組み込んでもよい。
【００４１】
また、管理ＩＤが埋め込まれた紙文書を文書操作部２００が読み取った場合、文書操作部２００は、その読み取り操作に対して新たな管理ＩＤを付与し、読み取り結果の画像を文書内容３２０として含んだＩＤ付き文書を生成して文書管理サーバ１０に登録する。このＩＤ付き文書の親ＩＤ３１４には、紙文書から読み取った管理ＩＤがセットされる。管理ＩＤが埋め込まれた紙文書の複写の際には、上述した読み取り時と印刷時の処理が実行される。
【００４２】
次に、文書管理サーバ１０について説明する。文書管理サーバ１０は、システム内の複数のクライアント端末２０から送られてくるＩＤ付き文書３００を蓄積し、蓄積した情報に基づきユーザに各種のサービスを提供する。図４に示すように、文書管理サーバ１０は、文書ＤＢ（データベース）１００，派生関係ＤＢ１１０，文書登録部１３０，及び要求処理部１４０を備える。
【００４３】
文書ＤＢ１００は、クライアント端末２０から送られてきたＩＤ付き文書３００のうちの文書内容３２０を格納するデータベースである。文書ＤＢ１００に格納された各文書内容３２０は、一意な内容ＩＤにより管理してもよい。内容ＩＤとしては、例えば当該文書内容の暗号学的ハッシュ関数によるハッシュ値を用いてもよいが、これに限定されるものではない。クライアント端末２０が内容ＩＤを付与してもよく、この場合、内容ＩＤをメタ情報３１０に組み込んでもよい。また、内容ＩＤの代わりに、その文書内容３２０を、当該文書内容に対応するＩＤ付き文書３００の管理ＩＤと対応づけて文書ＤＢ１００に格納してもよい。
【００４４】
文書登録部１３０は、クライアント端末２０から受信したＩＤ付き文書の中の文書内容を文書ＤＢ１００に、メタ情報を派生関係ＤＢ１１０に、それぞれ登録する。そのうち、メタ情報の登録を担当するのが派生関係登録部１３２である。
【００４５】
文書登録部１３０は、さらに、登録制限判定部１３４及び登録制限処理部１３６を備える。登録制限判定部１３４は、文書管理サーバ１０がクライアント端末２０からＩＤ付き文書を受信したときに、当該ＩＤ付き文書が登録制限の対象であるか否かを判定する。本実施形態の例では、新しいバージョン（改訂版）の文書が文書管理サーバ１０に登録された後に改訂版よりも古いバージョン（旧バージョン）のＩＤ付き文書に対して特定の操作種別の操作が行われた結果のＩＤ付き文書をクライアント端末２０から受信したときに、当該ＩＤ付き文書は登録制限の対象であると判定される。登録制限処理部１３６は、登録制限判定部１３４の判定に用いられる判定条件と、登録制限の対象と判定されたＩＤ付き文書に対して実行される制限処理の内容を表す情報と、を含む登録制限情報を派生関係ＤＢ１１０に登録する。さらに、登録制限処理部１３６は、登録制限判定部１３４において登録制限の対象であると判定されたＩＤ付き文書に対して、設定された登録制限情報に従った制限処理を行う。登録制限判定部１３４及び登録制限処理部１３６の処理内容の例は後に詳述する。
【００４６】
派生関係ＤＢ１１０は、文書管理サーバ１０がクライアント端末２０から受信したＩＤ付き文書３００のうち、派生関係の情報を主としたメタ情報を蓄積するデータベースである。図５Ａ及び図５Ｂに、派生関係ＤＢ１１０のデータ内容の一例を示す。図５Ｂは、派生関係ＤＢ１１０が図５Ａの例の内容のデータを有する時点から一定時間が経過した時点での派生関係ＤＢ１１０のデータ内容の例を示す。図５Ａ及び図５Ｂに示す各表における１行の情報が、１つのＩＤ付き文書３００に対応するメタ情報レコードである。この例では、各ＩＤ付き文書３００の管理ＩＤに対応づけて、親ＩＤ、操作種別、操作者、操作日時、及び登録制限の各項目が登録されている。このうち、管理ＩＤと親ＩＤのペア以外の項目は、例示したものに限られない。管理目的上必要な項目を記録すればよい。また、操作種別、操作者、操作日時については既に説明した。登録制限の項目には、登録制限処理部１３６が設定する登録制限情報が格納される。登録制限情報は、あるＩＤ付き文書に対して改訂版のＩＤ付き文書を登録する操作（「改訂登録」操作）が行われたときに、旧バージョンのＩＤ付き文書に対応するレコードの登録制限の項目に設定される。
【００４７】
例えば、派生関係ＤＢ１１０が図５Ａの例の内容のデータを有する時点では、操作種別が「改訂登録」であるＩＤ付き文書の派生関係ＤＢ１１０への登録は行なわれておらず、派生関係ＤＢ１１０中のいずれのレコードの登録制限の項目にも値は設定されていない。図５Ａに例示する状態の時点から一定時間経過後の状態を表す図５Ｂを参照すると、管理ＩＤ"Doc1"のレコードの登録制限の項目に、「子：応答，改訂登録：禁止」が設定されている。この登録制限情報は、ＩＤ付き文書"Doc1"の子であって操作種別が「応答」又は「改訂登録」であるＩＤ付き文書の文書管理サーバ１０への登録を禁止することを表す。ここで、操作種別「応答」は、ＩＤ付き文書に対してコメントなどの付加情報を付与する操作を表す。また、この登録制限情報は、ＩＤ付き文書"Doc1"に対する「改訂登録」操作の結果のＩＤ付き文書"Doc5"をクライアント端末２０から受信して管理ＩＤ"Doc5"のレコードが派生関係ＤＢ１１０に登録されたときに、文書登録部１３０の登録制限処理部１３６によって登録されたものである。
【００４８】
なお、図５Ａ及び図５Ｂに例示したメタ情報の項目は一例に過ぎない。例えば、この他にも、ＩＤ付き文書内の文書内容３２０を格納した、文書ＤＢ１００内での格納場所を示すパス名を派生関係ＤＢ１１０に登録してもよい。文書ＤＢ１００が、内容ＩＤで文書内容３２０を検索する機能を持つものであれば、文書格納パスの代わりに内容ＩＤをメタ情報レコードに登録してもよい。
【００４９】
なお、図５Ａ及び図５Ｂは派生関係ＤＢ１１０が管理するデータを内容の観点から表現したものにすぎず、具体的な表現形式或いはデータベース形式を規定するものではない。例えば、派生関係ＤＢ１１０は、一般的なリレーショナルデータベースとして構築することもできるし、管理ＩＤを除くメタ情報を記述したＸＭＬ(eXtensible Markup Language)文書を、管理ＩＤをキーとして登録したデータベースとして構築することもできる。
【００５０】
図５Ｂに示す派生関係ＤＢ１１０のデータ内容は、図６のような木構造を成す。これは、管理ＩＤをノードとし、管理ＩＤ間の親子関係をエッジとする木構造である。
【００５１】
要求処理部１４０は、クライアント端末２０からの管理ＩＤを含んだサービス要求に応じて、派生関係ＤＢ１１０を用いたサービスを提供する。要求処理部１４０が提供するサービスとしては、例えば、サービス要求中の管理ＩＤに対応する文書の最新版を検索するサービスがある。また別の例として、サービス要求中の管理ＩＤに対応する始祖（根）の文書又はその始祖についてのログ情報を提供するサービスを挙げることができる。また、別の例として、その管理ＩＤの来歴、すなわち始祖からその管理ＩＤまでに文書が経てきた操作の履歴（例えば誰がいつどんな操作をしたのかを示す情報のリスト）を提供するサービスもある。また、派生関係ＤＢ１１０に登録された属性項目についての検索条件の指定を受け付け、その検索条件を満足するＩＤ付き文書のリストを提供するサービスもある。このサービスに付随して、要求処理部１４０は、そのリストの中からユーザの所望するＩＤ付き文書の選択を受け付け、選択されたＩＤ付き文書を提供してもよい。なお、上述の最新版を検索するサービスは、「操作日時が最新である」という検索条件についての検索結果を提供するサービスと捉えることもできる。また、上述の始祖の文書の情報を提供するサービスは、「木構造の根に該当する文書」という条件についての検索結果を提供するサービスと捉えることができる。また、別の例として、派生関係ＤＢ１１０に基づきＩＤ付き文書群の派生関係を表す木構造の表示画面を提供し、その表示画面上でユーザの所望するＩＤ付き文書の選択を受け付け、選択されたＩＤ付き文書を提供するサービスもある。
【００５２】
サービス要求は、クライアント端末２０に保持されたＩＤ付き文書に基づき発せられる。例えば、ユーザがクライアント端末２０の文書操作部２００によりＩＤ付き文書を開いた場合に、文書操作部２００が、派生関係を用いたサービスのメニューを提供し、そのメニューの中からユーザが所望するサービスの指定を受け付ける。そして、そのＩＤ付き文書の管理ＩＤと指定されたサービスを示すコードとを含むサービス要求を文書管理サーバ１０の要求処理部１４０に送信する。このとき、ユーザ識別情報や操作日時などの属性項目についての検索条件を指定するユーザインタフェース画面を提供し、この画面を介して入力された検索条件を併せて要求処理部１４０に送信してもよい。また、管理ＩＤと、サービスを示すコード、検索条件以外に、指示を行ったユーザの識別情報や、ユーザの入力した認証情報などといった他の情報を、クライアント端末２０から要求処理部１４０に送信するようにしてもよい。
【００５３】
また別の例として、ユーザによるサービスの指定を一つの「操作」と捉え、その「操作」に対して新たに管理ＩＤを付与することも考えられる。この場合、指定されたサービスのコードを操作種別として含み、指定の際に用いられた元のＩＤ付き文書の管理ＩＤを親ＩＤとして含んだＩＤ付き文書を生成し、このＩＤ付き文書をサービス要求として文書管理サーバ１０に送ってもよい。この場合、要求処理部１４０は、受け取ったＩＤ付き文書内の操作種別の情報に基づき提供すべきサービスを判定し、同じくＩＤ付き文書内の親ＩＤを、派生関係を遡る処理の起点とする。
【００５４】
要求処理部１４０は、クライアント端末２０からサービス要求を受けた場合、そのサービス要求中に指定された管理ＩＤを起点に、派生関係ＤＢ１１０に登録された管理ＩＤと親ＩＤとの派生関係が構成する木を走査（トラバース）し、その走査の結果得られた情報を用いて、ユーザから要求されたサービスを実行する。
【００５５】
以下、文書管理システムにおける各種の処理について詳しく説明する。
【００５６】
まず、文書管理サーバ１０がクライアント端末２０からＩＤ付き文書３００を受け取ったときの文書登録部１３０の処理の例を説明する。
【００５７】
図７は、文書登録部１３０の処理手順の一例を示すフローチャートである。
【００５８】
クライアント端末２０からＩＤ付き文書を受け取ると、文書登録部１３０は、まず、受け取ったＩＤ付き文書（以下、「処理対象のＩＤ付き文書」とも言う）の操作種別が新規登録であるか否かを判定する（ステップＳ１０）。操作種別が新規登録であれば（ステップＳ１０でＹＥＳ）、処理対象のＩＤ付き文書のメタ情報を派生関係ＤＢ１１０に、文書内容を文書ＤＢ１００に登録する（ステップＳ６０）。操作種別が新規登録でなければ（ステップＳ１０でＮＯ）、文書登録部１３０の登録制限判定部１３４は、登録制限情報検索処理（ステップＳ２０）を行う。
【００５９】
登録制限情報検索処理（ステップＳ２０）が開始されると、登録制限判定部１３４は、図８に例示する手順の処理を開始する。図８を参照し、まず、処理対象のＩＤ付き文書のメタ情報中の親ＩＤを注目ＩＤとし（ステップＳ２００）、次に、注目ＩＤに対応するレコードを派生関係ＤＢ１１０から取得する（ステップＳ２０２）。そして、取得したレコードの登録制限の項目に登録制限情報が設定されているか否かを判定する（ステップＳ２０４）。この判定結果がＹＥＳであれば、設定されている登録制限情報を取得して検索結果とする（ステップＳ２０６）。その後、取得した登録制限情報において、処理対象のＩＤ付き文書の操作種別が制限対象であるか否かを判定する（ステップＳ２０８）。処理対象のＩＤ付き文書の操作種別が制限対象であれば（ステップＳ２０８でＹＥＳ）、そのまま図８の例の手順の処理を終了し、処理対象のＩＤ付き文書の操作種別が制限対象でなければ（ステップＳ２０８でＮＯ）、登録制限情報の検索結果をＮＵＬＬ（検索結果なし）とした上で（ステップＳ２１２）、図８の例の手順の処理を終了する。
【００６０】
注目ＩＤのレコードの登録制限の項目に登録制限情報が設定されていない場合（ステップＳ２０４でＮＯ）、このレコードの操作種別が新規登録又は改訂登録であるか否かを判定する（ステップＳ２１０）。この判定結果がＹＥＳであれば、登録制限情報の検索結果をＮＵＬＬとし（ステップＳ２１２）、図８の例の手順の処理を終了する。一方、注目ＩＤのレコードの操作種別が新規登録及び改訂登録のいずれでもない場合（ステップＳ２１０でＮＯ）、注目ＩＤのレコードの親ＩＤの値を新たな注目ＩＤとし（ステップＳ２１４）、処理はステップＳ２０２に戻る。
【００６１】
図８の例の手順において、ステップＳ２０２，Ｓ２０４，Ｓ２１０，Ｓ２１４を含むループ処理により、処理対象のＩＤ付き文書の親文書を起点として派生関係の木構造（図６の例参照）を「新規登録」操作のノード（根ノード）又は「改訂登録」操作のノードが現れるまで先祖方向に遡った経路上に含まれるノードに設定された登録制限情報の検索が行われる。
【００６２】
図８の例の手順の処理が終了すると、処理は図７のステップＳ２０に戻る。再び図７を参照し、登録制限判定部１３４は、登録制限情報検索処理の検索結果がＮＵＬＬであるか否かを判定する（ステップＳ３０）。検索結果がＮＵＬＬであれば（ステップＳ３０でＹＥＳ）、処理対象のＩＤ付き文書は登録制限の対象でないと判定され、処理はステップＳ４０に進む。検索結果がＮＵＬＬでなければ（ステップＳ３０でＮＯ）、処理対象のＩＤ付き文書は登録制限の対象であると判定され、登録制限処理部１３６により、検索結果の登録制限情報の内容に従った制限処理が行われる（ステップＳ７０）。例えば、図５Ｂの例の表の管理ＩＤ"Doc1"のレコードの登録制限情報「子：応答，改訂登録：禁止」が検索結果である場合、この登録制限情報は、登録制限の対象である文書の文書管理サーバ１０への登録を禁止する旨を表す。よって、この例では、処理対象のＩＤ付き文書について文書ＤＢ１００及び派生関係ＤＢ１１０への登録を行わないことが制限処理となる。
【００６３】
ステップＳ４０では、文書登録部１３０は、処理対象のＩＤ付き文書の操作種別が改訂登録であるか否かを判定する。改訂登録でなければ（ステップＳ４０でＮＯ）、文書登録部１３０は、処理対象のＩＤ付き文書のメタ情報及び文書内容をそれぞれ派生関係ＤＢ１１０及び文書ＤＢ１００に登録する（ステップＳ６０）。改訂登録であれば（ステップＳ４０でＹＥＳ）、文書登録部１３０の登録制限処理部１３６は、登録制限情報設定処理を行う（ステップＳ５０）。登録制限情報設定処理では、文書の派生関係の木構造において現在の処理対象のＩＤ付き文書（すなわち、最新版のＩＤ付き文書）に対して先祖に該当するノードのうち「新規登録」操作又は「改訂登録」操作のノードについて登録制限情報を設定する。
【００６４】
図９に、登録制限情報設定処理（図７のステップＳ５０）の手順の一例を示す。図９を参照し、登録制限情報設定処理が開始されると、まず、登録制限処理部１３６は、処理対象のＩＤ付き文書の親ＩＤを注目ＩＤとする（ステップＳ５００）。次に、注目ＩＤに対応するレコードを派生関係ＤＢ１１０から取得する（ステップＳ５０２）。そして、取得したレコードの操作種別が新規登録又は改訂登録であるか否かを判定する（ステップＳ５０４）。注目ＩＤのレコードの操作種別が新規登録又は改訂登録である場合（ステップＳ５０４でＹＥＳ）、登録制限処理部１３６は、派生関係ＤＢ１１０において注目ＩＤのレコードに登録制限情報を設定し（ステップＳ５０６）、図９の例の手順の処理は終了する。この登録制限情報の内容は、例えば、システムの管理者などによって予め設定される。図５Ｂの例では、該当するレコードに対応するＩＤ付き文書の子として、操作種別が「応答」又は「改訂登録」であるＩＤ付き文書の登録を禁止する旨を表す情報が登録制限情報として設定される。
【００６５】
図９のステップＳ５０４において、注目ＩＤのレコードの操作種別が新規登録及び改訂登録のいずれでもない場合、登録制限処理部１３６は、注目ＩＤのレコード中の親ＩＤの値を新たな注目ＩＤとして設定し（ステップＳ５０８）、処理はステップＳ５０２に戻る。
【００６６】
図９の例の手順において、ステップＳ５０２，Ｓ５０４，Ｓ５０８を含むループ処理により、処理対象のＩＤ付き文書の親文書を起点として派生関係の木構造を根ノードの方向に遡る経路上で最初に現れる「改訂登録」操作のノードに対応する派生関係ＤＢ１１０のレコードに登録制限情報が設定される。根ノードまで遡る経路上に「改訂登録」操作のノードが存在しない場合は、根ノード（操作種別は「新規登録」）に対応する派生関係ＤＢ１１０のレコードに登録制限情報が設定される。
【００６７】
図９の例の登録制限情報設定処理が終了すると、図７のステップＳ６０で、文書登録部１３０は、処理対象のＩＤ付き文書のメタ情報及び文書内容をそれぞれ派生関係ＤＢ１１０及び文書ＤＢ１００に登録する。
【００６８】
以上、図７〜図９を参照して説明した文書登録部１３０の処理の例によると、あるＩＤ付き文書の改訂版の文書（操作種別は「改訂登録」）が文書管理サーバ１０に登録されるときに、文書の派生関係の木構造において、当該改訂版の文書の先祖に該当する「新規登録」操作の文書又は「改訂登録」操作の文書について登録制限情報が設定される。「改訂登録」操作の文書が文書管理サーバ１０に登録された時点では、当該文書が属する派生関係の木構造において、当該文書が最新版の文書である。したがって、登録制限情報は、最新版の文書の先祖に該当する文書について設定されるものであると言える。そして、文書登録部１３０がＩＤ付き文書をクライアント端末２０から受信したときには、当該文書の親文書を起点として派生関係の木構造を根ノードの方向に遡って登録制限情報を検索する。このとき、根ノードまで遡る経路上に登録制限情報の設定されていない「改訂登録」操作のノードがあれば、このノードは最新版の文書に対応するため、クライアント端末２０から受信した文書は最新版の文書の子孫に該当し、登録制限の対象とならない。一方、根ノードまで遡る経路上に登録制限情報の設定されているノードが存在すれば、クライアント端末２０から受信した文書は最新版の文書の先祖に該当する文書から派生した文書であり、登録制限の対象となる。
【００６９】
以上より、図７〜図９を参照して説明した文書登録部１３０の処理の例によると、１つの「新規登録」操作の文書を根ノードとする木構造に含まれる文書のうち最新版の文書の先祖に該当する文書に対して特定の操作種別の操作を実行した結果の文書の登録は制限される。言い換えると、改訂版の文書が登録された後に、当該改訂版よりも古いバージョンのＩＤ付き文書に対して、登録制限情報において制限される操作種別（図５Ｂの例では、「応答」又は「改訂登録」）の操作が行われた結果として生成されたＩＤ付き文書は、登録制限の対象となる。
【００７０】
以上、文書管理サーバ１０の文書登録部１３０の処理の手順の例を説明した。以下、図５Ａ、図５Ｂ及び図６を参照し、文書管理システムにおける文書操作の情報の登録の様子の具体例を説明する。
【００７１】
図５Ａを参照し、まず、文書の「新規登録」操作がuserAのクライアント端末で実行される。「新規登録」操作は、文書管理サーバ１０に未登録の文書（すなわち、管理ＩＤを有していない文書）を当該サーバ１０に登録するための操作である。この操作に応じて管理ＩＤが"Doc1"、親ＩＤが空、操作種別が「新規登録」であるメタ情報と、その文書の文書内容とを含むＩＤ付き文書"Doc1"がuserAのクライアント端末から文書管理サーバ１０に送られる。これに応じ、文書管理サーバ１０の文書登録部１３０は、図７の例の手順の処理を開始する。ＩＤ付き文書"Doc1"の操作種別は新規登録であるため、図７のステップＳ１０からステップＳ６０に進み、文書登録部１３０は、ＩＤ付き文書"Doc1"中の文書内容を文書ＤＢ１００へ、メタ情報を派生関係ＤＢ１１０にそれぞれ登録する。その後、userAは、登録したＩＤ付き文書を他のユーザuserB，userC，userDに配布する。この配布は、例えば、電子メールにそのＩＤ付き文書を添付して各ユーザに送信することにより、行うことができる。
【００７２】
その後、他のユーザuserBが自分のクライアント端末の文書操作部２００でＩＤ付き文書"Doc1"に対してコメントの付加を行い、操作メニュー上で「応答（コメント付き文書の登録）」を指示する。クライアント端末２０は、この「応答」操作の結果としてＩＤ付き文書"Doc2"を生成し、このＩＤ付き文書"Doc2"が文書管理サーバ１０に送信される。このＩＤ付き文書のメタ情報における管理ＩＤは"Doc2"であり親ＩＤは"Doc1"である。また操作者はuserBであり、操作種別は「応答」である。また、ＩＤ付き文書"Doc1"に対してコメントを付加したことにより、文書内容３２０は、ＩＤ付き文書"Doc1"の文書内容から変化している。文書管理サーバ１０は、受け取ったＩＤ付き文書の親ＩＤの値から、当該文書"Doc2"が文書"Doc1"の子であることを認識する。文書管理サーバ１０の文書登録部１３０において、ＩＤ付き文書"Doc2"を処理対象とする図７の例の手順の処理は、操作種別が「新規登録」でないことからステップＳ１０からステップＳ２０へ進み、処理対象の文書"Doc2"の親である文書"Doc1"に登録制限情報が設定されていないことから登録制限情報検索処理（図８）の検索結果はＮＵＬＬとなり、図７のステップＳ３０からステップＳ４０へ進む。さらに、操作種別が「改訂登録」でないため、登録制限情報設定処理（ステップＳ５０）が行われることなく、ＩＤ付き文書"Doc2"について、メタ情報は派生関係ＤＢ１１０に、文書内容は文書ＤＢ１００に、それぞれ登録される。
【００７３】
なお、この操作の前にuserBのクライアント端末２０内にあったＩＤ付き文書"Doc1"は、この操作に伴い、派生関係組込部２０４によりＩＤ付き文書"Doc2"に置き換えられる。この置き換え処理では、派生関係組込部２０４は、元のＩＤ付き文書"Doc1"のうち、メタ情報３１０の管理ＩＤ３１２を新たに発行したＩＤ"Doc2"へ変更すると共に、元の文書"Doc1"の管理ＩＤ"Doc1"を親ＩＤ３１４の値にセットする。また、派生関係組込部２０４は、ログ情報３１６中の操作種別の値を今回の操作の種別である「応答」に変更し、操作時刻の値をその応答の日時に変更し、操作者の値をuserBに変更する。さらに、文書内容３２０をコメント付加後の内容に変更する。
【００７４】
このようにＩＤ付き文書"Doc1"に対する操作が実行されると、ＩＤ付き文書"Doc1"は、操作後のＩＤ付き文書"Doc2"に置き換えられる。したがって、その置き換えの後は、ＩＤ付き文書"Doc1"自体はそのクライアント端末２０には存在せず、その代わりにＩＤ付き文書"Doc2"が存在することとなる。
【００７５】
その後、userCが自分のクライアント端末２０の文書操作部２００によってＩＤ付き文書"Doc1"に対してコメントを付加し、操作メニュー上で「応答」を指示すると、クライアント端末２０は、管理ＩＤ３１２の値が"Doc3"、親ＩＤ３１４の値が"Doc1"、操作種別の値が「応答」であるＩＤ付き文書"Doc3"を生成する。そして、クライアント端末２０は、生成したＩＤ付き文書"Doc3"を「応答」操作の前のＩＤ付き文書"Doc1"と置き換えると共に、ＩＤ付き文書"Doc3"を文書管理サーバ１０に登録する。コメントの付加により、文書内容はＩＤ付き文書"Doc1"の文書内容から変化している。文書管理サーバ１０の文書登録部１３０では、ＩＤ付き文書"Doc3"を処理対象として図７の例の手順の処理が行われる。ＩＤ付き文書"Doc3"は、ＩＤ付き文書"Doc2"と同じ操作種別「応答」及び親ＩＤ"Doc1"を有するため、図７の例の処理は文書"Doc2"について上述した手順と同様に進んで、派生関係ＤＢ１１０には、管理ＩＤ"Doc3"のレコードが登録される。
【００７６】
さらに、userAが、自己のクライアント端末２０でＩＤ付き文書"Doc1"に対して「閲覧」操作を行うと、クライアント端末２０は、閲覧の結果としてＩＤ付き文書"Doc4"を生成してＩＤ付き文書"Doc1"と置き換えると共に、文書管理サーバ１０へ送信する。文書管理サーバ１０の文書登録部１３０において、ＩＤ付き文書"Doc4"を処理対象とする図７の例の手順の処理は、その操作種別が「新規登録」及び「改訂登録」のいずれでもなく、かつ、ＩＤ付き文書"Doc4"の親であるＩＤ付き文書"Doc1"について登録制限情報が設定されていないため、ＩＤ付き文書"Doc2"について上述した手順と同様に処理が進む。派生関係ＤＢ１１０には、管理ＩＤ"Doc4"のレコードが登録される。図５Ａの例の表は、この時点での派生関係ＤＢ１１０のデータ内容の例を示す。
【００７７】
ＩＤ付き文書"Doc4"が文書管理サーバ１０に登録された後、userAがクライアント端末２０の文書操作部２００によりＩＤ付き文書"Doc4"に対して編集を加えて新しいバージョンの文書を作成し、操作メニュー上で「改訂登録」を指示する。クライアント端末２０は、この「改訂登録」操作の結果のＩＤ付き文書"Doc5"を生成し、文書管理サーバ１０へ送信する。文書管理サーバ１０の文書登録部１３０は、ＩＤ付き文書"Doc5"を処理対象として図７の例の手順の処理を行う。図７を参照し、ＩＤ付き文書"Doc5"の操作種別は新規登録でないため、ステップＳ１０の判定の結果ＮＯに進んで、登録制限情報検索処理（ステップＳ２０）が行われる。この時点で、派生関係ＤＢ１１０は、図５Ａの例のデータ内容を有する。ＩＤ付き文書"Doc5"の親であるＩＤ付き文書"Doc4"と、そのさらに親であるＩＤ付き文書"Doc1"（根ノード）には、いずれも登録制限情報が設定されていないため、登録制限情報検索処理（図８）の検索結果はＮＵＬＬとなり、図７のステップＳ３０からステップＳ４０に進む。処理対象のＩＤ付き文書"Doc5"の操作種別は改訂登録であるため、登録制限情報設定処理（ステップＳ５０，図９）が行われる。登録制限情報設定処理では、ＩＤ付き文書"Doc5"の親であるＩＤ付き文書"Doc4"から文書の派生関係の木構造（図６）を遡って現れる新規登録ノードに対応する派生関係ＤＢ１１０のレコード（管理ＩＤ"Doc1"）について、登録制限情報が設定される。図５Ｂの例の表の管理ＩＤ"Doc1"のレコードは、この登録制限情報設定処理の結果のレコードの例を示す。登録制限情報設定処理が終了すると、図７のステップＳ６０で、処理対象のＩＤ付き文書の管理ＩＤ"Doc5"のレコードが派生関係ＤＢ１１０に登録される。
【００７８】
この時点で、ＩＤ付き文書"Doc5"は、新規登録されたＩＤ付き文書"Doc1"から派生する文書のうち、最新版の文書である。その後、この最新版のＩＤ付き文書"Doc5"をuserAから電子メールなどによって受け取ったuserB及びuserCは、それぞれ、自己のクライアント端末２０において、ＩＤ付き文書"Doc5"に対してコメントを付加し、「応答」操作を行う。図５Ｂの管理ＩＤ"Doc6"及び"Doc7"のレコードは、それぞれ、userB及びuserCの各「応答」操作の結果のＩＤ付き文書に対応する。各ＩＤ付き文書"Doc6"及び"Doc7"をクライアント端末２０から受け取ったときの文書管理サーバ１０の文書登録部１３０における図７の例の手順の処理は、それぞれ同様の手順で進む。登録情報検索処理（ステップＳ２０，図８）では、処理対象のＩＤ付き文書"Doc6"（"Doc7"）の親であるＩＤ付き文書"Doc5"に登録制限情報が設定されておらず、かつ、ＩＤ付き文書"Doc5"の操作種別が改訂登録であるため、図８においてステップＳ２０４，Ｓ２１０，Ｓ２１２の順に処理が進んで検索結果はＮＵＬＬとなる。さらに、処理対象のＩＤ付き文書"Doc6"（"Doc7"）の操作種別は「応答」であるため、図７のステップＳ４０の判定でＮＯに進み、登録制限情報設定処理（ステップＳ５０）が行われることなく、当該管理ＩＤ"Doc6"（"Doc7"）のレコードが派生関係ＤＢ１１０に登録される。図５Ｂは、この時点での派生関係ＤＢ１１０のデータ内容の例である。
【００７９】
以上で説明した具体例では、登録制限情報を用いた制限処理（図７のステップＳ７０）は行われない。以下、制限処理が行われる場合の具体例を説明する。例えば、派生関係ＤＢ１１０に図５Ｂの例の内容のデータが登録されている場合に、ＩＤ付き文書"Doc1"に対して、userDが自己のクライアント端末２０においてコメントを付加し、「応答」操作を行ったとする。この「応答」操作の結果としてuserDのクライアント端末２０が生成したＩＤ付き文書"Doc8"（親ＩＤは"Doc1"）は、文書管理サーバ１０へ送信される。文書管理サーバ１０の文書登録部１３０が当該文書"Doc8"を処理対象として図７の例の手順の処理を行うと、登録制限情報検索処理（図７のステップＳ２０，図８）の結果として、図５Ｂの管理ＩＤ"Doc1"のレコードに設定されている登録制限情報が取得される。この登録制限情報は、当該管理ＩＤ"Doc1"に対応する文書の子であって操作種別が「応答」であるＩＤ付き文書を文書管理サーバ１０に登録することを禁止する旨を表す。登録制限処理部１３６は、この登録制限情報が表す内容に従って、ＩＤ付き文書"Doc8"に対応するレコードを派生関係ＤＢ１１０に登録しないよう派生関係登録部１３２に対して指示を出す。この指示の結果、ＩＤ付き文書"Doc8"のメタ情報の派生関係ＤＢ１１０への登録は行われない。さらに、ＩＤ付き文書"Doc8"の文書内容の文書ＤＢ１００への登録も行なわれない。このとき、登録制限処理部１３６は、当該文書"Doc8"の送信元のクライアント端末２０に対して、当該文書"Doc8"を文書管理サーバ１０に登録しない旨を表す情報を返してもよい。
【００８０】
また例えば、当該文書"Doc8"の親文書"Doc1"が属する派生関係の木構造に含まれる文書のうち最新版の文書であるＩＤ付き文書"Doc5"に対して「応答」操作を行うことをユーザに促す情報をクライアント端末２０に送ってもよい。このように制限処理において最新版文書に対する操作の実行を促す情報をクライアント端末２０に送信する場合、登録制限処理部１３６は、例えば、次のように最新版文書の管理ＩＤを検索する。まず、登録制限情報検索処理により取得された登録制限情報が設定されているＩＤ付き文書（図８の手順の処理の終了時の注目ＩＤに対応する文書。本例では、"Doc1"）の子ＩＤを検索する。子ＩＤは、当該ＩＤ付き文書の管理ＩＤの値を親ＩＤとして有するレコードを派生関係ＤＢ１１０から抽出し、抽出したレコードの管理ＩＤの値を取得することで得られる。本例では、登録制限情報が設定されている文書"Doc1"の子ＩＤとして"Doc2"，"Doc3"，"Doc4"が得られる。そして、各子ＩＤについて、図１０に例示する子孫探索処理を行う。
【００８１】
図１０を参照し、まず、登録制限処理部１３６は、当該子ＩＤを注目ＩＤとする（ステップＳ１１）。次に、その注目ＩＤに対応するレコードを派生関係ＤＢ１１０から取得し（ステップＳ１２）、取得したレコードを中間結果リストに入れる（ステップＳ１３）。その後、注目ＩＤの子ＩＤを検索し（ステップＳ１４）、子ＩＤが検索できたか否かを判定する（ステップＳ１５）。子ＩＤがあれば（ステップＳ１５でＹＥＳ）、それら各子ＩＤについて、それぞれ、子孫探索処理（ステップＳ４）を再帰的に実行する。すべての子ＩＤについての子孫探索処理が終了すると、当該注目ＩＤについての処理が終了する。ステップＳ１５で子ＩＤがないと判定された場合も、当該注目ＩＤについての処理は終了する。
【００８２】
登録制限情報が設定されているＩＤ付き文書の子ＩＤのすべてについて図１０の例の子孫探索処理が終了すると、中間結果リストには、登録制限情報が設定されているＩＤ付き文書の子孫に該当する文書に対応するレコードが蓄積されている。中間結果リストに蓄積されたレコードであって操作種別が「改訂登録」であるレコードのうち操作日時が最新であるレコードの管理ＩＤが最新版文書の管理ＩＤである。
【００８３】
図５Ｂを参照する本例では、図１０の例の子孫探索処理の結果、中間結果リストには、管理ＩＤ"Doc2"，"Doc3"，"Doc4"，"Doc5"，"Doc6"，"Doc7"の各レコードが蓄積される。これらのレコードにおいて操作種別が「改訂登録」であるものは、管理ＩＤ"Doc5"のレコードのみであるため、"Doc5"が最新版文書の管理ＩＤとして取得される。
【００８４】
制限処理の他の例では、最新版の文書の先祖に該当する文書に対して行なわれた操作結果のＩＤ付き文書を、最新版の文書の子として文書管理サーバ１０に登録してもよい。図１１に、この例の制限処理を表す登録制限情報が設定される場合の派生関係ＤＢ１１０のデータ内容の一例を示す。また、図１２に、図１１に例示するデータ内容における管理ＩＤ群がなす木構造を表す。
【００８５】
図１１及び図１２の例の文書の履歴を時系列順で簡単に説明する。まず、userAの「新規登録」操作によりＩＤ付き文書"Doc11"が文書管理サーバ１０に登録される。この時点では、派生関係ＤＢ１１０の管理ＩＤ"Doc11"のレコードの登録制限の項目は空である。その後、userB，userCが順に文書"Doc11"に対する「応答」操作を行って、ＩＤ付き文書"Doc12"，"Doc13"（親ＩＤは、いずれも"Doc11"）が登録される。次に、userAが文書"Doc11"に対して「改訂登録」操作を行うことで、改訂版のＩＤ付き文書"Doc14"が生成されて文書管理サーバ１０に登録される。このとき、文書"Doc14"の操作種別が「改訂登録」であるので、その親文書であって「新規登録」操作の文書である文書"Doc11"に対応する派生関係ＤＢ１１０のレコードに登録制限情報が設定される。図１１を参照し、管理ＩＤ"Doc11"のレコードの登録制限の項目に設定される値は、「子：応答：最新版に移動、子：改訂登録：禁止」である。このうち、「子：応答：最新版に移動」の部分は、該当するレコードに対応するＩＤ付き文書に対する「応答」操作の結果のＩＤ付き文書について、最新版のＩＤ付き文書の子として派生関係ＤＢ１１０に登録することを表す。また、「子：改訂登録：禁止」の部分は、図５Ｂを参照する上述の例と同様に、該当するレコードに対応するＩＤ付き文書に対する「改訂登録」操作の結果のＩＤ付き文書の文書管理サーバ１０への登録を禁止する旨を表す。なお、文書"Doc14"が文書管理サーバ１０に登録された時点では、「新規登録」操作の文書"Doc11"から派生した文書のうち文書"Doc14"が最新版であり、管理ＩＤ"Doc14"のレコードには登録制限情報は設定されていない。
【００８６】
その後、文書"Doc14"に対する「応答」操作が各userB，userCによって行われ、各操作は最新版の文書に対する操作であるため、登録制限の対象とならず、各「応答」操作の結果の文書"Doc15"，"Doc16"が文書管理サーバ１０に登録される。さらに、userAが現時点での最新版の文書"Doc14"に対して「改訂登録」操作を行うと、その結果として文書"Doc17"が生成されて文書管理サーバ１０に登録される。文書"Doc17"は、新たな最新版文書である。文書"Doc17"の操作種別は「改訂登録」であることから、登録制限情報設定処理が行われ、文書"Doc17"の親文書であって操作種別が「改訂登録」である文書"Doc14"に対応する派生関係ＤＢ１１０のレコードに登録制限情報が設定される。管理ＩＤ"Doc14"のレコードに設定される登録制限情報の内容は、管理ＩＤ"Doc11"のレコードと同様である。
【００８７】
さらに、図１１の例の表において、管理ＩＤ"Doc17"のレコードが登録された後、userDのクライアント端末２０において、ＩＤ付き文書"Doc11"（操作種別は「新規登録」）に対してコメントを付加する「応答」操作が行われたとする。この「応答」操作の結果としてuserDのクライアント端末２０が生成した新たなＩＤ付き文書"Doc18"（親ＩＤは"Doc11"）を受け取ると、文書管理サーバ１０の文書登録部１３０は、当該文書"Doc18"を処理対象として図７の例の手順の処理を開始する。このとき、登録制限情報検索処理（図７のステップＳ２０、図８）の検索結果として、処理対象の文書"Doc18"の親である文書"Doc11"に対して設定されている登録制限情報「子：応答：最新版に移動、子：改訂登録：禁止」が取得される。この登録制限情報に従って、文書登録部１３０の登録制限処理部１３６は、制限処理（図７のステップＳ７０）を行う。この制限処理において、処理対象の文書"Doc18"の操作種別は「応答」であることから、検索結果の登録制限情報のうち「子：応答：最新版に移動」の部分に従って、登録制限処理部１３６は、当該文書"Doc18"を最新版文書の子文書として派生関係ＤＢ１１０に登録する。そのために登録制限処理部１３６は、図１０の例の手順の子孫探索処理を行って最新版文書の管理ＩＤを検索する。図１１を参照する本例において、最新版文書の管理ＩＤは、登録制限情報検索処理により取得された登録制限情報が設定されている文書"Doc11"の子孫に該当する文書であって操作種別が「改訂登録」である文書"Doc14"，"Doc17"のうち、操作日時が最新である文書の管理ＩＤ"Doc17"である。最新版文書の管理ＩＤ"Doc17"を取得すると、登録制限処理部１３６は、ＩＤ付き文書"Doc18"（"Doc11"に対する「応答」操作結果の文書）を最新版文書である"Doc17"の子文書として派生関係ＤＢ１１０に登録する。
【００８８】
図１１の管理ＩＤ"Doc18"のレコードは、本例の制限処理によって登録されるレコードの例である。管理ＩＤ"Doc18"のレコードにおいて、親ＩＤの値として、最新版文書の管理ＩＤ"Doc17"が設定される。また、操作種別は「応答」、操作者は当該操作を行ったuserDである。さらに、管理ＩＤ"Doc18"のレコードの「情報」の項目に、ＩＤ付き文書"Doc18"の実際の親文書が"Doc11"である旨を表す情報が登録される。図１２は、図１１の例の表で管理ＩＤ"Doc18"が派生関係ＤＢ１１０に登録された時点での派生関係が成す木構造の例を示す。以上で説明した制限処理により、旧バージョンの文書"Doc11"の子文書として生成された文書"Doc18"は、文書管理サーバ１０において最新版文書"Doc17"の子文書として管理される。
【００８９】
制限処理のさらに他の例では、旧バージョンの文書に対する操作結果のＩＤ付き文書を、制限処理が行われない場合の登録処理と同様に旧バージョンの文書の子文書として派生関係ＤＢ１１０に登録すると共に、当該子文書への参照情報を最新版のＩＤ付き文書の子文書として設定する。図１３に、この例の制限処理が行われる場合の派生関係ＤＢ１１０のデータ内容の例を示す。図１３の例の管理ＩＤ"Doc11"〜"Doc17"までの文書の操作の履歴は、図１１に例示する履歴と同様である。管理ＩＤ"Doc11"，"Doc14"の各レコードに設定される登録制限情報の内容だけが異なる。図１３の例の表において、管理ＩＤ"Doc11"，"Doc14"のレコードに設定された登録制限情報は、「子：応答：最新版に参照設定、子：改訂登録：禁止」である。このうち、「子：改訂登録：禁止」の部分は、図１１の例と同様である。「子：応答：最新版に参照設定」の部分は、登録制限の対象であるＩＤ付き文書であって操作種別が「応答」である文書について、当該「応答」操作の実行対象であった文書（親文書）の子として派生関係ＤＢ１１０に登録すると共に、登録された当該文書への参照情報を最新版文書の子文書として登録することを表す。
【００９０】
本例の制限処理が行われる場合の文書登録部１３０の処理の具体例を以下に述べる。図１１を参照して説明した上記の例と同様に、図１３の例の表の管理ＩＤ"Doc11"〜"Doc17"までのレコードが派生関係ＤＢ１１０に登録されている時点で、useDが、ＩＤ付き文書"Doc11"に対してコメントを付加して「応答」操作を行ったとする。この「応答」操作の結果であるＩＤ付き文書"Doc18"を受け取った文書管理サーバ１０において、登録制限情報検索処理（図７のステップＳ２０、図８）の結果、当該文書"Doc18"の親である文書"Doc11"に設定された登録制限情報が取得される。当該文書"Doc18"の操作種別は「応答」であることから、取得した登録制限情報のうち「子：応答：最新版に参照設定」に従って制限処理（図７のステップＳ３０）が行われる。本例の制限処理では、まず、登録制限処理部１３６は、ＩＤ付き文書"Doc18"のメタ情報を派生関係ＤＢ１１０に、文書内容を文書ＤＢ１００に登録する。図１３の管理ＩＤ"Doc18"のレコードは、このときに派生関係ＤＢ１１０に登録されたレコードの例である。管理ＩＤ"Doc18"のレコードにおいて、親ＩＤは"Doc11"、操作種別は「応答」である。この登録処理は、登録制限処理の対象でないＩＤ付き文書の登録処理と同様である。さらに、登録制限処理部１３６は、派生関係ＤＢ１１０において、制限処理の対象であるＩＤ付き文書"Doc18"への参照情報を表すレコードを新たに生成する。当該新たなレコードの親ＩＤの値としては、最新版文書の管理ＩＤが設定される。最新版文書の管理ＩＤは、例えば、図５Ｂ又は図１１を参照する上記の例と同様に、図１０に例示する手順の子孫探索処理を実行することで検索される。また、登録制限処理部１３６は、当該参照情報を表す新たなレコードの管理ＩＤを生成し、生成した値を当該レコードの管理ＩＤの値として設定する。例えば、クライアント端末２０の文書操作部２００のＩＤ割り当て部２０２と同様の処理を行うことで、登録制限処理部１３６は、新たな管理ＩＤを生成する。図１３の例の表の管理ＩＤ"Doc19"のレコードは、上述のように登録された新たなレコードの例である。管理ＩＤ"Doc19"のレコードにおいて、親ＩＤの値は、最新版文書の管理ＩＤ"Doc17"に設定され、「参照情報」の項目には、登録制限の対象であるＩＤ付き文書"Doc18"の管理ＩＤが登録されている。図１４は、図１３の例の表の派生関係が成す木構造の例を示す。
【００９１】
なお、上述の文書登録部１３０の各種の処理の例では、制限処理（図７のステップＳ７０）において、最新版文書の管理ＩＤが必要となる度に、派生関係の木構造を走査して最新版文書の管理ＩＤを検索する処理が行われる。他の例では、派生関係ＤＢ１１０において、文書の派生関係の木構造の根ノード（「新規登録」操作のノード）と関連付けて、その時点での最新版文書の管理ＩＤを記憶しておいてもよい。この例の場合、例えば、操作種別が「改訂登録」であるＩＤ付き文書を派生関係ＤＢ１１０に登録するときに、当該ＩＤ付き文書の属する木構造の根ノードの文書の管理ＩＤと関連付けて、当該「改訂登録」操作のＩＤ付き文書の管理ＩＤを最新版文書の管理ＩＤとして派生関係ＤＢ１１０に登録する。この例において、制限処理では、登録制限処理部１３６は、処理対象のＩＤ付き文書の親文書が属する木構造の根ノードに対応する派生関係ＤＢ１１０のレコードを参照して最新版文書の管理ＩＤを取得する。
【００９２】
以上、クライアント端末２０からＩＤ付き文書を受け取った場合の文書管理サーバ１０の文書登録部１３０の処理について説明した。次に、クライアント端末２０からサービス要求を受けた場合に、文書管理サーバ１０の要求処理部１４０が行う処理の例を説明する。以下では、サービス要求中で指定された管理ＩＤに対応する文書又は当該文書から派生した文書に対して付加されたコメントに関する情報を提供することを要求するサービス要求に応じた処理の例を説明する。
【００９３】
図１５を参照し、まず、要求処理部１４０は、クライアント端末２０から受け取ったサービス要求から、指定文書の管理ＩＤを取り出し、その管理ＩＤを注目ＩＤにセットする（ステップＳ１）。次に、要求処理部１４０は、派生関係ＤＢ１１０を参照し、注目ＩＤの子ＩＤを検索する（ステップＳ２）。派生関係ＤＢ１１０のうちその注目ＩＤを「親ＩＤ」の値として持つレコードの「管理ＩＤ」が、注目ＩＤの子ＩＤである。そして、注目ＩＤの子ＩＤが存在するか否かを判定する（ステップＳ３）。注目ＩＤの子ＩＤが存在しない場合（ステップＳ３でＮＯ）、要求処理部１４０は、「検索結果なし」を表す情報をサービス実行の結果としてクライアント端末２０に返す（ステップＳ７）。注目ＩＤの子ＩＤが存在する場合（ステップＳ３でＹＥＳ）、要求処理部１４０は、それら子ＩＤごとに、図１０を参照して説明した子孫探索処理を実行する。
【００９４】
注目ＩＤのすべての子ＩＤについてステップＳ４の子孫探索処理が終了すると、中間結果リストには、注目ＩＤに対応する文書から派生した文書に対応するレコードが蓄積されていることになる。要求処理部１４０は、サービス要求において指定された検索条件を満たすレコードが中間結果リスト中に存在するか否かを判定する（ステップＳ５）。本例では、文書に対するコメントの付加に関連するレコードを抽出する検索条件がサービス要求において指定される。例えば、「操作種別が「応答」である」という検索条件が指定される。また例えば、文書登録部１３０において旧バージョンの文書に対する「応答」操作の結果の文書への参照情報を最新版文書の子として登録する制限処理を行う場合（図１３参照）、検索条件を「『操作種別が「応答」である』又は『参照情報の項目の値がＮＵＬＬでない』」と指定してもよい。検索条件を満たすレコードが存在する場合（ステップＳ５でＹＥＳ）、要求処理部１４０は、検索条件を満たすレコードに対応する文書に含まれるコメント情報を検索結果として提供する（ステップＳ６）。例えば、要求処理部１４０は、対応する文書の文書内容から、コメント情報の部分を抽出して提供してもいいし、対応する文書の文書内容のすべてを提供してもよい。さらに、対応する文書の派生関係ＤＢ１１０のレコードの内容の一部又はすべてをクライアント端末２０へ送ってもよい。また例えば、検索条件を満たすレコードとして、「応答」操作の文書への参照情報を含むレコード（例えば、図１３の管理ＩＤ"Doc19"のレコード）を取得した場合、要求処理部１４０は、その参照情報が表す文書に含まれるコメント情報を検索結果として提供する。中間結果リスト内に検索条件を満たすレコードが存在しなかった場合（ステップＳ５でＮＯ）、検索条件を満たす文書が見つからなかった旨を表す情報をクライアント端末２０へ送る（ステップＳ７）。
【００９５】
図７〜図１４を参照して説明した文書登録部１３０の各種の例の処理では、ある「新規登録」操作の文書から派生した文書のうちの最新版の文書（最新の「改訂登録」操作の文書）に対し派生関係の木構造において先祖に該当する文書に対して、「改訂登録」操作又は「応答」操作が行われた場合、当該操作結果の文書は、文書管理サーバ１０に登録されないか（図５Ｂ）、あるいは、最新版の文書の子を検索することで検索可能となるように文書管理サーバ１０に登録される（図１１、図１３）。したがって、最新版の文書の登録の後に、当該最新版の文書が属する派生関係の木構造に含まれる文書に対して行われた操作に関する情報について、最新版の文書の先祖に該当する文書を検索することなく、最新版の文書の子孫に該当する文書を検索するだけで取得される。
【００９６】
以上に例示した例では、管理ＩＤの発行は主に各クライアント端末２０で行われていたが、この代わりに文書管理サーバ１０がすべての管理ＩＤを発行してもよい。この場合、クライアント端末２０は、ＩＤ付き文書に対して操作を行った場合、操作前のＩＤ付き文書内の管理ＩＤを親ＩＤ３１４として含み、更にその操作についてのログ情報３１６と操作後の文書内容３２０とを含み、管理ＩＤ３１２は空欄の文書データを生成し、文書管理サーバ１０に送る。文書管理サーバ１０は、受け取った文書データに対して新たな管理ＩＤを付与し、この管理ＩＤとその文書データとに含まれる情報を、文書ＤＢ１００及び派生関係ＤＢ１１０に登録する。また、文書管理サーバ１０は、付与した管理ＩＤを当該文書データにセットすることによりＩＤ付き文書を生成し、これをクライアント端末２０に返す。クライアント端末２０は、操作前のＩＤ付き文書を、受け取ったＩＤ付き文書に置き換える。このように、文書管理サーバ１０が管理ＩＤを付与する構成でも、上述の各例の処理は同様に実行できる。
【００９７】
また以上の例では、管理ＩＤ３１２、親ＩＤ３１４、ログ情報３１６、及び文書内容３２０を含んだＩＤ付き文書３００がクライアント端末２０に保存されたが、この代わりに、クライアント端末２０は管理ＩＤしか持たず、その他の情報は文書管理サーバ１０に保存されるようにしてもよい。この場合、クライアント端末２０で文書を操作する場合、その文書に対応する管理ＩＤを文書管理サーバ１０に送り、文書管理サーバ１０からその文書を取得する。また、別の例として、クライアント端末２０が保持するＩＤ付き文書３００の中には管理ＩＤ３１２と文書内容３２０とが含まれ、親ＩＤ３１４及びログ情報３１６は含まれないようにしても良い。この場合、サーバがその管理ＩＤ３１２に対応づけて親ＩＤ３１４とログ情報３１６を持つようにすれば良い。
【００９８】
ここで、文書管理サーバ１０が管理ＩＤを付与する場合は、その取得の操作に対応する管理ＩＤを文書管理サーバ１０が生成し、その管理ＩＤと文書とを対応づけてクライアント端末２０に提供するとともに、その取得操作についてのログ情報（操作時刻や操作者など）と、元の管理ＩＤ（すなわち親ＩＤ）と、付与した管理ＩＤとを派生関係ＤＢ１１０に記録する。クライアント端末２０は、文書管理サーバ１０に送信した管理ＩＤを、受け取った管理ＩＤに置き換えるとともに、受け取った文書を開く。ユーザは、開かれた文書に対して閲覧や編集などの操作を行う。クライアント端末２０は、文書に対する操作が完了すると、操作後の文書を管理ＩＤ及び当該操作についてのログ情報とともに文書管理サーバ１０に送る。文書管理サーバ１０は、受け取った文書に対して新たな管理ＩＤを付与して派生関係ＤＢ１１０に登録し、受け取った管理ＩＤを親ＩＤとして派生関係ＤＢ１１０に登録する。また、受け取ったログ情報及び操作後の文書を、派生関係ＤＢ１１０及び文書ＤＢ１００に登録する。そして、文書管理サーバ１０は、新たに付与した管理ＩＤをクライアント端末２０に返す。クライアント端末２０は、元の管理ＩＤを受け取った管理ＩＤで置き換える。以上のような処理により、操作間の派生関係が文書管理サーバ１０に蓄積されることになる。
【００９９】
一方、クライアント端末２０が管理ＩＤを付与する構成の場合は、文書管理サーバ１０は、クライアント端末２０から受け取った管理ＩＤに対応する文書をクライアントに返せばよい。クライアント端末２０は受け取った文書を開き、ユーザがその文書を操作する。操作の完了後、クライアント端末２０はその操作結果の文書に対して新たな管理ＩＤを付与し、この管理ＩＤを含んだ前述のＩＤ付き文書と同様の情報を、文書管理サーバ１０に送る。そして、クライアント端末２０は、そのＩＤ付き文書のうち管理ＩＤのみを保存し、その他の情報を削除する。
【０１００】
以上に例示したシステムにおける文書管理サーバ１０は、典型的には、汎用のコンピュータにて上述の文書管理サーバの各部の機能又は処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、図１６に示すように、ＣＰＵ（中央演算装置）４０、メモリ（一次記憶）４２、各種Ｉ／Ｏ（入出力）インタフェース４４等がバス４６を介して接続された回路構成を有する。また、そのバス４６に対し、例えばＩ／Ｏインタフェース４４経由で、ＨＤＤ（ハードディスクドライブ）４８やＣＤやＤＶＤ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブ５０が接続される。このようなドライブ４８又は５０は、メモリに対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク経由で、ＨＤＤ４８等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されＣＰＵにより実行されることにより、実施形態の処理が実現される。クライアント端末２０についても同様である。
【図面の簡単な説明】
【０１０１】
【図１】文書管理システムの概略構成の例を示す図である。
【図２】クライアント端末の内部構成の例を示すブロック図である。
【図３】ＩＤ付き文書のデータ構造の例を模式的に示す図である。
【図４】文書管理サーバの内部構成の例を示すブロック図である。
【図５Ａ】派生関係ＤＢのデータ内容の例を示す図である。
【図５Ｂ】図５Ａに例示した状態から一定時間経過後の派生関係ＤＢのデータ内容の例を示す図である。
【図６】図５Ｂに例示したデータ内容における管理ＩＤ群がなす木構造を図式化して表す図である。
【図７】文書登録部が行う処理の手順の例を示すフローチャートである。
【図８】登録制限情報を検索する処理の手順の例を示すフローチャートである。
【図９】登録制限情報を設定する処理の手順の例を示すフローチャートである。
【図１０】文書管理サーバ１０で行われる子孫探索処理の手順の例を示すフローチャートである。
【図１１】派生関係ＤＢのデータ内容の他の例を示す図である。
【図１２】図１０に例示したデータ内容における管理ＩＤ群がなす木構造を図式化して表す図である。
【図１３】派生関係ＤＢのデータ内容の他の例を示す図である。
【図１４】図１３に例示したデータ内容における管理ＩＤ群がなす木構造を図式化して表す図である。
【図１５】要求処理部が行う処理の手順の例を示すフローチャートである。
【図１６】コンピュータのハードウエア構成の例を示す図である。
【符号の説明】
【０１０２】
１０  文書管理サーバ、２０  クライアント端末、３０  ネットワーク、４０  ＣＰＵ、４２  メモリ、４４  Ｉ／Ｏインタフェース、４６  バス、４８  ＨＤＤ、５０  ディスクドライブ、１００  文書ＤＢ、１１０  派生関係ＤＢ、１３０  文書登録部、１３２  派生関係登録部、１３４  登録制限判定部、１３６  登録制限処理部、１４０  要求処理部、２００  文書操作部、２０２  ＩＤ割り当て部、２０４  派生関係組込部、２１０  登録処理部、３００  ＩＤ付き文書、３１０  メタ情報、３２０  文書内容。
【図１】
2010033227.tif 000003
【図２】
2010033227.tif 000004
【図３】
2010033227.tif 000005
【図４】
2010033227.tif 000006
【図５Ａ】
2010033227.tif 000007
【図５Ｂ】
2010033227.tif 000008
【図６】
2010033227.tif 000009
【図７】
2010033227.tif 000010
【図８】
2010033227.tif 000011
【図９】
2010033227.tif 000012
【図１０】
2010033227.tif 000013
【図１１】
2010033227.tif 000014
【図１２】
2010033227.tif 000015
【図１３】
2010033227.tif 000016
【図１４】
2010033227.tif 000017
【図１５】
2010033227.tif 000018
【図１６】
2010033227.tif 000019