(57)【要約】【課題】派生関係管理装置に接続できない情報処理装置で文書が操作された場合でも、その文書を介した派生関係が派生関係管理装置に収集されるようにする。【解決手段】ＩＤ付き文書３００には、当該文書の識別情報である管理ＩＤ３１２に加え、その文書の先祖の全ての文書の管理ＩＤの順序付きリストである先祖ＩＤ情報３５０を有する。クライアント端末は、ＩＤ付き文書３００に対して操作を行った場合、操作前のＩＤ付き文書中の先祖ＩＤ情報３５０に管理ＩＤ３１２を追加したものを、操作後のＩＤ付き文書の先祖ＩＤ情報３５０にセットする。また、新たに生成した識別情報を操作後のＩＤ付き文書３００の管理ＩＤ３１２にセットする。そして、文書管理サーバに通信できる場合には、操作後のＩＤ付き文書３００を文書管理サーバに送信する。【選択図】図９
2010140331.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と派生関係管理装置とを含み、
前記情報処理装置は、
第１の識別情報が付与された第１の文書であって、当該第１の文書自身から予め定められた世代数以上前の先祖の文書までの各世代の文書の識別情報を含んだ第１の派生関係情報を有する第１の文書、に対して操作が行われた場合に、前記第１の文書の操作後の文書である第２の文書に対して第２の識別情報を付与する付与手段と、
前記派生関係管理装置と通信できる場合には、前記第１の派生関係情報に対して前記第２の識別情報を追加した第２の派生関係情報を前記派生関係管理装置に送信する送信手段と、
前記派生関係管理装置と通信できない場合には、前記第２の文書から前記予め定められた世代数以上前の先祖の文書までの各世代の文書の識別情報を含んだ第３の派生関係情報を前記第２の文書に組み込む組込手段と、
を備え、
前記派生関係管理装置は、
前記情報処理装置の前記送信手段から受信した前記第２の派生関係情報を記憶する派生関係記憶手段と、
文書の識別情報を含んだ処理指示を受けた場合に、その識別情報を起点として前記派生関係記憶部に記憶された派生関係情報群が表す識別情報群の木を走査し、その走査の結果を用いて前記処理指示に係る処理を実行する処理実行手段と、
を備える、
ことを特徴とする文書管理システム。
【請求項２】
前記第１の派生関係情報は、前記各世代の文書の識別情報として、前記第１の識別情報自身から前記第１の識別情報の先祖であって前記木の根に該当する識別情報までの各世代の識別情報を含んでおり、
前記組込手段は、前記第１の派生関係情報に対し、最新の世代として前記第２の識別情報を追加したものを、前記第３の派生関係情報として生成する、
ことを特徴とする請求項１記載の文書管理システム。
【請求項３】
第１の識別情報が付与された第１の文書であって、当該第１の文書自身から予め定められた世代数以上前の先祖の文書までの各世代の文書の識別情報を含んだ第１の派生関係情報を有する第１の文書、に対して操作が行われた場合に、前記第１の文書の操作後の文書である第２の文書に対して第２の識別情報を付与する付与手段と、
派生関係情報を管理する派生関係管理装置と通信できる場合には、前記第１の派生関係情報に対して前記第２の識別情報を追加した第２の派生関係情報を前記文書管理装置に送信する送信手段と、
前記派生関係管理装置と通信できない場合には、前記第２の文書から前記予め定められた世代数以上前の先祖の文書までの各世代の文書の識別情報を含んだ第３の派生関係情報を前記第２の文書に組み込む組込手段と、
を備える情報処理装置。
【請求項４】
コンピュータを、
第１の識別情報が付与された第１の文書であって、当該第１の文書自身から予め定められた世代数以上前の先祖の文書までの各世代の文書の識別情報を含んだ第１の派生関係情報を有する第１の文書、に対して操作を行った場合に、前記第１の文書の操作後の文書である第２の文書に対して第２の識別情報を付与する付与手段、
派生関係情報を管理する派生関係管理装置と通信できる場合には、前記第１の派生関係情報に対して前記第２の識別情報を追加した第２の派生関係情報を前記文書管理装置に送信する送信手段、及び
前記派生関係管理装置と通信できない場合には、前記第２の文書から前記予め定められた世代数以上前の先祖の文書までの各世代の文書の識別情報を含んだ第３の派生関係情報を前記第２の文書に組み込む組込手段、
として機能させるためのプログラム。
【請求項５】
情報処理装置と派生関係管理装置とを含み、
前記情報処理装置は、
第１の識別情報を有する第１の文書に対して操作を行った場合において、前記派生関係管理装置と通信できる場合には、前記第１の文書の操作後の文書である第２の文書が有する識別情報を前記第１の識別情報から新たに付与した第２の識別情報に書き換え、前記派生関係管理装置と通信できない場合には、前記第２の文書が有する識別情報を前記第１の識別情報のまま維持するよう制御する識別情報制御手段と、
前記派生関係管理装置と通信できる場合には、前記第１の識別情報の子が前記第２の識別情報であることを表す派生関係情報を前記派生関係管理装置に送信する送信手段と、
を備え、
前記派生関係管理装置は、
前記情報処理装置の前記送信手段から受信した前記派生関係情報を記憶する派生関係記憶手段と、
文書の識別情報を含んだ処理指示を受けた場合に、その識別情報を起点として前記派生関係記憶部に記憶された派生関係情報群が表す識別情報群の木を走査し、その走査の結果を用いて前記処理指示に係る処理を実行する処理実行手段と、
を備える、
ことを特徴とする文書管理システム。
【請求項６】
前記識別情報制御手段は、前記第２の文書が有する識別情報を前記第１の識別情報のまま維持するよう制御した場合には、識別情報が維持された旨を示す維持情報を前記第２の文書に組み込み、
前記送信手段は、前記第１の文書が前記第１の識別情報と共に前記維持情報を有する場合には、前記派生関係情報と共に前記維持情報を前記派生関係管理装置に送信し、
前記派生関係記憶手段は、前記派生関係情報と共に前記維持情報を受信した場合には、前記派生関係情報に含まれる前記第１の識別情報に対応づけて前記維持情報を記憶し、
前記処理実行手段は、前記処理指示に含まれた識別情報を起点として前記木を走査する過程で前記維持情報が対応づけられた識別情報を通過した場合には、前記処理指示に係る処理の結果が正しくない可能性があることを示す通知を、前記処理指示の発行元に送信することを特徴とする請求項５記載の文書管理システム。
【請求項７】
第１の識別情報を有する第１の文書に対して操作を行った場合において、前記派生関係管理装置と通信できる場合には、前記第１の文書の操作後の文書である第２の文書が有する識別情報を前記第１の識別情報から新たに付与した第２の識別情報に書き換え、前記派生関係管理装置と通信できない場合には、前記第２の文書が有する識別情報を前記第１の識別情報のまま維持するよう制御する識別情報制御手段と、
前記派生関係管理装置と通信できる場合には、前記第１の識別情報の子が前記第２の識別情報であることを表す派生関係情報を前記派生関係管理装置に送信する送信手段と、
を備える情報処理装置。
【請求項８】
コンピュータを、
第１の識別情報を有する第１の文書に対して操作を行った場合において、前記派生関係管理装置と通信できる場合には、前記第１の文書の操作後の文書である第２の文書が有する識別情報を前記第１の識別情報から新たに付与した第２の識別情報に書き換え、前記派生関係管理装置と通信できない場合には、前記第２の文書が有する識別情報を前記第１の識別情報のまま維持するよう制御する識別情報制御手段、及び
前記派生関係管理装置と通信できる場合には、前記第１の識別情報の子が前記第２の識別情報であることを表す派生関係情報を前記派生関係管理装置に送信する送信手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書管理システム及び情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
テキスト文書データや音声データ、マルチメディアデータなどの電子文書（以下単に文書とも呼ぶ）をサーバに登録し、ユーザの要求に応じてその文書を提供することが行われている。また、電子文書に対して一意な識別子を付与し、ユーザが入力した識別子に対応する電子文書を提供するシステムも知られている。また、別の公知のシステムでは、電子文書を紙に印刷する場合に、電子文書の識別子をコード化して紙文書に埋め込み、紙文書を複写する際にその紙文書に埋め込まれた識別子を認識し、その識別子に対応した電子文書を取得し、紙に印刷する。
【０００３】
また、本願出願人は、電子文書又は紙文書が編集等の操作を受ける都度その操作結果の文書に一意な識別情報を付与し、操作によるそれら文書（すなわち識別情報）間の派生関係をサーバに収集し、それら派生関係に基づき各種の情報を提供するシステムを提案している（例えば特許文献１，２）。
【０００４】
また、本願出願人は、サーバにアクセスできないクライアントが文書を操作した場合に、その操作による派生関係がサーバに伝わらないため、派生関係を辿る処理の結果が正しく得られないという問題に鑑み、サーバがそのような場合を検知し、正しい処理結果が得られない可能性がある旨を回答するシステムを提案している（特許文献３）。
【０００５】
また、特許文献４には、オリジナル文書から何度も世代コピーを重ねた場合でも情報流出経路を特定できるようにするための画像処理装置が開示される。この装置は、紙文書のコピーが指示された場合、その紙文書から読み取った画像情報に既に付加情報が含まれていれば、その付加情報とコピー文書の識別情報として新たに生成した付加情報とを画像情報に埋め込み、埋込後の画像情報を印刷する。
【０００６】
【特許文献１】特開２００７−００４６４９号公報
【特許文献２】特開２００８−００３８４７号公報
【特許文献３】特開２００８−１６５６００号公報
【特許文献４】特開２００８−０９２３９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、文書間の派生関係を管理する派生関係管理装置に接続できない情報処理装置で文書が操作された場合でも、その情報処理装置での操作を介した派生関係が派生関係管理装置に収集されるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
請求項１に係る発明は、情報処理装置と派生関係管理装置とを含み、前記情報処理装置は、第１の識別情報が付与された第１の文書であって、当該第１の文書自身から予め定められた世代数以上前の先祖の文書までの各世代の文書の識別情報を含んだ第１の派生関係情報を有する第１の文書、に対して操作が行われた場合に、前記第１の文書の操作後の文書である第２の文書に対して第２の識別情報を付与する付与手段と、前記派生関係管理装置と通信できる場合には、前記第１の派生関係情報に対して前記第２の識別情報を追加した第２の派生関係情報を前記派生関係管理装置に送信する送信手段と、前記派生関係管理装置と通信できない場合には、前記第２の文書から前記予め定められた世代数以上前の先祖の文書までの各世代の文書の識別情報を含んだ第３の派生関係情報を前記第２の文書に組み込む組込手段と、を備え、前記派生関係管理装置は、前記情報処理装置の前記送信手段から受信した前記第２の派生関係情報を記憶する派生関係記憶手段と、文書の識別情報を含んだ処理指示を受けた場合に、その識別情報を起点として前記派生関係記憶部に記憶された派生関係情報群が表す識別情報群の木を走査し、その走査の結果を用いて前記処理指示に係る処理を実行する処理実行手段と、を備える、ことを特徴とする文書管理システムである。
【０００９】
請求項２に係る発明は、請求項１に係る発明において、前記第１の派生関係情報は、前記各世代の文書の識別情報として、前記第１の識別情報自身から前記第１の識別情報の先祖であって前記木の根に該当する識別情報までの各世代の識別情報を含んでおり、前記組込手段は、前記第１の派生関係情報に対し、最新の世代として前記第２の識別情報を追加したものを、前記第３の派生関係情報として生成する、ことを特徴とする。
【００１０】
請求項３に係る発明は、第１の識別情報が付与された第１の文書であって、当該第１の文書自身から予め定められた世代数以上前の先祖の文書までの各世代の文書の識別情報を含んだ第１の派生関係情報を有する第１の文書、に対して操作が行われた場合に、前記第１の文書の操作後の文書である第２の文書に対して第２の識別情報を付与する付与手段と、派生関係情報を管理する派生関係管理装置と通信できる場合には、前記第１の派生関係情報に対して前記第２の識別情報を追加した第２の派生関係情報を前記文書管理装置に送信する送信手段と、前記派生関係管理装置と通信できない場合には、前記第２の文書から前記予め定められた世代数以上前の先祖の文書までの各世代の文書の識別情報を含んだ第３の派生関係情報を前記第２の文書に組み込む組込手段と、を備える情報処理装置である。
【００１１】
請求項４に係る発明は、コンピュータを、第１の識別情報が付与された第１の文書であって、当該第１の文書自身から予め定められた世代数以上前の先祖の文書までの各世代の文書の識別情報を含んだ第１の派生関係情報を有する第１の文書、に対して操作を行った場合に、前記第１の文書の操作後の文書である第２の文書に対して第２の識別情報を付与する付与手段、派生関係情報を管理する派生関係管理装置と通信できる場合には、前記第１の派生関係情報に対して前記第２の識別情報を追加した第２の派生関係情報を前記文書管理装置に送信する送信手段、及び前記派生関係管理装置と通信できない場合には、前記第２の文書から前記予め定められた世代数以上前の先祖の文書までの各世代の文書の識別情報を含んだ第３の派生関係情報を前記第２の文書に組み込む組込手段、として機能させるためのプログラムである。
【００１２】
請求項５に係る発明は、情報処理装置と派生関係管理装置とを含み、前記情報処理装置は、第１の識別情報を有する第１の文書に対して操作を行った場合において、前記派生関係管理装置と通信できる場合には、前記第１の文書の操作後の文書である第２の文書が有する識別情報を前記第１の識別情報から新たに付与した第２の識別情報に書き換え、前記派生関係管理装置と通信できない場合には、前記第２の文書が有する識別情報を前記第１の識別情報のまま維持するよう制御する識別情報制御手段と、前記派生関係管理装置と通信できる場合には、前記第１の識別情報の子が前記第２の識別情報であることを表す派生関係情報を前記派生関係管理装置に送信する送信手段と、を備え、前記派生関係管理装置は、前記情報処理装置の前記送信手段から受信した前記派生関係情報を記憶する派生関係記憶手段と、文書の識別情報を含んだ処理指示を受けた場合に、その識別情報を起点として前記派生関係記憶部に記憶された派生関係情報群が表す識別情報群の木を走査し、その走査の結果を用いて前記処理指示に係る処理を実行する処理実行手段と、を備える、ことを特徴とする文書管理システムである。
【００１３】
請求項６に係る発明は、請求項５に係る発明において、前記識別情報制御手段は、前記第２の文書が有する識別情報を前記第１の識別情報のまま維持するよう制御した場合には、識別情報が維持された旨を示す維持情報を前記第２の文書に組み込み、前記送信手段は、前記第１の文書が前記第１の識別情報と共に前記維持情報を有する場合には、前記派生関係情報と共に前記維持情報を前記派生関係管理装置に送信し、前記派生関係記憶手段は、前記派生関係情報と共に前記維持情報を受信した場合には、前記派生関係情報に含まれる前記第１の識別情報に対応づけて前記維持情報を記憶し、前記処理実行手段は、前記処理指示に含まれた識別情報を起点として前記木を走査する過程で前記維持情報が対応づけられた識別情報を通過した場合には、前記処理指示に係る処理の結果が正しくない可能性があることを示す通知を、前記処理指示の発行元に送信することを特徴とする。
【００１４】
請求項７に係る発明は、第１の識別情報を有する第１の文書に対して操作を行った場合において、前記派生関係管理装置と通信できる場合には、前記第１の文書の操作後の文書である第２の文書が有する識別情報を前記第１の識別情報から新たに付与した第２の識別情報に書き換え、前記派生関係管理装置と通信できない場合には、前記第２の文書が有する識別情報を前記第１の識別情報のまま維持するよう制御する識別情報制御手段と、前記派生関係管理装置と通信できる場合には、前記第１の識別情報の子が前記第２の識別情報であることを表す派生関係情報を前記派生関係管理装置に送信する送信手段と、を備える情報処理装置である。
【００１５】
請求項８に係る発明は、コンピュータを、第１の識別情報を有する第１の文書に対して操作を行った場合において、前記派生関係管理装置と通信できる場合には、前記第１の文書の操作後の文書である第２の文書が有する識別情報を前記第１の識別情報から新たに付与した第２の識別情報に書き換え、前記派生関係管理装置と通信できない場合には、前記第２の文書が有する識別情報を前記第１の識別情報のまま維持するよう制御する識別情報制御手段、及び前記派生関係管理装置と通信できる場合には、前記第１の識別情報の子が前記第２の識別情報であることを表す派生関係情報を前記派生関係管理装置に送信する送信手段、として機能させるためのプログラムである。
【発明の効果】
【００１６】
請求項１，３，４，５，７，８に係る発明によれば、文書間の派生関係を管理する派生関係管理装置に接続できない情報処理装置で文書が操作された場合でも、その情報処理装置での操作を介した文書間の派生関係が派生関係管理装置に収集されるようにすることができる。
【００１７】
請求項２に係る発明によれば、派生関係管理装置に接続できない情報処理装置での操作が何度連続した場合でも、それら操作を介した文書間の派生関係が派生関係管理装置に収集されるようにすることができる。
【００１８】
請求項６に係る発明によれば、操作を行っても文書の識別情報を維持したことにより、処理実行手段により提供される処理の結果が正しくない可能性が出てくる場合に、その旨を要求元に報せることができる。
【発明を実施するための最良の形態】
【００１９】
まず、図１を参照して、実施形態の制御方式が適用される文書利用管理システムの概略構成の一例を説明する。図１に示したシステムは、インターネットやローカル・エリア・ネットワーク等のネットワーク３０を介して接続された文書管理サーバ１０とクライアント端末２０−１，２０−２，・・・（以下、クライアント端末２０と総称する）から構成される。
【００２０】
クライアント端末２０について図２を用いて説明する。クライアント端末２０は、ユーザが文書を操作するために用いる端末であり、パーソナルコンピュータ、デジタル複合機などがその一例である。クライアント端末２０は、文書操作部２００，登録処理部２１０を備える。文書操作部２００は、文書に対する操作を実行する手段である。文書に対する操作には、例えば、文書の表示（ユーザから見れば「閲覧」）、編集、印刷出力、紙文書の読み取り、紙文書の複写、等がある。図では、文書操作部２００を１つだけ示したが、それら個々の操作を別々の操作部（例えば、編集用のアプリケーション、読取制御用のアプリケーションなどといった別々のアプリケーション）が担当してもよい。例えば、文書操作部２００がワードプロセッサ等の電子文書を作成・編集するためのソフトウエアであれば、文書操作部２００は、ユーザの指示に応じて電子文書を表示したり、電子文書に編集を加えたりする。文書操作部２００は、文書に対して操作を行った場合、その操作の結果を表すＩＤ付き文書３００を出力する。
【００２１】
ＩＤ付き文書３００は、図３に示すように、メタ情報３１０と文書内容３２０を含んだ電子文書である。文書内容３２０は、文書操作部２００の操作の結果生成された文書の内容データである。文書操作部２００が電子文書を作成・編集するためのソフトウエアであれば、文書内容３２０はそのソフトウエアによる編集の結果生成される文書ファイルである。また、文書操作部２００が電子文書を印刷する装置であれば、文書内容３２０は、例えば、印刷される電子文書の内容データとすればよい。また、文書操作部２００が紙文書をスキャンする装置又は紙文書を複写する装置であれば、文書内容３２０は、例えば、その紙文書を読み取って得られる画像データとすればよい。
【００２２】
メタ情報３１０は、文書管理のための情報であり、管理ＩＤ３１２，親ＩＤ３１４，及びログ情報３１６を含む。
【００２３】
管理ＩＤ３１２は、当該ＩＤ付き文書３００自体の一意な識別情報である。親ＩＤ３１４は、当該ＩＤ付き文書３００の親のＩＤ付き文書の管理ＩＤである。すなわち、本実施形態では、あるＩＤ付き文書と、このＩＤ付き文書に対して操作を加えた結果得られる新たなＩＤ付き文書とを、親と子の関係として取り扱う。第１のＩＤ付き文書を操作して第２のＩＤ付き文書が得られた場合、第１のＩＤ付き文書は第２のＩＤ付き文書の親であり、第２のＩＤ付き文書は第１のＩＤ付き文書の子である。したがって、例えば、管理ＩＤ「Ａ」のＩＤ付き文書を文書操作部２００で操作して、その結果得られた新たなＩＤ付き文書の管理ＩＤが「Ｂ」である場合、後者のメタ情報３１０における管理ＩＤ３１２は「Ｂ」であり、親ＩＤ３１４は「Ａ」である。このような親子の関係を、以下では「（管理ＩＤ、すなわち文書、の）派生関係」という。
【００２４】
なお、本システムに未登録の電子文書を新たに登録する操作を実行した場合や、未登録の紙文書をスキャン又は複写する操作を実行した場合（この場合、紙文書を読み取った画像を文書内容とするＩＤ付き文書が生成され、本システムに登録される）に生成されるＩＤ付き文書３００では、親ＩＤ３１４は空（すなわち、親は存在しない）となる。
【００２５】
ログ情報３１６は、当該ＩＤ付き文書が生成された際の操作についての、各種のログ項目の情報である。ログ項目には、例えばその操作が行われた時刻、その操作の種別、その操作を指示したユーザ（操作者）などがあるが、もちろんこれに限るものではない。操作の種別には、例えば登録（本システムに新規の文書を登録すること）、閲覧、更新（文書内容の変更）、印刷、スキャン、紙文書の複写、等がある。例えば、ユーザが文書操作部２００を用いて第１のＩＤ付き文書に対して編集を加え、編集完了の指示を行った場合、その結果生成される第２のＩＤ付き文書のログ情報３１６は、編集完了の時刻と、その編集を指示したユーザの識別情報と、操作の種別として「更新」と、を含んだものとなる。
【００２６】
図２の説明に戻り、文書操作部２００は、操作結果として上述のようなＩＤ付き文書３００を作成するために、ＩＤ割り当て部２０２及び派生関係組込部２０４を備える。ＩＤ割り当て部２０２は、操作結果のＩＤ付き文書３００に一意な管理ＩＤを付与する手段である。管理ＩＤは、少なくとも本システム内で一意な識別情報である必要がある。例えば、操作の結果生成するＩＤ付き文書３００（ただし管理ＩＤ３１２を除いたもの）のハッシュ値を求め、このハッシュ値をその文書３００のＩＤ付き文書とすればよい。ハッシュ関数としてSHA-256（SHA-256はNISTがFIPS180-2で定めた256ビットのハッシュ値を持つ暗号学的ハッシュ関数である）などのような耐衝突性を持つ暗号学的ハッシュ関数を用いれば、実用上十分な一意性を持つ管理ＩＤを生成することができる。もちろん、システム内で一意な管理ＩＤを各クライアント端末２０で生成する方法は、これに限らない。管理ＩＤを、クライアント端末２０固有の識別情報を含むものとすれば、システム内で一意な管理ＩＤを各クライアント端末２０で生成することができる。
【００２７】
派生関係組込部２０４は、操作結果の文書に対しＩＤ割り当て部２０２が割り当てた新たな管理ＩＤ３１２と、その操作の元になった親文書の管理ＩＤである親ＩＤ３１４（新規登録の場合は、親ＩＤは無し）と、その操作についてのログ情報３１６と、を含むメタ情報３１０を生成する。そして、派生関係組込部２０４は、そのメタ情報３１０を操作結果の文書内容に付加することにより、操作後のＩＤ付き文書３００を生成して出力する。
【００２８】
なお、このように生成された操作後のＩＤ付き文書３００を、操作前のＩＤ付き文書３００と置き換えるようにしてもよい。この場合、複製を作る操作が行われない限り、クライアント端末２０中に先祖の文書とその子孫の文書とが同居することはない。これには、例えば、派生関係組込部２０４は、操作前のＩＤ付き文書３００のファイルを開いて操作を行った場合、文書内容３２０の操作結果をそのファイル中に書き戻すと共に、そのファイル中のメタ情報３１０の各項目３１２〜３１６をその操作に応じて書き換えるようにすればよい。
【００２９】
登録処理部２１０は、文書操作部２００が出力したＩＤ付き文書３００を文書管理サーバ１０に送信し、登録する。このように各クライアント端末２０が、自ら実行した操作の結果であるＩＤ付き文書３００を文書管理サーバ１０に登録することにより、文書管理サーバ１０は各ＩＤ付き文書３００間の派生関係を把握することができる。
【００３０】
なお、登録処理部２１０がＩＤ付き文書３００を文書管理サーバ１０に登録しようとする際に、文書管理サーバ１０と通信できない場合、登録処理部２１０は、そのＩＤ付き文書３００を保存しておき、後で文書管理サーバ１０と通信可能となったときに文書管理サーバ１０に登録してもよい。
【００３１】
文書操作部２００が操作の結果出力するＩＤ付き文書３００は、通常の文書ファイルと同様、電子的にコピーしたり、電子メールに添付するなどの方法で他の人宛に送信したりすることができる。他の人からＩＤ付き文書３００を受け取った人が、自分のクライアント端末２０の文書操作部２００を用いてそのＩＤ付き文書３００を操作すると、その操作に応じて新たな管理ＩＤを付与されたＩＤ付き文書が生成されることになる。
【００３２】
また、文書操作部２００が電子文書を印刷する場合、管理ＩＤを生成し、その電子文書の印刷結果にその管理ＩＤを埋め込んでもよい。管理ＩＤの埋め込みは、例えば電子文書の印刷画像に、管理ＩＤを示すコード画像を重畳する等の方法で行うことができる。また、ＲＦＩＤタグなどのデータ保持可能な微小デバイスが装着或いは漉き込まれた用紙を用いる場合には、管理ＩＤを用紙中のそのデバイスに書き込んでもよい。
【００３３】
このように紙文書に管理ＩＤを記録した場合、文書操作部２００は、その管理ＩＤや操作種別「印刷」等のメタ情報を含んだＩＤ付き文書を文書管理サーバ１０に登録する。なお、ＩＤ付き文書を印刷した場合には、そのＩＤ付き文書の管理ＩＤを親ＩＤ３１４として含んだＩＤ付き文書が生成される。印刷操作に対応するＩＤ付き文書には、印刷された画像を示すページ記述言語データやビットマップ画像データをなどの印刷データを、文書内容３２０として組み込んでもよい。
【００３４】
また、管理ＩＤが埋め込まれた紙文書を文書操作部２００が読み取った場合、文書操作部２００は、その読み取り操作に対して新たな管理ＩＤを付与し、読み取り結果の画像を文書内容３２０として含んだＩＤ付き文書を生成して文書管理サーバ１０に登録する。このＩＤ付き文書の親ＩＤ３１４には、紙文書から読み取った管理ＩＤがセットされる。管理ＩＤが埋め込まれた紙文書の複写の際には、上述した読み取り時と印刷時の処理が実行される。
【００３５】
このようにすることで、これにより、電子文書のみならず、紙文書の派生関係も管理されることとなる。
【００３６】
次に、文書管理サーバ１０について図４を用いて説明する。文書管理サーバ１０は、システム内の複数のクライアント端末２０から送られてくるＩＤ付き文書３００を蓄積し、蓄積した情報に基づきユーザに各種のサービスを提供する。文書管理サーバ１０は、文書ＤＢ１００，派生関係ＤＢ１１０，文書登録部１３０，要求処理部１４０及び派生関係検索部１５０を備える。
【００３７】
文書ＤＢ１００は、クライアント端末２０から送られてきたＩＤ付き文書３００のうちの文書内容３２０を格納するデータベースである。文書ＤＢ１００に格納された各文書内容３２０は、一意な内容ＩＤにより管理される。内容ＩＤとしては、例えば当該文書内容の暗号学的ハッシュ関数によるハッシュ値を用いてもよいが、これに限定されるものではない。クライアント端末２０が内容ＩＤを付与してもよく、この場合、内容ＩＤをメタ情報３１０に組み込んでもよい。
【００３８】
派生関係ＤＢ１１０は、そのようなＩＤ付き文書３００のうち、派生関係の情報を主としたメタ情報を蓄積するデータベースである。図５に、派生関係ＤＢ１１０のデータ内容の一例を示す。図５に示した表における１行の情報が、１つのＩＤ付き文書３００に対応するメタ情報レコードである。この例では、各ＩＤ付き文書３００の管理ＩＤに対応づけて、親ＩＤ、操作種類、操作者、操作時刻の各項目が登録されている。このうち、管理ＩＤと親ＩＤのペア以外の項目は、例示したものに限られない。管理目的上必要な項目を記録すればよい。
【００３９】
なお、図５は派生関係ＤＢ１１０が管理するデータを内容の観点から表現したものにすぎず、具体的な表現形式或いはデータベース形式を規定するものではない。例えば、派生関係ＤＢ１１０は、一般的なリレーショナルデータベースとして構築することもできるし、管理ＩＤを除くメタ情報を記述したＸＭＬ(eXtensible Markup Language)文書を、管理ＩＤをキーとして登録したデータベースとして構築することもできる。
【００４０】
なお、文書ＤＢ１００に登録された文書内容と派生関係ＤＢ１１０に登録されたメタ情報との対応関係は、図６に示すような対応関係情報により管理される。この対応関係情報は、管理ＩＤに対応づけて文書内容の内容ＩＤを記録したものである。対応関係情報は、文書ＤＢ１００が持っていてもよいし、派生関係ＤＢ１１０が持っていてもよい。
【００４１】
図５に示した派生関係ＤＢ１１０のデータ内容は、図７のような木構造を成す。これは、管理ＩＤをノードとし、管理ＩＤ間の親子関係をエッジとする木構造である。
【００４２】
図５〜図７の例が示す文書の履歴を時系列順に説明すると、以下のようになる。まず、文書管理サーバ１０に登録されていなかった文書の「登録」操作がuser1のクライアント端末で実行される。これに応じて管理ＩＤが"Doc1"、親ＩＤが空、操作種類が「登録」であるメタ情報と、その文書の文書内容とを含むＩＤ付き文書"Doc1"がuser1のクライアント端末から文書管理サーバ１０に送られる。これに応じ、文書管理サーバ１０は、そのＩＤ付き文書"Doc1"中の文書内容を文書ＤＢ１００へ、メタ情報を派生関係ＤＢ１１０にそれぞれ登録する。登録された文書内容は内容ＩＤ"Content1"に対応づけて管理される。ＩＤ付き文書"Doc1"はuser2により閲覧され、その操作結果としてＩＤ付き文書"Doc2"が生成され、user2のクライアント端末から文書管理サーバ１０に送られる。その後、user2が、自分のクライアント端末でＩＤ付き文書"Doc2"を操作し、その操作結果のＩＤ付き文書"Doc3"が文書管理サーバ１０に登録される。次にuser3が文書"Doc3"を閲覧し、その結果である文書"Doc4"を文書管理サーバ１０に登録するが、文書"Doc4"の文書内容は、文書"Doc3"の文書内容と同じである。次にuser2による文書"Doc3"の編集（「更新」）に応じて、編集結果の文書"Doc5"が文書管理サーバ１０に登録される。更にその後、user1により文書"Doc1"が編集され、編集結果の文書"Doc6"が文書管理サーバ１０に登録される。
【００４３】
なお、図５では、派生関係ＤＢ１１０に、管理ＩＤの派生関係（親子関係）と共に操作種類等のログ情報を合わせて登録したが、これは一例に過ぎない。管理ＩＤの派生関係と、ログ情報とを別々のデータベースで管理してもよい。この場合、ログ情報のデータベースは、管理ＩＤにより検索できるようにしておけばよい。
【００４４】
また、文書管理サーバ１０は、管理ＩＤ間の派生関係を木構造として表現する情報を作成・管理し、新たにＩＤ付き文書３００を受信すると、そのＩＤ付き文書３００に含まれる管理ＩＤを、その木構造に追加してもよい。この追加は、例えば、受信したＩＤ付き文書３００に含まれる親ＩＤをその木構造の中から探し、その親ＩＤの子としてその管理ＩＤを木構造に追加すればよい。なお、受信したＩＤ付き文書３００に含まれる親ＩＤがその木構造の中にない場合、それはその親ＩＤを管理ＩＤとするＩＤ付き文書が文書管理サーバ１０に未登録の場合である。この場合、受信したＩＤ付き文書３００の管理ＩＤを既存の木構造に接続することはできないが、その管理ＩＤと親ＩＤの関係とログ情報とをＤＢ１１０に登録することはできる。この場合、例えばその管理ＩＤを保留状態としておけばよい。その後、その親ＩＤを管理ＩＤとするＩＤ付き文書が文書管理サーバ１０に登録された場合に、保留状態であった管理ＩＤを木構造に組み込むことが可能になる。
【００４５】
もちろん、そのような木構造は、派生関係ＤＢ１１０内にある管理ＩＤと親ＩＤとのペア群から動的に構成することもできるので、上述のように予め作成しておくことは必須のことではない。
【００４６】
また、この例では、ＩＤ付き文書３００内に管理ＩＤ３１２と親ＩＤ３１４を組み込んでいるが、これは操作後のＩＤ付き文書３００を文書管理サーバ１０に送ることで、文書管理サーバ１０に操作により形成されたＩＤの親子関係を通知することとしているからである。ＩＤ付き文書１０を送る代わりに親子関係（管理ＩＤと親ＩＤのペア等）を文書管理サーバ１０に送る構成とした場合には、ＩＤ付き文書１０には親ＩＤ３１４を含めなくてもよい。
【００４７】
再び図４の説明に戻ると、文書登録部１３０は、クライアント端末２０から受信したＩＤ付き文書の中の文書内容を文書ＤＢ１００に、メタ情報を派生関係ＤＢ１１０に、それぞれ登録する。そのうち、メタ情報の登録を担当するのが派生関係登録部１３２である。
【００４８】
要求処理部１４０は、クライアント端末２０からの管理ＩＤを含んだサービス要求に応じて、派生関係ＤＢ１１０を用いたサービスを提供する。要求処理部１４０が提供するサービスとしては、例えば、サービス要求中の管理ＩＤに対応する文書の最新版を検索するサービスがある。また別の例として、サービス要求中の管理ＩＤに対応する始祖の文書又はその始祖についてのログ情報を提供するサービスを挙げることができる。また、別の例として、その管理ＩＤの来歴、すなわち始祖からその管理ＩＤまでに文書が経てきた操作の履歴（例えば誰がいつどんな操作をしたのかを示す情報のリスト）を提供するサービスもある。
【００４９】
サービス要求は、クライアント端末２０に保持されたＩＤ付き文書に基づき発せられる。例えば、ユーザがクライアント端末２０の文書操作部２００によりＩＤ付き文書を開いた場合に、派生関係を用いたサービスのメニューを提供し、そのメニューの中からユーザが所望するサービスの指定を受け付け、そのＩＤ付き文書の管理ＩＤと指定されたサービスを示すコードとを含むサービス要求を文書管理サーバ１０の要求処理部１４０に送信する。
【００５０】
また別の例として、ユーザによるサービスの指定を一つの「操作」と捉え、その「操作」に対して新たに管理ＩＤを付与することも考えられる。この場合、指定されたサービスのコードを操作種別として含み、指定の際に用いられた元のＩＤ付き文書の管理ＩＤを親ＩＤとして含んだＩＤ付き文書を生成し、このＩＤ付き文書をサービス要求として文書管理サーバ１０に送ってもよい。この場合、要求処理部１４０は、受け取ったＩＤ付き文書内の操作種別の情報に基づき提供すべきサービスを判定し、同じくＩＤ付き文書内の親ＩＤを、派生関係を遡る処理の起点とする。
【００５１】
要求処理部１４０は、クライアント端末２０からサービス要求を受けた場合、そのサービス要求中に指定された管理ＩＤを検索条件の少なくとも１項目として含んだ検索要求を派生関係検索部１５０に送る。
【００５２】
派生関係検索部１５０は、要求処理部１４０からの検索要求に応じて、派生関係ＤＢ１１０に登録された管理ＩＤと親ＩＤとの派生関係が構成する木を走査（トラバース）し、その走査の結果得られた情報を要求処理部１４０に返す。要求処理部１４０は、その走査結果の情報を用いて、ユーザから要求されたサービスを実行する。
【００５３】
以上のシステムでは、クライアント端末２０はＩＤ付き文書３００を文書管理サーバ１０に送信し、文書管理サーバ１０は受信したＩＤ付き文書３００に含まれるメタ情報３１０及び文書内容３２０をそれぞれデータベースに保存したが、これは一例に過ぎない。この代わりに、例えば、文書管理サーバ１０が各文書のメタ情報３１０のみを管理する構成としてもよく、この場合クライアント端末２０での操作結果の文書内容３２０は文書管理サーバ１０には送られず、メタ情報３１０のみが送られる。また、文書管理サーバ１０が文書間の派生関係のみを管理する構成としてもよく、この場合クライアント端末２０は文書の操作前のＩＤである親ＩＤと操作結果に付与した新たな管理ＩＤとの派生関係のみを文書管理サーバ１０に送ればよい。
【００５４】
以上のようなシステムにおいて、文書管理サーバ１０に対して通信できない状態にあるクライアント端末２０にてＩＤ付き文書が操作された場合を考える。例えば、図８の例では、３つのクライアントＸ，Ｙ，ＺのうちクライアントＹだけが文書管理サーバ１０にアクセスできないとする。図に示すＡ〜Ｄの符号は、各文書（ＩＤ付き文書）の管理ＩＤを示す。図８に示される処理の流れは以下の通りである。
【００５５】
（１）まずクライアントＸが、管理ＩＤ  Ａを持つ文書に対して操作を行い、操作後の文書に対して管理ＩＤ  Ｂを埋め込む。文書管理サーバ１０に対し、派生関係Ａ→Ｂとその操作についてのログ情報（或いはそれらを含んだＩＤ付き文書）が送られる。
【００５６】
（２）クライアントＸからその文書(管理ＩＤ  Ｂ)が文書管理サーバ１０にアクセスできないクライアントＹに送られ、クライアントＹがその文書に対して操作を行い、操作後の文書に対して管理ＩＤ  Ｃを埋め込む。文書管理サーバ１０にアクセスできないので、派生関係Ｂ→Ｃとログ情報は文書管理サーバ１０に送られない。
【００５７】
（３）さらにその文書(管理ＩＤ  Ｃ)がクライアントＹからクライアントＺに送られ、クライアントＺがその文書に対して操作を行い、操作後の文書に対して管理ＩＤ  Ｄを埋め込む。クライアントＺから文書管理サーバ１０に派生関係Ｃ→Ｄとログ情報（或いはそれらを含んだＩＤ付き文書）が送られる。
【００５８】
この流れでは、実際の管理ＩＤの派生関係はＡ→Ｂ→Ｃ→Ｄであるが、途中のＢ→Ｃが文書管理サーバ１０に送られないため、文書管理サーバ１０側ではＡ→ＢとＣ→Ｄの派生関係同士を結びつけることができない。このため、派生関係に基づくサービスが正しく提供できなくなる。
【００５９】
例えば、文書が指定されると、そこに埋め込まれた管理ＩＤから派生関係を新しい方に辿り、その文書に対して最後に操作を行ったユーザを知らせるといったサービスを考える。このサービスでは、管理ＩＤ  Ａが埋め込まれた文書が指定された場合、本来は派生関係をＡからＤへと辿り、管理ＩＤ  Ｄを埋め込んだクライアントＺのユーザを返すべきである。しかし、この例では、文書管理サーバ１０ではＡからＢまでしかたどれないため、文書Ｂを生成した操作を行ったクライアントＸのユーザを返してしまう。
【００６０】
このようなことは、社外に持ち出されたノートパソコンや、ＦＡＸはつながっているが全社ネットワークにはつながっていない現場事務所のデジタル複合機（プリンタ、スキャナ、コピー機、ファクシミリ等の機能を兼ね備えた装置）等、一時的もしくは恒久的に文書管理サーバ１０にアクセスできないクライアントを文書が経由する場合に生じ得る。
【００６１】
なお、クライアント端末２０が、通信不可等により文書管理サーバ１０に送信できなかったＩＤ付き文書３００を、あとで通信が可能となった段階で送信する構成を取った場合でも、送信できなかった時点から後で送信する時点までの間は、上述の問題が生じ得る。
【００６２】
このような事態に対処するために、この実施形態では、図９に示すように、ＩＤ付き文書３００のメタ情報３１０中に、親ＩＤ３１４（図３参照）の代わりに先祖ＩＤ情報３５０を組み込む。先祖ＩＤ情報３５０は、当該文書３００の親ＩＤから先祖方向に始祖（派生関係の木における根）まで遡る各世代の管理ＩＤの順序付きのリストである。
【００６３】
この実施形態での操作による文書の変遷と文書管理サーバ１０による派生関係の把握の様子を、図１０に示すケースを例にとって説明する。この例における処理の流れは以下の通りである。この例でも、クライアントＸ，Ｚは文書管理サーバ１０と通信できるが、クライアントＹは文書管理サーバ１０と通信できないとする。
【００６４】
（１）クライアントＸにて新規の文書（管理ＩＤ  Ａ）が生成される。この文書は、親文書を操作したことにより派生したものではないので、管理ＩＤ  Ａに対する親ＩＤはなく、この文書の先祖ＩＤ情報３５０（図９参照）は空である。クライアントＸから文書管理サーバ１０へ、管理ＩＤ３１２と先祖ＩＤ情報３５０とからなる派生関係情報とログ情報３１６（又はそれらを含むＩＤ付き文書３００）が送信され、登録される。
【００６５】
（２）クライアントＸにてその文書に対して操作が行われ、操作後の文書に対して新たに生成された管理ＩＤ  Ｂが埋め込まれる。このとき、クライアントＸが持つ操作後の文書（ＩＤ付き文書３００）のメタ情報３１０には、管理ＩＤ  Ｂと、先祖ＩＤ情報３５０としての親ＩＤ  Ａとが含まれる。クライアントＸは、その操作についてのログ情報３１６と派生関係情報Ａ→Ｂ（又はＩＤ付き文書３００）を送る。
【００６６】
（３）次に、クライアントＸからクライアントＹにその文書（管理ＩＤ  Ｂ）が渡される。そして、クライアントＹにてその文書に対し、ユーザの指示に応じた操作が行われ、操作後の文書に対して新たに生成された管理ＩＤ  Ｃが埋め込まれるとともに、操作前の文書に含まれていた管理ＩＤ  Ｂが先祖ＩＤ情報３５０中のリストの末尾に追加される。これにより、操作後の文書は、先祖ＩＤ情報３５０としてＡ→Ｂの順序付きリストを持ち、管理ＩＤとしてＣを持つことになる。ここで、クライアントＹは、文書管理サーバ１０にアクセスすることができないので、操作後の文書の管理ＩＤと先祖ＩＤ情報３５０とからなる派生関係情報（Ａ→Ｂ→Ｃ）を文書管理サーバ１０に送信することができない。
【００６７】
（４）次に、クライアントＹからクライアントＺにその文書（管理ＩＤ  Ｃ）が渡される。そして、クライアントＺにてその文書に対し、ユーザの指示に応じた操作が行われる。そして、操作後の文書に対して新たに生成された管理ＩＤ  Ｄが埋め込まれるとともに、操作前の文書に含まれていた管理ＩＤ  Ｃが先祖ＩＤ情報３５０中のリストの末尾に追加される。これにより、操作後の文書は、先祖ＩＤ情報３５０としてＡ→Ｂ→Ｃの順序付きリストを持ち、管理ＩＤとしてＤを持つことになる。クライアントＺは、文書管理サーバ１０と通信できるので、操作後の文書の管理ＩＤと先祖ＩＤ情報３５０とからなる派生関係情報（Ａ→Ｂ→Ｃ→Ｄ）を文書管理サーバ１０に送信する。
【００６８】
（５）文書管理サーバ１０は、受け取った派生関係情報を派生関係ＤＢ１１０に登録する。この場合、文書管理サーバ１０は、その派生関係情報に含まれる管理ＩＤの系列を先頭（すなわち始祖）から順に、派生関係ＤＢ１１０内に登録された管理ＩＤ群が構成する木群と照合する。例えば、受信した派生関係情報の先頭のＩＤと同じ管理ＩＤが派生関係ＤＢ１１０から見つかると、その管理ＩＤが既存の派生関係の木の根である。次に、その根の子のうち、派生関係情報における先頭から２番目の管理ＩＤと一致するＩＤを探す。一致するＩＤが見つかれば、更に、見つかったＩＤの子の中から、派生関係情報における先頭から３番目の管理ＩＤと一致するＩＤを探す。以上のような処理を繰り返すことで、派生関係情報と派生関係ＤＢ１１０内の木とのマッチングがなされる。そして、このマッチング処理において行き当たった派生関係情報中の管理ＩＤが、派生関係ＤＢ１１０で管理されておらず、かつ派生関係ＤＢ１１０内に存在するノード（ＩＤ）の子である場合、その管理ＩＤをそのノードの子としてその木に追加する。この追加を順に繰り返すことで、その派生関係情報の末尾のＩＤまでを木に追加する。
【００６９】
例えば図１０の例では、文書管理サーバ１０は、クライアントＺから派生関係情報（Ａ→Ｂ→Ｃ→Ｄ）を受け取るまでは、Ａ→Ｂという派生関係の系列を知っているのみである。しかし、その後、クライアントＺからその派生関係情報を受け取ると、クライアントＹから送られなかったＢ→Ｃの派生関係も含め、Ａ→Ｂの後にＢ→Ｃ→Ｄという派生関係が繋がることを知り、これを派生関係ＤＢ１１０に登録する。なお、このとき文書管理サーバ１０は、管理ＩＤ  Ｄについてのログ情報は（受信したＩＤ付き文書に含まれているので）派生関係ＤＢ１１０に登録することができるが、管理ＩＤ  Ｃについてのログ情報は登録することができない（ただし、ＩＤ付き文書３００に先祖の各ＩＤのログ情報を残す構成の場合は、登録することができる）。
【００７０】
この実施形態におけるクライアント端末２０の処理手順の一例を図１１に示す。この例において、クライアント端末２０にてＩＤ付き文書についての操作が行われると、派生関係組込部２０４は、新たな管理ＩＤを生成し（Ｓ１）、そのＩＤ付き文書３００中の管理ＩＤ３１２を先祖ＩＤ情報３５０のＩＤリストの末尾に追加すると共に、管理ＩＤ３１２の値を新たに生成した管理ＩＤへと書き換える（Ｓ２）。この書き換えにより、操作の対象であったＩＤ付き文書が操作後のＩＤ付き文書へと置き換えられることとなる。なお、文書内容３２０については、操作が文書内容３２０の変更を伴うものである場合、その操作により変更されている。そして、登録処理部２１０は、文書管理サーバ１０にアクセス可能であるかどうかを調べ（Ｓ３）、アクセス可能であれば、その操作後のＩＤ付き文書を文書管理サーバ１０に送信する（Ｓ４）。なお、文書管理サーバ１０が文書内容３２０を管理しない構成の場合は、ＩＤ付き文書ではなく、その中の派生関係情報（すなわち管理ＩＤ３１２と先祖ＩＤ情報３５０）、或いはこれにログ情報３２０を加えたものを送信すればよい。文書管理サーバ１０にアクセスできない状態の場合は、文書管理サーバ１０への送信は行わずに処理を終了する。なお、この場合に、送信できなかったＩＤ付き文書（或いは派生関係情報）を保存しておき、後で通信可能となったときに文書管理サーバ１０に送信するようにしてももちろんよい。
【００７１】
上述の図１０には、文書管理サーバ１０と通信できるクライアントＸとＹの間に、通信できないクライアントが１つ（Ｙ）だけ介在した場合を例示した。しかし、この実施形態によれば、通信できるクライアント同士の間に通信できないクライアントが複数介在した場合にも、それら複数のクライアントが送信できなかった派生関係の情報がその後の通信可能なクライアントから文書管理サーバ１０に通知される。また、文書管理サーバ１０と通信可能なクライアントＸとＺが同じ装置であってもよい。すなわち、クライアントＸでの操作後の文書が、通信できないクライアントＹで操作され、その操作結果がクライアントＸに戻されて操作されるような場合にも、上述の方式は適用できる。例えば本社から文書が現場事務所（本社のサーバ１０と通信不可）に送られ、そこで編集された後に本社に戻される場合などである。
【００７２】
このように、この実施形態では、クライアント端末２０（Ｘ，Ｙ，Ｚ）間を流通するＩＤ付き文書３００が、当該文書の親から始祖までの全ての先祖（すなわち、派生関係の木を遡って根に到達するまで）のＩＤの連なり（先祖ＩＤ情報３５０）の情報を保持している。そして、クライアント端末２０は、文書管理サーバ１０に対して操作結果のＩＤ付き文書（或いはログ情報３１６と管理ＩＤ等）を送る場合に、その文書自体の管理ＩＤに加え、全ての先祖のＩＤの連なりである先祖ＩＤ情報３５０を送信する。文書管理サーバ１０は、それら管理ＩＤと先祖ＩＤ情報３５０により、始祖から最新の子孫までの一続きの派生関係を把握する。本来の派生関係の途中の部分が文書管理サーバ１０に送られなくても、その後の派生関係の情報中にその部分が含まれているので、文書管理サーバ１０は、後者の派生関係を受信した時点でその途中の部分も知るのである。
【００７３】
文書管理サーバ１０は、管理ＩＤを引数として持つサービス要求を受信した場合、その受信の時点での派生関係ＤＢ１１０に含まれる派生関係群がなす木群をその管理ＩＤを起点に辿ることで、そのサービス要求に対応した回答を求める。例えば、図１０の例で、クライアントＺから派生関係情報（Ａ→Ｂ→Ｃ→Ｄ）が文書管理サーバ１０に登録された後、あるユーザが管理ＩＤ  Ａの文書を指定して、その文書に対して最後に操作を行ったユーザが知りたいという要求を入力した場合、文書管理サーバ１０は、Ａから子孫方向に派生関係の木を辿り、木の末端（葉）の管理ＩＤ  Ｄに対応する操作を行った操作者の情報を特定してサービス要求元に返す。
【００７４】
以上に例示した方式を、ＩＤ付き文書を紙文書として出力する場合にも適用する場合には、紙文書に対し、管理ＩＤのみならず、その先祖のＩＤ群のリストを記録すればよい。この記録は、例えばバーコード等の画像コードとして印刷してもよいし、ＲＦＩＤタグ等の記憶デバイスを有する用紙の場合にはそのデバイスに書き込んでもよい。そして、クライアント端末２０は、その紙文書に対して操作（例えばスキャン、複写など）を行った場合には、その紙文書が有する管理ＩＤ及び先祖のＩＤ群のリストを読み出して、上述の処理を行えばよい。
【００７５】
上述の図１０の例では、ＩＤ付き文書３００に対し、始祖までの先祖全部のＩＤを含んだ派生関係情報を持たせた。ところが、ＩＤ付き文書３００を紙文書として出力し、その紙文書に対して派生関係情報をバーコード等の画像コード情報として印刷する場合には、派生関係情報のデータ量が多くなると、紙面のうちの画像コード情報のための領域に収まらなくなることもあり得る。
【００７６】
そこで、そのような場合を考慮した変形例として、派生関係情報に含めるＩＤの数を、例えば紙面のうちの画像コード情報のための領域に収まる範囲の数を考慮して予め定めた数に制限してもよい。すなわち、この場合、クライアント端末２０の派生関係組込部２０４は、文書の操作に応じて操作前の文書の管理ＩＤを先祖ＩＤ情報３５０に追加する際に、その追加により先祖ＩＤ情報３５０内のＩＤの数が予め定められた上限数を超える場合には、それらＩＤの中の先頭（すなわち最も古いもの）を削除することで、先祖ＩＤ情報３５０に含まれるＩＤの数が上限数以内となるようにすればよい。
【００７７】
この変形例では、文書管理サーバ１０と通信できないクライアント端末２０でその上限数に応じた数だけ連続して操作された場合（１台で連続して操作される場合も、そのような端末複数台で連続して操作される場合も含む）でも、その操作結果がその次に文書管理サーバ１０と通信できるクライアント端末２０で操作されれば、このクライアント端末２０から送られる派生関係情報により、根から最新の操作結果までの一連の派生関係が文書管理サーバ１０に伝達されることとなる。例えば、先祖ＩＤ情報３５０に含まれるＩＤ数の上限がｎ（自然数）であれば、連続した（ｎ−１）個の親子関係の欠落が回復される。すなわち、文書管理サーバ１０に通信できないクライアント端末２０で連続して（ｎ−１）回操作された場合でも、その次の通信可能なクライアント端末２０からの派生関係情報により、それら（ｎ−１）回の操作の派生関係とその次の操作による派生関係が文書管理サーバ１０に登録される。
【００７８】
なお、この変形例では、クライアント端末２０が文書管理サーバ１０に対して操作後のＩＤ付き文書を送信する際に、操作前のＩＤ付き文書内の先祖ＩＤ情報３５０内の先頭のＩＤも合わせて送信してもよい。このようにした場合、回復できる連続した親子関係の欠落は１つ増えてｎ個となる。
【００７９】
例えば、図１２に示す例は、ＩＤ付き文書に含まれる派生関係情報のＩＤ数を２個（すなわち、管理ＩＤ１個と、先祖ＩＤ情報のＩＤが１個）とした場合である。この例では、クライアントＸにおける動作は図１０と同じである。クライアントＹでは、操作後の文書に管理ＩＤ  Ｃが付与され、操作後の文書の派生関係情報には、ＩＤ数の制限に従いＢ→Ｃという２つのＩＤからなる派生関係が組み込まれる（すなわちＡ→Ｂの関係は欠落する）。このとき、クライアントＹは文書管理サーバ１０と通信できないので、Ｂ→Ｃという派生関係は文書管理サーバ１０には伝わらない。次に、その文書がクライアントＺで操作されると、操作後の文書に管理ＩＤ  Ｄが付与され、操作後の文書の派生関係情報には、ＩＤ数の制限に従いＣ→Ｄという派生関係が組み込まれる（すなわち文書中からはＢ→Ｃの関係は欠落する）。このとき、クライアントＺが、その操作の前の文書の先祖ＩＤ情報３５０の先頭にあったＢを含めたＢ→Ｃ→Ｄという派生関係を文書管理サーバ１０に送れば、当該クライアントＺでの操作による派生関係Ｃ→Ｄだけでなく、通信不可であったＹでの操作による派生関係Ｂ→Ｃも文書管理サーバ１０に伝達されることとなる。
【００８０】
次に第２の変形例について説明する。第２の変形例では、クライアント端末２０は、操作による派生関係の情報を文書管理サーバ１０に送信・登録できる場合とできない場合とで異なる振る舞いをする。すなわち、図１３に示すように、クライアント端末２０は、文書管理サーバ１０と通信できない場合（Ｓ１０の判定結果がＮｏ）には、図１０の例と同様、操作前のＩＤ付き文書の管理ＩＤを先祖ＩＤ情報３５０に追加するとともに、管理ＩＤ３１２の値を新たに付与した値に書き換える（Ｓ１１）。一方、通信できる場合は、操作前のＩＤ付き文書に含まれていた派生関係情報（すなわち先祖ＩＤ情報３５０中のＩＤリストに管理ＩＤ３１２を加えたもの）と新たに付与した管理ＩＤとを文書管理サーバ１０に通知し（Ｓ１２）、操作後のＩＤ付き文書の先祖ＩＤ情報３５０をクリアして空にする（Ｓ１３）。
【００８１】
具体例を図１４に示す。この例では、文書管理サーバ１０と通信できないクライアントＹが文書（管理ＩＤ  Ｂ）に対して操作を行った場合、操作後の文書は先祖ＩＤ情報３５０に操作前の管理ＩＤ  Ｂを含んだものとなる。すなわち、操作後の文書には、Ｂ→Ｃという派生関係情報が含まれることとなる。文書管理サーバ１０と通信できるクライアントＺがその文書を操作した場合、クライアントＺは、操作前の文書が含んでいた派生関係情報Ｂ→Ｃに操作後の文書のために生成した管理ＩＤ  Ｄを追加した派生関係情報Ｂ→Ｃ→Ｄを文書管理サーバ１０に送信し、操作後の文書の先祖ＩＤ情報３５０をクリアする。すなわち、操作後の文書は管理ＩＤ  Ｄを持つが、先祖ＩＤ情報３５０は空である。この例でも、クライアントＺから送られた派生関係情報Ｂ→Ｃ→Ｄにより、途中で欠落した派生関係Ｂ→Ｃが回復される。
【００８２】
なお、図１３の手順はあくまで一例に過ぎない。別の例として、例えばステップＳ１０で通信できると判定した場合、クライアント端末２０は、操作後のＩＤ付き文書の先祖ＩＤ情報３５０がその文書の親ＩＤ（すなわち操作前の文書の管理ＩＤ）だけを含むように書き換え、その操作後のＩＤ付き文書を、操作前のＩＤ付き文書が含んでいた先祖ＩＤ情報３５０と共に文書管理サーバ１０に送信してもよい。
【００８３】
以上に説明した実施例及び変形例では、操作後の文書の先祖の管理ＩＤを含む派生関係情報をクライアント端末２０から文書管理サーバ１０に送信したが、先祖の管理ＩＤに対応するログ情報３１６については送信しなかった。ところで、派生関係を用いたサービスの中には、派生関係の他に文書の属性情報を用いるものもある。例えば、「指定した管理ＩＤを持つ文書から派生した文書のうち、最後に編集を行ったユーザを報せる」というサービスの場合、管理ＩＤに対応するログ情報中の操作種別が編集であるものを抽出する必要がある。このようなサービスを可能とするためには、ＩＤ付き文書には、派生関係情報のみならず、その派生関係情報中の各管理ＩＤに対応するログ情報３１６を組み込んでおけばよい。ただし、ログ情報３２０の追加はデータ量の増大を招くため、ＩＤ付き文書のメタ情報３１０にデータ量の制限がある場合などには、追加するログ情報３２０のデータ量をその制限の範囲内に納めなければならない。例えば、ログ情報３２０のうちＩＤ付き文書に組み込む属性項目を限定するなどすればよい。なお、ＩＤ付き文書を紙文書として出力する場合、印刷可能なコード情報のデータ量の制限は一般に厳しいので、ログ情報３２０を紙文書に埋め込むことができない場合もあり得る。
【００８４】
更に別の例として次のような方式も考えられる。この方式では、図１５に例示するように、クライアント端末２０にて文書に対する操作が行われた場合に、クライアント端末２０は、文書管理サーバ１０と通信可能かどうかを判定する（Ｓ２０）。ここで通信可能と判定した場合は、クライアント端末２０は操作後の文書のための新たな管理ＩＤを生成し（Ｓ２１）、操作した文書の管理ＩＤをその新たな管理ＩＤに書き換える（Ｓ２２）。これにより操作後の文書が生成される。そして、その新たな管理ＩＤと親ＩＤ（すなわち操作前の文書の管理ＩＤ）とのペア（親子関係）を文書管理サーバ１０に送信する（Ｓ２３）。なお、その親ＩＤを文書に組み込んでももちろんよい。ステップＳ２０で文書管理サーバ１０と通信できないと判定した場合、クライアント端末２０は、操作した文書の管理ＩＤを変更せずにそのまま維持して、処理を終了する（Ｓ２４）。すなわちこの場合、操作後の文書の管理ＩＤは操作前の文書の管理ＩＤと同じままとなる。なお、操作後の文書の文書内容３２０は、その操作が文書内容３２０を変更するものである場合、操作前から変更されている。
【００８５】
このように、文書管理サーバ１０と通信できないクライアント端末２０では管理ＩＤが変更されないので、文書管理サーバ１０に伝達される管理ＩＤ間の派生関係はとぎれない。
【００８６】
ただし、この方式では、文書管理サーバ１０と通信できないクライアント端末２０で文書が何度操作されても管理ＩＤが変わらないので、それら操作が記録されない。すなわち、文書管理サーバ１０と通信できないクライアント端末２０での操作が１つの管理ＩＤに、いわば縮退してしまう。この縮退により、文書間の派生関係に曖昧さが生じることが考えられる。
【００８７】
例えば、図８のケースを例に取ると、クライアントＹでの操作では文書の管理ＩＤがＢのまま維持される。したがって、クライアントＹでの操作の前の文書と、操作の後の文書が同じ管理ＩＤ  Ｂを持つこととなる。したがって、例えばクライアントＸが操作後の文書ＢをクライアントＹの他に別のクライアントＷにも提供していた場合、そのクライアントＷでその文書Ｂを操作したときの操作後の文書（例えば管理ＩＤをＥとする）と、クライアントＹでの操作後の文書（管理ＩＤはＢである）を他のクライアントＶが操作したときの操作後の文書は、文書管理サーバ１０では共に文書Ｂの子と認識される。この場合、同じ管理ＩＤ  Ｂへと縮退した複数のバージョンの区別が必要なサービスでは、正しいサービス結果が得られない。例えば、本来ならばクライアントＹでの操作後の文書（管理ＩＤはＢ）の子孫の中のみから条件を満たす文書を検索したい場合でも、操作前の文書（これも管理ＩＤはＢ）の子孫であって操作後の文書の子孫ではない文書も検索されてしまう。
【００８８】
このような曖昧さによる誤りを避けるには、一例として次のような方式を採用してもよい。この方式では、図１５の手順の一部を変更すればよい。すなわち、文書管理サーバ１０と通信できない場合には、操作が行われてもステップＳ２４にて管理ＩＤを更新せずに維持すると共に、その管理ＩＤが「縮退」したものであることを示すフラグを１にする。なお、「縮退」フラグは、初期値は０であり、ステップＳ２４で１にセットされる。また、文書管理サーバ１０と通信可能な場合に、ステップＳ２３で親ＩＤと管理ＩＤのペアを文書管理サーバ１０に送る際に、操作前の文書の「縮退」フラグの情報も送信する。文書管理サーバ１０に親ＩＤと管理ＩＤのペアを送信した場合、「縮退」フラグは０にリセットされる。文書管理サーバ１０は、親ＩＤと管理ＩＤのペアと共に受信した「縮退」フラグの値が１であれば、派生関係ＤＢ１１０において、その親ＩＤの「縮退」フラグを１にセットする。そして、ユーザから派生関係を用いたサービス処理を要求された場合、その要求の引数として指定された管理ＩＤすなわち開始ノードと、派生関係の木を辿って得た処理結果のノード、すなわち結果ノードとの間の経路内に「縮退」フラグが１になっているノード（管理ＩＤ）があれば、その結果ノードの情報は「正しくない可能性がある」という注記情報付きで要求元に提供する。これにより、要求元のユーザが、誤っている可能性がある結果を正しい結果であると誤解することが防止される。
【００８９】
また、次のような方式を採用してもよい。あるＩＤに「縮退」するということは、本来あるべきＩＤは「縮退」したＩＤの子孫のＩＤであるから、文書管理サーバ１０は、親ＩＤと管理ＩＤのペアと共に受信した「縮退」フラグの値が１であれば、派生関係ＤＢ１１０において、親ＩＤの子として、特定のＩＤを持たない、特別な「縮退」ノードを追加し、その「縮退」フラグを１にし、さらにその子として管理ＩＤのノードを追加する。この場合、親ＩＤよりも一つ子孫側にあるノードの「縮退」フラグがセットされているので、ユーザから派生関係を用いたサービス処理を要求された場合、その要求の引数として指定された管理ＩＤすなわち開始ノードと、派生関係の木を辿って得た処理結果のノード、すなわち結果ノードとの間の経路内に「縮退」フラグが１になっているノード（管理ＩＤ）が出現する可能性はより低くなり、正しい結果を返す可能性が高くなる。
【００９０】
以上に例示したシステムにおける文書管理サーバ１０は、典型的には、汎用のコンピュータにて上述の文書管理サーバの各部の機能又は処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、図１５に示すように、ＣＰＵ（中央演算装置）４０、メモリ（一次記憶）４２、各種Ｉ／Ｏ（入出力）インタフェース４４等がバス４６を介して接続された回路構成を有する。また、そのバス４６に対し、例えばＩ／Ｏインタフェース４４経由で、ハードディスクドライブ４８やＣＤやＤＶＤ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブ５０が接続される。このようなドライブ４８又は５０は、メモリに対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク経由で、ハードディスクドライブ４８等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されＣＰＵにより実行されることにより、実施形態の処理が実現される。クライアント端末２０についても同様である。
【図面の簡単な説明】
【００９１】
【図１】実施形態の制御方式が適用される文書利用管理システムの概略構成の例を示すブロック図である。
【図２】クライアント端末の内部構成の例を示すブロック図である。
【図３】ＩＤ付き文書のデータ構造の例を模式的に示す図である。
【図４】文書管理サーバの内部構成の例を示すブロック図である。
【図５】派生関係ＤＢのデータ内容の例を示す図である。
【図６】管理ＩＤと文書内容の対応関係を示すデータの例を示す図である。
【図７】図５に例示したデータ内容が示す派生関係を図式化して示す図である。
【図８】文書管理サーバと通信できないクライアントで文書が操作された場合の問題を説明するための図である。
【図９】実施形態におけるＩＤ付き文書のデータ構造の例を模式的に示す図である。
【図１０】実施形態での処理の流れの具体例を示す図である。
【図１１】実施形態におけるクライアント端末の処理手順の一例を示すフローチャートである。
【図１２】変形例の方式での処理の流れの具体例を示す図である。
【図１３】第２の変形例でのクライアント端末の処理手順の一例を示すフローチャートである。
【図１４】第２の変形例の方式での処理の流れの具体例を示す図である。
【図１５】更に別の例の処理手順を示すフローチャートである。
【図１６】コンピュータのハードウエア構成の一例を示す図である。
【符号の説明】
【００９２】
１０  文書管理サーバ、２０  クライアント端末、３０  ネットワーク、１００  文書ＤＢ、１１０  派生関係ＤＢ、１３０  文書登録部、１３２  派生関係登録部、１４０  要求処理部、１５０  派生関係検索部、２００  文書操作部、２０２  ＩＤ割り当て部、２０４  派生関係組込部、２１０  登録処理部、３００  ＩＤ付き文書。
【図１】
2010140331.tif 000003
【図２】
2010140331.tif 000004
【図３】
2010140331.tif 000005
【図４】
2010140331.tif 000006
【図５】
2010140331.tif 000007
【図６】
2010140331.tif 000008
【図７】
2010140331.tif 000009
【図８】
2010140331.tif 000010
【図９】
2010140331.tif 000011
【図１０】
2010140331.tif 000012
【図１１】
2010140331.tif 000013
【図１２】
2010140331.tif 000014
【図１３】
2010140331.tif 000015
【図１４】
2010140331.tif 000016
【図１５】
2010140331.tif 000017
【図１６】
2010140331.tif 000018