(57)【要約】【課題】電子文書が複数の経路に分岐して流通し各経路で個別に更新される場合に、経路ごとに適切に更新を反映させる。【解決手段】電子文書に対してユーザから副本ＩＤを伴う要求を受け取ると、文書管理サーバ１０は、その要求が示す操作を実行し、新たな副本ＩＤをそのユーザに返す。そして、その新たな副本ＩＤを受け取った副本ＩＤの子とする派生関係を記録する。ユーザから更新要求があった場合は、その要求が示す更新内容を副本ＩＤに対応づけて記録する。ユーザから電子文書の閲覧要求を受けた場合、その閲覧要求に伴う副本ＩＤを起点に派生関係を遡り、その遡及過程で見つかった更新内容を反映した文書データを提供する。【選択図】図１
2008003846.tif 000002
【特許請求の範囲】
【請求項１】
電子文書を管理する文書管理サーバと電子文書を利用するクライアントとを含む文書利用管理システムであって、
前記文書管理サーバは、
ユーザからの操作要求に応じて電子文書に操作を行った場合に、その電子文書に対する操作に対応づけられた新たな操作ＩＤを発行すると共に、その新たな操作ＩＤをその操作要求に伴って受け取った操作ＩＤの子とする派生関係を記録するＩＤ処理手段と、
ユーザからの操作要求に応じて電子文書に対して操作を行った場合に、その操作に関する属性情報を、その操作に対応する操作ＩＤに対応づけて記録する属性記録手段と、
ユーザから電子文書の利用要求を受けた場合に、その利用要求に伴って受け取った操作ＩＤから前記派生関係のルートノードまでの経路に現れる少なくとも１つの操作ＩＤに対応づけられた属性情報を含む応答データをそのユーザに提供する応答データ提供手段と、
を備え、
前記クライアントは、
電子文書に関する操作要求に応じて文書管理サーバから受け取った操作ＩＤをその電子文書に対応する操作ＩＤとして保存する操作ＩＤ管理手段と、
前記操作ＩＤ管理手段により保存された操作ＩＤを指定してユーザから操作指示を受けた場合に、その操作ＩＤを伴った要求を文書管理サーバへと送る要求手段と、
を備える、
文書利用管理システム。
【請求項２】
請求項１記載の文書利用管理システムであって、
前記文書管理サーバは、前記派生関係における操作ＩＤに対応づけて、前記属性情報の公開条件を規定する制御情報を記録する制御情報記録手段、を更に備え、
前記応答データ提供手段は、前記制御情報記録手段により記録された制御情報に従い、前記利用要求に伴って受け取った操作ＩＤから前記派生関係のルートノードまでの経路に現れる少なくとも１つの操作ＩＤに対応づけられた属性情報を前記応答データに含めるか否かを制御する、
ことを特徴とする文書利用管理システム。
【請求項３】
請求項２記載の文書利用管理システムであって、
前記制御情報は、当該制御情報が設定された操作ＩＤに対応づけて記録された属性情報についての公開条件を規定するものである、
ことを特徴とする文書利用管理システム。
【請求項４】
請求項２記載の文書利用管理システムであって、
前記制御情報は、当該制御情報が設定された操作ＩＤに対して、前記派生関係において子孫となる操作ＩＤに対応づけて記録された属性情報についての公開条件を規定するものである、
ことを特徴とする文書利用管理システム。
【請求項５】
請求項２記載の文書利用管理システムであって、
前記制御情報は、前記利用要求に伴って受け取った操作ＩＤから前記派生関係のルートノードまでの経路に現れるいずれかの操作ＩＤに対応付けられている、
ことを特徴とする文書利用管理システム。
【請求項６】
請求項１記載の文書利用管理システムであって、
前記属性情報は、前記電子文書の更新情報又は前記電子文書に付加された付加情報を含み、
前記応答データ提供手段は、前記利用要求に伴って受け取った操作ＩＤから前記派生関係のルートノードまでの経路に現れる少なくとも１つの操作ＩＤに対応づけられた更新情報又は付加情報と、前記操作ＩＤに対応づけられた電子文書とを含む応答データを提供する、
ことを特徴とする文書利用管理システム。
【請求項７】
請求項１記載の文書利用管理システムであって、
前記文書管理サーバは、
前記派生関係における操作ＩＤに対応づけて、前記電子文書に対する更新又は前記電子文書に対する付加情報の付加を許可するか否かを示す制御情報を記録する制御情報記録手段と、
ユーザからの要求に伴って受け取った操作ＩＤから前記派生関係のルートノードまでの経路に、前記電子文書に対する更新又は前記電子文書に対する付加情報の付加を禁止する制御情報が設定された操作ＩＤがある場合、前記電子文書に対する更新又は前記電子文書に対する付加情報の付加を禁止するよう制御する更新制御手段と、
を備えることを特徴とする文書利用管理システム。
【請求項８】
請求項１記載の文書利用管理システムであって、
前記操作ＩＤに対応づけて記録される属性情報は、当該電子文書の更新操作の結果得られた更新バージョンの文書データを含み、
前記応答データ提供手段は、前記利用要求に伴って受け取った操作ＩＤから前記派生関係のルートノードまでの経路に現れる操作ＩＤに対応づけて記録された更新バージョンの文書データを含む応答データを提供する、
ことを特徴とする文書利用管理システム。
【請求項９】
請求項８記載の文書利用管理システムであって、
前記文書管理サーバは、前記派生関係における操作ＩＤに対応づけて、前記電子文書の原本又は１以上の前記更新バージョンのうちのいずれをユーザに提供するか規定する制御情報を記録する制御情報記録手段、を更に備え、
前記応答データ提供手段は、前記利用要求に伴って受け取った操作ＩＤから前記派生関係のルートノードまでの経路に現れる操作ＩＤに対応づけられた前記原本又は前記更新バージョンの文書データのうちいずれを応答データに含めるかを、前記制御情報記録手段により記録された制御情報に従って決定する、
ことを特徴とする文書利用管理システム。
【請求項１０】
電子文書を管理する文書管理サーバと電子文書を利用するクライアントとを含む文書利用管理システムであって、
前記文書管理サーバは、
ユーザからの操作要求に応じて電子文書に操作を行った場合に、その電子文書に対する操作に対応づけられた新たな操作ＩＤを発行すると共に、その新たな操作ＩＤをその操作要求に伴って受け取った操作ＩＤの子とする派生関係を記録するＩＤ処理手段と、
ユーザからの操作要求に応じて電子文書に対して操作を行った場合に、その操作に関する属性情報を、その操作に対応する操作ＩＤに対応づけて記録する属性記録手段と、
ユーザから電子文書の利用要求を受けた場合に、その利用要求に伴って受け取った操作ＩＤに対して所定の手続を施すことで派生操作ＩＤを求め、前記派生操作ＩＤから前記派生関係のルートノードまでの経路に現れる少なくとも１つの操作ＩＤに対応づけられた属性情報を含む応答データをそのユーザに提供する応答データ提供手段と、
を備え、
前記クライアントは、
電子文書に関する操作要求に応じて文書管理サーバから受け取った操作ＩＤをその電子文書に対応する操作ＩＤとして保存する操作ＩＤ管理手段と、
前記操作ＩＤ管理手段により保存された操作ＩＤを指定してユーザから操作指示を受けた場合に、その操作ＩＤを伴った要求を文書管理サーバへと送る要求手段と、
を備える、
文書利用管理システム。
【請求項１１】
電子文書を管理する文書管理サーバと電子文書を利用するクライアントとを含むシステムにおける文書利用管理方法であって、
前記文書管理サーバは、
ユーザからの操作要求に応じて電子文書に操作を行った場合に、その電子文書に対応づけられた新たな操作ＩＤをそのユーザに発行すると共に、その新たな操作ＩＤをその操作要求に伴って受け取った操作ＩＤの子とする派生関係を記録し、
ユーザからの操作要求に応じて電子文書に操作を行った場合に、その操作に関する属性情報を、その操作に対応する操作ＩＤに対応づけて記録し、
ユーザから電子文書の利用要求を受けた場合に、その利用要求に伴う操作ＩＤから前記派生関係のルートノードまでの経路に現れる少なくとも１つの操作ＩＤに対応づけられた属性情報を含む応答データをそのユーザに提供し、
前記クライアントは、
電子文書に関する操作要求に応じて文書管理サーバから受け取った操作ＩＤをその電子文書に対応する操作ＩＤとして保存し、
前記操作ＩＤ管理手段により保存された操作ＩＤを指定してユーザから操作指示を受けた場合に、その操作ＩＤを伴った要求を文書管理サーバへと送る、
ことを特徴とする文書利用管理方法。
【請求項１２】
ユーザに提供した電子文書を管理する文書管理サーバであって、
ユーザからの操作要求に応じて電子文書に操作を行った場合に、その電子文書に対応づけられた新たな操作ＩＤをそのユーザに発行すると共に、その新たな操作ＩＤをその操作要求に伴って受け取った操作ＩＤの子とする派生関係を記録するＩＤ処理手段と、
ユーザからの操作要求に応じて電子文書に対して操作を行った場合に、その操作に関する属性情報を、その操作に対応する操作ＩＤに対応づけて記録する属性記録手段と、
ユーザから電子文書の利用要求を受けた場合に、その利用要求に伴う操作ＩＤから前記派生関係のルートノードまでの経路に現れる少なくとも１つの操作ＩＤに対応づけられた属性情報を含む応答データをそのユーザに提供する応答データ提供手段と、
を提供する文書管理サーバ。
【請求項１３】
ユーザからの操作要求に応じて電子文書に操作を行った場合に、その電子文書に対応づけられた新たな操作ＩＤをそのユーザに発行すると共に、その新たな操作ＩＤをその操作要求に伴って受け取った操作ＩＤの子とする派生関係を記録し、
ユーザからの操作要求に応じて電子文書に対して操作を行った場合に、その操作に関する属性情報を、その操作に対応する操作ＩＤに対応づけて記録し、
ユーザから電子文書の利用要求を受けた場合に、その利用要求に伴う操作ＩＤから前記派生関係のルートノードまでの経路に現れる少なくとも１つの操作ＩＤに対応づけられた属性情報を含む応答データをそのユーザに提供する、
処理をコンピュータに実行させるためのプログラム。
【請求項１４】
電子文書を管理する文書管理サーバと電子文書を利用するクライアントとを含む文書利用管理システムにおける文書管理方法であって、
前記文書管理サーバは、
ユーザからの操作要求に応じて電子文書に操作を行った場合に、その電子文書に対する操作に対応づけられた新たな操作ＩＤを発行すると共に、その新たな操作ＩＤをその操作要求に伴って受け取った操作ＩＤの子とする派生関係を記録し、
ユーザからの操作要求に応じて電子文書に対して操作を行った場合に、その操作に関する属性情報を、その操作に対応する操作ＩＤに対応づけて記録し、
ユーザから電子文書の利用要求を受けた場合に、その利用要求に伴って受け取った操作ＩＤに対して所定の手続を施すことで派生操作ＩＤを求め、前記派生操作ＩＤから前記派生関係のルートノードまでの経路に現れる少なくとも１つの操作ＩＤに対応づけられた属性情報を含む応答データをそのユーザに提供し、
前記クライアントは、
電子文書に関する操作要求に応じて文書管理サーバから受け取った操作ＩＤをその電子文書に対応する操作ＩＤとして保存し、
前記操作ＩＤ管理手段により保存された操作ＩＤを指定してユーザから操作指示を受けた場合に、その操作ＩＤを伴った要求を文書管理サーバへと送る、
ことを特徴とする文書利用管理方法。
【請求項１５】
ユーザに提供した電子文書を管理する文書管理サーバであって、
ユーザからの操作要求に応じて電子文書に操作を行った場合に、その電子文書に対する操作に対応づけられた新たな操作ＩＤを発行すると共に、その新たな操作ＩＤをその操作要求に伴って受け取った操作ＩＤの子とする派生関係を記録するＩＤ処理手段と、
ユーザからの操作要求に応じて電子文書に対して操作を行った場合に、その操作に関する属性情報を、その操作に対応する操作ＩＤに対応づけて記録する属性記録手段と、
ユーザから電子文書の利用要求を受けた場合に、その利用要求に伴って受け取った操作ＩＤに対して所定の手続を施すことで派生操作ＩＤを求め、前記派生操作ＩＤから前記派生関係のルートノードまでの経路に現れる少なくとも１つの操作ＩＤに対応づけられた属性情報を含む応答データをそのユーザに提供する応答データ提供手段と、
を備える文書管理サーバ。
【請求項１６】
ユーザからの操作要求に応じて電子文書に操作を行った場合に、その電子文書に対する操作に対応づけられた新たな操作ＩＤを発行すると共に、その新たな操作ＩＤをその操作要求に伴って受け取った操作ＩＤの子とする派生関係を記録し、
ユーザからの操作要求に応じて電子文書に対して操作を行った場合に、その操作に関する属性情報を、その操作に対応する操作ＩＤに対応づけて記録し、
ユーザから電子文書の利用要求を受けた場合に、その利用要求に伴って受け取った操作ＩＤに対して所定の手続を施すことで派生操作ＩＤを求め、前記派生操作ＩＤから前記派生関係のルートノードまでの経路に現れる少なくとも１つの操作ＩＤに対応づけられた属性情報を含む応答データをそのユーザに提供する、
処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザによる電子文書の利用を管理するためのシステムに関する。
【背景技術】
【０００２】
従来より、文書や音声文書、マルチメディア文書などの電子文書（以下単に文書とも呼ぶ）をサーバに登録し、ユーザの要求に応じてその文書を提供することが行われている。
【０００３】
電子文書の利用管理では、ユーザに与える文書利用権限の管理が重要となる。従来、文書に関する利用権限の管理は、アクセス制御リスト（ＡＣＬ:Access Control List）を用いて行われることが一般的である。よく知られるように、ＡＣＬには、管理対象の文書（ファイル）ごとに、その文書に対する各ユーザ又は各グループの権限、例えば閲覧可能／不可、書込可能／不可など、が登録される。管理システムは、ユーザからある文書に対する操作の要求を受けた場合、その操作がそのユーザの権限内のものであるかをＡＣＬに基づき判定し、その操作を許可するか否かを判定する。
【０００４】
また別の従来技術として、サーバがユーザに提供する文書を暗号化しておき、ユーザが自分の端末内の文書を利用する都度、サーバから復号のための情報を取得するシステムが知られている。このシステムでは、利用の都度ユーザの端末からサーバにアクセスがあるので、サーバはユーザに提供した文書に対して行われた操作を記録することができる。このようなシステムの一例として、特許文献１に示されるものがある。
【０００５】
また、別の従来技術では、プリンタで電子文書を印刷し、その印刷結果に記載された識別情報または座標情報を前記電子文書と対応づけて文書管理データベースに格納し、印刷された文書に対して電子ペン等の電子情報入力インタフェースまたは座標入力装置にて加筆を行うことで得られる、識別情報や座標情報に基づく電子文書の更新情報を、前記電子文書と対応づけて、履歴管理データベースや履歴管理文書フォルダに保管・更新するシステムや装置が知られている。このようなシステムの一例として、特許文献２に示されるものがある。
【０００６】
このような従来システムには、紙文書に対する手書きによる編集を、直接的に電子文書に反映し、電子文書の更新された版の系列を、電子文書をノードとする木構造として保持するものがある。特許文献２では、文書やファイルをノードとし、文書やファイルの更新によって生成される版を、枝分かれした版として管理する事ができる文書履歴木の例が開示されている。このようなバージョン管理システムは、CVS（Concurrent Versions System) として広く知られている。
【０００７】
特許文献２は、電子文書の更新に関する履歴を、更新前の電子文書を親とし、更新後の電子文書を子とするように文書履歴木を管理する方法が開示されている。
【０００８】
特許文献２では、文書履歴木を辿ることで変更後の電子文書または、直前の変更前の電子文書を検出するという記載がある。
【０００９】
【特許文献１】特表２００５−５１８６０２号公報
【特許文献２】特開２００５−１３５２１１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、ＡＣＬを用いた利用権限管理のシステムが機能するには、個々の文書について各ユーザに与える利用権限をあらかじめＡＣＬに登録しておく必要があるため、登録作業が繁雑になる場合がある。
【００１１】
例えばユーザ間での文書の流通を考えた場合、同じ文書が複数の流通経路に沿って流通し、その文書に対し個々の流通経路でそれぞれ個別に更新が加えられることはよくあることである。このようケースでは、更新内容は同じ流通経路上にあるユーザにのみ開示されるようにすることが望ましい。しかし、このような開示制御を仮にＡＣＬを用いた一般的なシステムで実現しようとする場合には、ある流通経路上の文書に対し更新が加えられると、その更新を反映した新文書を元の文書とは別にシステムに登録し、その流通経路上のユーザに対するその新文書の利用権限をシステムに登録する必要がある。このような登録作業は煩雑である。
【００１２】
また、文書を受け取ったユーザが次にその文書を渡すユーザを自由に決めるような文書流通形態をとる場合には、文書の流通経路が事前に定まらないので、文書がユーザ間で受け渡される都度、文書を受け取ったユーザの利用権限をＡＣＬに動的に登録する必要が出てくる場合も考えられる。
【００１３】
以上文書が更新される場合を例にとったが、文書が更新されない場合でも、同じ文書が複数の経路に分岐して流通する場合、ユーザにとって、自分が受け取った文書がどのような流通経路に沿って流れてきたものか、その経路上でどのような操作を受けたのか、などの履歴が分かることは有益な場合がある。このような経路ごとの履歴の情報をユーザに提供するためのシステムが求められる。
【００１４】
また特許文献１のシステムは、個々の文書に対して行われた操作の追跡には役立つが、同じ文書が複数の経路に分岐して流通する場合は想定していないので、経路ごとに個別に文書の更新が行われる場合がある。また、このシステムでは、個別に操作の履歴を記録することまではできない。
【００１５】
また特許文献２には、紙文書の複写について、複写手段からの指示や入力により、文書履歴木のノードを追加・更新する具体的な手段についての説明は、何ら開示されていない。同様に紙文書を破棄した際に、破棄手段からの指示や入力により、文書履歴木のノードを追加・更新する具体的な手段についての説明は、何ら開示されていない。
【００１６】
ここで、文書に対するアクセス制御を簡便に実施するため、文書に対して行われた操作の履歴情報を木構造で管理し、そのうちの特定のノード (文書に対する操作を表す)に対してアクセス制御情報を割り当て、そのノードから派生する操作に対してだけ所望のアクセス制御を行いたい、という場合がある。
【００１７】
文書に対する操作には、移動、閲覧、アクセス権の変更など、文書の更新を伴わないものが存在するため、従来システムで開示されているような、改訂された電子文書自体をノードに保持する静的な情報に基づく木構造では、表現されない操作が存在することになる。つまり、従来の文書管理方法では、文書に対する操作履歴、すなわち、事象(イベント)の時系列を直接的に表現するような動的な情報を保持することは困難であり、上述のような操作履歴に基づくアクセス制御は実現し難い。
【００１８】
特許文献２の方法においても、変更前の文書のノードや変更後の文書のノードに所望のアクセス制御情報を割り当てるようにすれば前述のような特定のノードから派生した操作に対するアクセス制御が可能になる。しかし、そのような方法では、文書の変更操作の都度アクセス制御情報を登録する必要があり、また、アクセス制御情報を変更する場合は修正箇所が広い範囲に及ぶなど作業が煩雑になる可能性が高い。
【課題を解決するための手段】
【００１９】
本発明の１つの側面では、電子文書を管理する文書管理サーバと電子文書を利用するクライアントとを含む文書利用管理システムを提供する。このシステムにおいて、文書管理サーバは、ユーザからの操作要求に応じて電子文書に操作を行った場合に、その電子文書に対応づけられた新たな操作ＩＤをそのユーザに発行すると共に、その新たな操作ＩＤをその操作要求に伴って受け取った操作ＩＤの子とする派生関係を記録するＩＤ処理手段と、ユーザからの操作要求に応じて電子文書に対して操作を行った場合に、その操作に関する属性情報を、その操作に対応する操作ＩＤに対応づけて記録する属性記録手段と、ユーザから電子文書の利用要求を受けた場合に、その利用要求に伴う操作ＩＤから前記派生関係のルートノードまでの経路に現れる少なくとも１つの操作ＩＤに対応づけられた属性情報を含む応答データをそのユーザに提供する応答データ提供手段と、を備える。またクライアントは、電子文書に関する操作要求に応じて文書管理サーバから受け取った操作ＩＤをその電子文書に対応する操作ＩＤとして保存する操作ＩＤ管理手段と、保存された操作ＩＤを指定してユーザから操作指示を受けた場合に、その操作ＩＤを伴った要求を文書管理サーバへと送る要求手段と、を備える。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して、本発明の実施の形態（以下「実施形態」と呼ぶ）について説明する。
【００２１】
＜副本ショートカットを用いた文書利用管理システムの概要＞
まず、実施形態のシステムのベースとなる、副本ショートカットを用いた文書利用管理システムについて説明する。
【００２２】
図１は、この文書利用管理システムの概略構成を示すブロック図である。このシステムは、インターネットやローカル・エリア・ネットワーク等のネットワーク３０を介して接続された文書管理サーバ１０とクライアント端末２０−１，２０−２，・・・（以下、クライアント端末２０と総称する）から構成される。
【００２３】
このシステムでは、電子文書の正本を文書管理サーバ１０で管理し、クライアント端末２０にはその電子文書を保存しないようにすることで、電子文書のセキュリティを確保する。クライアント端末２０には、電子文書そのもののファイルの代わりに、その電子文書にアクセスするための情報を含んだ副本ショートカット（以下「副本ｓｃ」と略す）と呼ぶファイルを持たせる。副本ｓｃには、例えば、副本ＩＤと呼ぶ管理用の識別情報と、文書管理サーバ１０のホスト名又は文書閲覧要求用のＵＲＬ（Uniform Resource Locator）などのアクセス情報と、副本ｓｃの属性とが含まれる。副本ｓｃの含む情報の一例を以下に示す。
"id=1234567, host=foo.fujixerox.co.jp,createDate=2005/05/24 11:12:34"
【００２４】
この例では、"id=1234567"が副本ＩＤを、"host=foo.fujixerox.co.jp"が文書管理サーバ１０のホスト名を、"createDate=2005/05/24 11:12:34"がその副本ｓｃの属性の１つである作成日時を示す。副本ショートカットには、漏洩防止等のために、電子文書の実体は含めない。ただし、ユーザがどの電子文書の副本ｓｃかを識別できるよう、電子文書の一部例えば１ページ目だけの情報や、電子文書の各ページのサムネイル画像などのように、その電子文書の劣化バージョンを見本として副本ｓｃに含めてもよい。
【００２５】
なお、副本ｓｃに組み込むアクセス情報は、副本ｓｃを利用するクライアント端末２０が、その副本ｓｃに対応する正本を管理する文書管理サーバ１０にアクセスする際に用いられる。ただし、ネットワーク上に、副本ＩＤから対応の正本を管理する文書管理サーバ１０のアクセス情報を解決するサーバを設けるならば（そしてこのサーバのアドレスが副本ｓｃに含まれるか、或いはビューワ２２にとって既知であれば）、副本ｓｃに文書管理サーバ１０のアクセス情報を含める必要はない。
【００２６】
図２に示すように、クライアント端末２０のファイルシステム２４には、他のアプリケーションのファイルとともに、副本ｓｃ２６のファイルも保存される。副本ｓｃ２６は、例えばアドビ社が開発したＰＤＦ(Portable Document Format)や富士ゼロックス株式会社が開発したDocuWorks（登録商標）文書などのように、文書の実体データに加え、属性情報を保持できる形式のファイルとして作成する。この場合、副本ｓｃ２６のファイルには副本ＩＤやアクセス情報等が属性情報として組み込まれる。ユーザは、文書管理サーバ１０上にある電子文書に対して閲覧その他の操作を行いたい場合、通常のショートカットファイルと同様の感覚で、その電子文書に対応する副本ｓｃ２６をファイルシステム２４や検索ソフトが提供するファイル一覧画面で選択し、操作を行う。すると、その副本ｓｃ２６のファイル形式に関連づけられたビューワ２２が起動し、そのビューワ２２がその副本ｓｃ２６内のアクセス情報及び副本ＩＤを用いて文書管理サーバ１０にアクセスして、その副本ＩＤに対応する電子文書のコピーである副本文書のファイルを取得する。ビューワ２２は、その副本ファイルを表示したり、ユーザの操作に応じてその副本ファイルに編集等の操作を加えたりする。ここで、副本ファイルには、そのファイルが副本であることを示す情報（例えば後述する更新用副本ＩＤ）が含まれており、ビューワ２２は、その情報からそのファイルが副本であることを認識する。ビューワ２２は、副本ファイルはファイルシステム２４には保存しない。副本ファイルは、クライアント端末２０においてビューワ２２が管理するメモリ領域の上で開かれるのみであり、ファイルシステム２４には保存されない。ビューワ２２としては例えばＰＤＦ形式に対応したアドビ社のAcrobat（登録商標）などを用いることができる。ここで、このシステム特有の副本ｓｃの取扱機能（その一部は既に説明したが、あとでも更に説明する）は、例えばプラグインの形でAcrobat等の既存ビューワに追加することができる。
【００２７】
このシステムでは、ユーザがクライアント端末２０上の副本ｓｃを利用して文書管理サーバ１０上の電子文書の正本に対して操作を行うたびに、文書管理サーバ１０が更新用の副本ＩＤを発行し、そのクライアント端末２０上の副本ｓｃ内の副本ＩＤを更新する。このようにすることで、このシステムでは、副本ｓｃを用いて電子文書に操作が行われるたびに、その副本ｓｃ内の副本ＩＤが更新されるようにしている。例えば、あるユーザＸが副本ｓｃを用いて電子文書の副本ファイルを文書管理サーバ１０に要求し、副本ファイルを得て閲覧した場合、そのユーザＸのクライアント端末２０にあるその副本ｓｃ内の副本ＩＤの値は、その閲覧の前後では変わってくる。したがって、そのユーザＸが副本ｓｃのコピーを電子メール等に添付して他のユーザＹに送った場合を考えると、閲覧の前に送ったのと閲覧のあとで送ったのとでは、ユーザＹが受け取る副本ｓｃの副本ＩＤが異なる。副本ｓｃを用いてユーザが電子文書の操作を要求する場合、その副本ｓｃに含まれる副本ＩＤがクライアント端末２０から文書管理サーバ１０に送られるので、文書管理サーバ１０は、その要求の元になった副本ｓｃがどの操作の段階に対応するものか（例えばユーザＸが閲覧する前のものか閲覧したあとのものか）を、受け取った副本ＩＤから識別することができる。また、副本ＩＤを、その対象となる電子文書の正本の識別情報（「文書ＩＤ」と呼ぶ）及びその副本ＩＤの発行の契機となった操作を行ったユーザのユーザＩＤ（或いはその副本ＩＤの発行先のユーザＩＤ）と対応づけて文書管理サーバ１０側で記録しておけば、その副本ＩＤからどの文書に対するどのユーザの操作かを割り出すこともでき、電子文書の流通の様子を詳細に追跡することができる。
【００２８】
副本ＩＤは、いわばユーザが電子文書に対して行った個々の操作に対応する、システム内で一意な識別情報である。副本ＩＤとしては、例えば操作ごとにインクリメントされる通し番号を用いてもよいが、第三者の推測による攻撃を困難にするという観点からすれば、例えば十分に長い乱数値などのように、高い一意性を確保しつつも推測が困難な生成規則を用いて生成された値を用いることが好適である。また、副本ＩＤの生成日時のように、副本ＩＤ発行の都度変化する属性情報のハッシュ値（十分に長い桁数のもの）や、そのような変化する属性情報に例えばその副本ＩＤに対応する正本の識別情報などといった固定的な属性情報を組み合わせたもの（或いはこれに更に乱数値を組み合わせてもよい）のハッシュ値を、副本ＩＤとして利用することもできる。
【００２９】
文書管理サーバ１０は、図３に示すように、正本文書ＤＢ１１，正本文書登録部１３，副本ｓｃ提供部１５，副本文書提供部１７及びログ管理部１９を備える。
【００３０】
正本文書ＤＢ１１は、クライアント端末２０からアップロードされた電子文書を、正本（原本）として保存し、管理するデータベースである。本システムの枠組みでは、正本文書ＤＢ１１に保存された電子文書のみが正本として取り扱われる。この枠組みでは、仮にその電子文書のコピーがネットワーク上に存在しても、それは正本とは関係がないものとして扱うことができる。特に、上述のようにクライアント端末２０のビューワ２２が、副本文書のファイルをファイルシステム等に保存しないようにしておけば、正本の写しがネットワーク上に出回る可能性を大幅に低減できる。
【００３１】
正本文書登録部１３は、クライアント端末２０から正本として登録すべくアップロードされた電子文書を、正本文書ＤＢ１１に登録する。このとき、正本文書登録部１３は、登録する正本の電子文書ファイルに対し、「文書ＩＤ」と呼ぶ一意な識別情報を付与する。文書ＩＤとしては、例えば十分に長い乱数値やその電子文書の十分に長いハッシュ値などを用いることができる。
【００３２】
副本ｓｃ提供部１５は、ユーザからの操作要求に応じ、正本文書ＤＢ１１内の電子文書に対する副本ｓｃをそのユーザに対して発行する。副本文書提供部１７は、ユーザからの操作要求に応じ、要求対象の電子文書の副本ファイルを作成し、そのユーザへと提供する。
【００３３】
ログ管理部１９は、クライアント端末２０を介したユーザからの操作要求に応じて文書管理サーバ１０が処理を行った場合に、その操作に関する情報をイベントログとして記録する。ログ管理部１９には、図４に示すように、個々の操作イベントごとに、その操作の対象となる正本電子文書の文書ＩＤ、その操作イベントにおいて副本ＩＤを提供したユーザ（この場合、その操作のために文書管理サーバ１０にアクセスしてきたユーザと同じ）のユーザＩＤ（宛先ユーザＩＤ）、そのイベントの種別、そのイベントの発生日時、そのイベントにおいてその宛先ユーザに提供した副本ＩＤ、及びそのイベントの契機となる要求に含まれていた副本ＩＤ（「旧副本ＩＤ」）を、ログレコードとして記録する。このログレコードによれば、副本ＩＤとそれに対応する正本の文書ＩＤが対応づけられる。またこのログレコードを調べれば、副本ＩＤに対し、文書の操作のためにこの旧副本ＩＤを用いたアクセスに対して文書管理サーバ１０が提供した新たな副本ＩＤが対応づけられるので、操作による副本ＩＤの変遷を把握することができる。このような副本ＩＤの変遷は、旧副本ＩＤから操作により新たな副本ＩＤが派生するという関係である。副本ＩＤの一意性から、異なる複数の旧副本ＩＤから同じ副本ＩＤが派生することはないので、この派生関係はツリー状となる。図４に例示したログデータが示す副本ＩＤの派生関係を図５に示す。
【００３４】
文書管理サーバ１０は、例えばウェブサーバとウェブアプリケーションを用いて構築することができる。この場合、文書管理サーバ１０は、ユーザインタフェース画面としてウェブページをクライアント端末２０に提供する。
【００３５】
次に、この文書利用管理システムの仕組みを具体的に示すために、図４に例示したログデータが形成された時のシステムの動作を、図６を参照して説明する。
【００３６】
まず、ユーザＰ０１がクライアント端末２０−Ｐ０１から文書管理サーバ１０に対し、電子文書"Ｏ"１００の登録要求を行う。電子文書１００は、クライアント端末２０−Ｐ０１のローカルのファイルシステム内にあるものでも、ネットワーク上のファイルサーバや文書サーバにあるものでもよい。この登録要求は、例えばビューワ２２が提供するユーザインタフェースを介して行う。このユーザインタフェースは、例えばファイルシステムやネットワークファイルシステムのツリー状のディレクトリを表示するディレクトリ画面を提供し、このディレクトリ画面上でユーザＰ０１から登録対象の電子文書の選択を受け付ける。また、ユーザインタフェースが検索画面を提供し、その検索画面に対しユーザが入力した検索条件に合致する電子文書をローカルのファイルシステム及び／又はネットワーク上のファイルサーバから検索してその検索結果をユーザに提示し、その中からユーザに登録対象の文書を選択させてもよい。クライアント端末２０が発する登録要求には、ユーザＰ０１を特定するユーザＩＤと、対象となる電子文書１００（実体データ又はその実体データに対するリンク情報）が含まれる。ここで登録要求に含めるユーザＩＤとしては、クライアント端末２０−Ｐ０１又は本システムに対してユーザＰ０１がログインした際に提示したユーザＩＤを用いることができる。
【００３７】
登録要求を受けた文書管理サーバ１０では、正本文書登録部１３が、その要求に含まれる電子文書１００の実体データを取得し（要求に実体データへのリンクが含まれる場合は、そのリンクを用いて実体データを取得し）、その電子文書に一意な文書ＩＤ"Ｄ０１"を付与して、その電子文書１００の実体データを文書ＩＤ"Ｄ０１"と対応づけて正本文書ＤＢ１１に登録する。ここで、クライアント端末２０から送られてきた電子文書１００が、このシステムの文書フォーマット（例えばＰＤＦ）でない場合は、文書管理サーバ１０がその電子文書１００をシステムの文書フォーマットに変換してから正本文書ＤＢ１１に登録してもよい。
【００３８】
次に副本ｓｃ提供部１５が、一意な副本ＩＤ"ａ"を生成し、その副本ＩＤ"ａ"及びその文書管理サーバ１０のホスト名などを含んだ副本ｓｃ１０２を生成し、この副本ｓｃ１０２を、例えば登録要求に対する応答に含める形で、クライアント端末２０−Ｐ０１に送信する。また、文書管理サーバ１０では、ログ管理部１９が、以上の登録イベントについてのログレコードとして、図４に示したテーブルの２行目のレコードを記録する。このレコードでは、操作イベントの対象となる正本電子文書の文書ＩＤは"Ｄ０１"であり、その操作イベントにおいて生成した新たな副本ＩＤの宛先ユーザのＩＤは"Ｐ０１"である。また、操作イベントの種類は"文書登録"であり、そのイベントの日時は"2006/03/03/10:00:00"である。また、そのイベントの結果として宛先ユーザに提供した副本ＩＤは"a"であり、旧副本ＩＤは、このケースではその操作の要求に副本ＩＤは含まれないので"NULL"（なし）である。
【００３９】
登録成功の応答と共に副本ｓｃ１０４を受けとったクライアント端末２０−Ｐ０１は、その副本ｓｃ１０４をファイルシステム２４−Ｐ０１に登録する。このとき、ファイルシステム２４−Ｐ０１内の元の電子文書１００を削除し、この代わりに副本ｓｃ１０４のファイルを保存するようにしても良い。このようにすれば、電子文書１００の正本の実体データは文書管理サーバ１０にしか存在しないことになり、その正本の原本性が保証しやすくなる。
【００４０】
なお、ユーザがネットワーク上のファイルサーバにある電子文書１００の登録を文書管理サーバ１０に要求した場合、文書管理サーバ１０は、副本ｓｃ１０２をそのファイルサーバへと送る。これを受けたファイルサーバは、自分が保持する電子文書１００を削除し、その代わりに副本ｓｃ１０２を保管するようにしてもよい。この場合、ユーザＰ０１は、ネットワークファイルシステムのディレクトリ画面などで、そのファイルサーバ上にある副本ｓｃ１０２を見ることができる。
【００４１】
ここで、ユーザＰ０１が、電子文書"Ｏ"１００の副本ｓｃ１０２を電子メールに添付するなどの方法でユーザＰ０３に送信したとする。すると、ユーザＰ０３のクライアント端末２０−Ｐ０３のファイルシステム２４−Ｐ０３には、電子文書"Ｏ"を指し示すショートカットとして副本ｓｃ１０２が保存される。ユーザＰ０３が電子文書"Ｏ"を閲覧するために、ビューワ２２で副本ｓｃ１０２をオープンし、閲覧の指示を入力すると、ビューワ２２がその副本ｓｃ１０２から副本ＩＤ"ａ"と文書管理サーバ１０のホスト名を取り出し、そのホスト名を用いて文書管理サーバ１０にアクセスし、副本ＩＤ"ａ"を伴った閲覧要求１０４を送信する。この閲覧要求１０４には、ユーザＰ０３のユーザＩＤが含まれる。以降の各段階でも、ユーザが文書管理サーバ１０に要求その他のデータを送信する場合には、その要求にそのユーザのＩＤが含まれるか、あるいはその送信の以前にユーザが文書管理サーバ１０にログインしているなどにより、文書管理サーバ１０はどのユーザからのアクセスなのかを把握することができる。
【００４２】
閲覧要求１０４を受け取った文書管理サーバ１０では、副本文書提供部１７が起動する。副本文書提供部１７は、その閲覧要求１０４に伴う副本ＩＤ"ａ"を、例えば「提供した副本ＩＤ」の値として持つレコードをログ管理部１９から求め、そのレコードの文書ＩＤ"Ｄ０１"が示す電子文書"Ｏ"の実体データを正本文書ＤＢ１１から求め、そのコピーを作成する。そして、副本文書提供部１７は、更新用の副本ＩＤ"ｂ"を生成し、これをそのコピーのファイルの副本ＩＤ属性にセットすることで副本ファイル１０６を生成し、この副本ファイル１０６を、閲覧要求１０４に対する応答としてクライアント端末２０−Ｐ０３に返す。
【００４３】
またログ管理部１９は、図４のテーブルの３行目のようなログレコードを作成して記録する。閲覧要求１０４には副本ＩＤ"ａ"が含まれ、それに応じて提供した副本ファイル１０６には副本ＩＤ"ｂ"が含まれるので、このログレコードでは「旧副本ＩＤ」が"ａ"となり、「提供した副本ＩＤ」が"ｂ"となる。また、ログレコードには、対象となる文書ＩＤとして"Ｄ０１"が、宛先ユーザＩＤとして"Ｐ０３"が、イベントとして"副本提供"が記録される。
【００４４】
クライアント端末２０−Ｐ０３のビューワ２２は、送られてきた副本ファイル１０６中の文書の実体データを開いて表示する。ここで、その副本ファイル１０６には保存不可の属性が付されているので、ビューワ２２はその副本ファイル１０６をファイルシステム２４−Ｐ０３には保存しない。例えばビューワ２２は、その副本ファイル１０６の保存が選択できないようにしたユーザインタフェース画面を提供する。またビューワ２２は、ファイルシステム２４−Ｐ０３中に保存された副本ｓｃ１０２の中の副本ＩＤ"ａ"を、その副本ファイル１０６に含まれる更新用の副本ＩＤ"ｂ"に書き換えることで、電子文書"Ｏ"を指すショートカットを更新する。これにより、ファイルシステム２４−Ｐ０３中の副本ｓｃ１０２が、副本ＩＤ"ｂ"を含んだ副本ｓｃ１０８に置き換えられる。
【００４５】
ユーザＰ０３電子文書"Ｏ"の副本ｓｃを他のユーザに送信する場合を考えると、その送信が副本１０６の閲覧の前であれば副本ＩＤ"ａ"の副本ｓｃ１０２が送信されるが、副本閲覧の後ならば副本ＩＤ"ｂ"の副本ｓｃ１０８が送信されることになる。
【００４６】
次に、ユーザＰ０４が文書管理サーバ１０で管理された電子文書を取得する場合を考える。この場合、ユーザＰ０４は、クライアント端末２０−Ｐ０４から文書管理サーバ１０に対し、ディレクトリ画面又は検索画面を要求する。文書管理サーバ１０は、正本文書ＤＢ１１内に登録された電子文書群を選択するためのそれらディレクトリ画面又は検索画面を生成し、それをクライアント端末２０−Ｐ０４に返す。ユーザＰ０４がそれらの画面を介して所望の電子文書"Ｏ"を見つけ、その取得を指示すると、クライアント端末２０は、その電子文書"Ｏ"の識別情報（例えば文書ＩＤ"Ｄ０１"）を伴う取得要求１１２を文書管理サーバ１０に送る。これを受け取った文書管理サーバ１０では、副本ｓｃ提供部１５が新たな副本ＩＤ"ｃ"を生成し、これを含んだ副本ｓｃ１１４を作成してクライアント端末２０−Ｐ０４に返す。そして、ログ管理部１９が、このショートカット提供のイベントについてのレコード（図４に示したテーブルの４行目）を作成して記録する。
【００４７】
クライアント端末２０−Ｐ０４は、受け取った副本ｓｃ１１４をファイルシステム２４−Ｐ０４に保存する。ユーザがこの副本ｓｃ１１４を選んで閲覧を指示すると、ビューワ２２は副本ＩＤ"c"を伴った閲覧要求１１６を発行する。これに応じ文書管理サーバ１０は、その副本ＩＤ"ｃ"に対応する正本のコピーを作成するとともに、更新用の副本ＩＤ"ｄ"を生成してそのコピーのファイルの属性にセットすることで副本ファイル１１８を生成し、クライアント端末２０−Ｐ０４に返す。また、ログ管理部１９は、図４のテーブルの５行目に示すようなログレコードを記録する。
【００４８】
クライアント端末２０−Ｐ０４のビューワ２２は、その副本ファイル１１８を開いて表示すると共に、ファイルシステム２４−Ｐ０４内の副本ｓｃ１１４の副本ＩＤを副本ファイル１１８に含まれる更新用の副本ＩＤ"ｄ"へと変更する。これにより、クライアント端末２０−Ｐ０４が持つ電子文書"Ｏ"へのショートカットは副本ｓｃ１２０となる。
【００４９】
ユーザＰ０４が電子文書"Ｏ"の副本閲覧後に副本ｓｃ１２０をユーザＰ０８に送信し、ユーザＰ０８がその副本ｓｃ１２０を用いて閲覧要求１２２を行うと、文書管理サーバ１０は更新用の副本ＩＤ"ｅ"を含む副本ファイル１２４をクライアント端末２０−Ｐ０８に提供し、図４のテーブルの６行目に示すログレコードを記録する。クライアント端末２０−Ｐ０８のビューワ２２は、受け取った副本ファイル１２４を開いてユーザに提供し、ファイルシステム２４−Ｐ０８内の副本ｓｃの副本ＩＤを、その更新用の副本ＩＤ"ｅ"へと変更する。
【００５０】
図４に例示したログデータには、操作イベントにおける副本ＩＤの提供先のユーザＩＤを記録したが、これに加え、そのイベントの契機となった要求を発したユーザＩＤを合わせて記録してもよい。以上の例では、イベントの契機となる要求を発したユーザと、そのイベントにおいて新たに生成した副本ＩＤの提供先とは同一であるが、それらが異なる場合には、上述のように両者のユーザＩＤを記録することが好適である。
【００５１】
以上、実施形態のベースとなる文書利用管理システムの構成と処理内容について説明した。このシステムの特徴をまとめると以下のようになる。
・電子文書の正本が文書管理サーバに登録される。
・ユーザに対しては、電子文書の実体データの代わりに副本ｓｃが提供される。副本ｓｃには、副本ＩＤが含まれる。なお、副本ｓｃを用いて文書管理サーバ１０上の正本に関する何らかの操作を行う場合、正本を管理する文書管理サーバ１０を特定する必要がある。このために、副本ｓｃには、対応する正本を管理する文書管理サーバ１０を特定する情報を含めてもよい。
・文書管理サーバは、提供した副本ｓｃの副本ＩＤと、それに対応する正本との対応関係を管理する。（上述の例では、副本ＩＤ−正本対応関係をログ管理部１９のログレコードに含める形で管理したが、対応関係のデータは、両者の対応が分かればどのようなデータ形式であってもよい。）
・文書管理サーバ上の文書に対して何らかの操作を行う際には、操作を行う端末が持つ副本ｓｃの副本ＩＤがそのサーバに送られる。
・文書管理サーバは、端末から受け取った副本ＩＤに対応する正本を副本ＩＤ−正本対応関係に基づき特定し、正本に関して、要求された操作を行う。
・文書管理サーバは、正本に関する操作を行った場合、新たな副本ＩＤを生成し、この副本ＩＤを操作を要求したクライアント端末に送る。これを受け取ったクライアント端末は、要求に用いた副本ｓｃの副本ＩＤを、受け取った新たな副本ＩＤへと更新する。
・文書管理サーバは、クライアント端末からの要求に含まれていた副本ＩＤと、その要求に係る操作を行ったことにより生成した新たな副本ＩＤとの対応関係である、副本ＩＤ派生関係を管理する。
・文書管理サーバは、クライアント端末から電子文書の閲覧など、電子文書の実体データを必要とする操作を指示された場合、正本のコピーである副本文書データを提供する。副本文書データは、クライアント端末上で動作するビューワの管理するメモリ上の領域にのみ存在し、ディスク上には保存できない設定となっている。
【００５２】
以上の例では、文書管理サーバ１０が記録するログレコードとして図４に示すものを例示したが、これは一例に過ぎない。例えば、ログレコードには、宛先ユーザＩＤに加え、又はこれに代えて、その宛先ユーザのユーザ名を記録してもよい。ユーザ名は、クライアント端末２０から得ることができる。また、宛先ユーザの所属組織名を記録してもよい。所属組織名は、例えば、宛先ユーザの所属する企業や部署などの組織の名称である。所属組織名は、例えば、本システムに接続された組織情報管理データベースから得ることができる。組織情報管理データベースは、組織の各構成員の名前、所属部署、役職、連絡先などを管理する一種のディレクトリサーバである。企業内のシステムでは、このような組織情報管理データベースを備えることが多いので、そのデータベースから情報を取得すればよい。また、ユーザ名と所属組織名の情報として、ＩＴＵ−Ｔが策定したＸ．５０９証明書の識別名（ＤＮ:Distinguished Name）を用いてもよい。ＤＮは、例えばＬＤＡＰ(Lightweght Directory Access Protocol)サーバなどから取得するようにしてもよい。また、ログレコードには、宛先ユーザが用いているクライアント端末２０のＩＰ(Internet Protocol)アドレスやＭＡＣ(Media Access Control)アドレスを記録してもよい。ＩＰアドレスやＭＡＣアドレスは、クライアント端末２０からのアクセスを受け付けるに当たって取得することができる。
【００５３】
また、上述の文書利用管理システムの例では、文書の登録や、副本ｓｃの取得、文書閲覧などといった操作を例示したが、これに限らず、正本の文書に関連する操作のうち、システムとして把握しておきたい操作の全てを、上記特徴的な処理の対象とすることができる。
【００５４】
＜履歴情報の提供＞
以上のようなシステムでは、電子文書を閲覧するユーザに、その電子文書の履歴情報を提供することができる。
【００５５】
例えば、図４〜図６に示されるような電子文書の閲覧の流れを例にとる。この場合、ユーザＰ０３とＰ０８とは、ユーザＰ０１が登録した同じ正本Ｄ０１に対応する電子文書を閲覧しているが、その電子文書の入手経路は互いに異なる。すなわち、ユーザＰ０３が閲覧した電子文書は、ユーザＰ０１から受け取ったものであるのに対し、ユーザＰ０８が受け取った電子文書は、ユーザＰ０４から受け取ったものである。このような入手までの履歴情報を得ることができれば、ユーザにとって便利な場合がある。そのための仕組みを以下に説明する。
【００５６】
この例では、文書管理サーバ１０は、クライアント端末２０から閲覧要求を受けた場合、図７に示すような処理を実行する。
【００５７】
すなわち、まず文書管理サーバ１０は、その閲覧要求に伴って送られてきた副本ＩＤを「提供した副本ＩＤ」の値として持つログレコードをログ管理部１９から検索する。そして、そのログレコードの項目群の中から、ユーザに提供する項目の値を抽出し、抽出した各項目の情報を、履歴情報バッファ（図示省略）の末尾に追加する（Ｓ１）。履歴情報バッファは、ユーザに提供する履歴情報を構築するために用意した一時的な記憶領域である。ログレコードの項目群のうちユーザに提供する項目は、予めシステム管理者などが文書管理サーバ１０に登録しておけばよい。
【００５８】
次に文書管理サーバ１０は、ステップＳ１で取得したログレコードの中に「旧副本ＩＤ」の値があるかどうかを調べる（Ｓ２）。旧副本ＩＤがあれば、その旧副本ＩＤを「提供した副本ＩＤ」の値として持つログレコードをログ管理部から検索し、検索したログレコードから提供すべき項目の値を抽出し、履歴情報バッファに追加する（Ｓ３）。そして、処理はステップＳ２に戻り、ステップＳ３で取得したログレコードに旧副本ＩＤが存在するか否かを判定する。
【００５９】
以上の処理を、ステップＳ２の判定結果がＮｏとなるまで繰り返す。ステップＳ３の判定結果がＮｏとなるのは、ステップＳ１又はＳ３で取得したログレコードの「旧副本ＩＤ」の値が空ということであり、これは副本ＩＤの派生関係（例えば図５参照）において、最上位に到達したことを意味する。このように派生関係の最上位に到達すると、閲覧要求の対象である電子文書の正本のコピー（すなわち副本ファイル）を作成し、その副本ファイルにそれまで履歴情報バッファに蓄えた履歴情報を例えば属性情報として組み込んで、閲覧要求元のユーザのクライアント端末２０に送信する（Ｓ４）。
【００６０】
なお、図示は省略したが、最上位の副本ＩＤのログレコードの「イベント」が「文書登録」でない場合、更に要求された電子文書の文書ＩＤを持つ「文書登録」イベントのログレコードをログ管理部１９から検索し、履歴情報に追加してもよい。また、文書管理サーバ１０は、当該閲覧要求に対して副本ファイルをユーザに提供するが、その副本提供イベントのログレコードの情報を履歴情報に追加して提供してもよい。
【００６１】
以上のような処理によれば、例えば図６の流れにおいて、ユーザＰ０３の閲覧要求１０４に対して文書管理サーバ１０が提供する副本ファイル１０６には、図８に示すような履歴情報が組み込まれる。この履歴情報は、図４のログデータから作成されたものである。この履歴情報により、ユーザＰ０３は、ユーザＰ０１が登録した文書をユーザＰ０１から直接取得して閲覧（サーバ１０から見れば「副本提供」）したことが分かる。一方、ユーザＰ０８の閲覧要求１２２に対しては、図９に示すような履歴情報が組み込まれる。この履歴情報により、ユーザＰ０８は、自分の閲覧している電子文書が、ユーザＰ０１によりサーバ１０に登録され、ユーザＰ０４により閲覧された後、そのユーザＰ０４から自分へと伝達されたことが分かる。図８及び図９に示した履歴情報の項目はあくまで一例に過ぎず、ログレコードに記録された項目であれば、どのような項目を履歴情報に組み込んでもよい。
【００６２】
以上説明したシステムによれば、ユーザが副本ｓｃを用いて文書閲覧を要求した場合に、その副本ｓｃの副本ＩＤの派生関係をルート（根）ノード（以下単に「ルート」と呼ぶ）までたどっていく間に現れる各操作の履歴をユーザに提供できる。逆に言えば、派生関係をルートまでたどっていくまでの経路に現れない履歴情報はユーザに提供されないので、ユーザが閲覧要求に使用した副本ｓｃの流通経路に無関係な情報を開示してしまうこともない。
【００６３】
以上、閲覧要求に対応してユーザに提供する副本ファイルに履歴情報を組み込む場合を例にとったが、この他に、ユーザが自分の受け取った副本ｓｃについての履歴情報を取得するためのコマンドを用意してもよい。この場合、履歴情報取得コマンドは、例えば副本ｓｃを開く際のオプションとして提供することができる。ユーザがこのコマンドを選択した場合、文書管理サーバ１０は、その副本ｓｃに含まれる副本ＩＤから派生関係のルートに至るまでの各段階での履歴を含んだ履歴情報を生成し、ユーザに提供する。
【００６４】
また、閲覧要求に伴って送られてきた副本ＩＤに対して、所定の手続きで得られる派生副本ＩＤを求め、これを閲覧要求に伴っておくられてきた副本ＩＤとみなして、上記に説明した処理を行うこともできる。
【００６５】
派生副本ＩＤを求める手順としては、閲覧要求に伴って送られてきた副本ＩＤの子孫に位置する副本ＩＤの中で最後に発行されたものを選択する、という方法がある。または、副本ＩＤに対応づけて記録された「版情報」という属性情報が「最終版」という文字列に一致するもの、など、副本ＩＤに対応づけて記録された属性情報が所定の条件を満足するものを派生副本ＩＤとして選択するという方法もある。
【００６６】
＜派生文書に対するアクセス管理＞
次に、文書管理サーバ１０に登録された電子文書が、ユーザからユーザへと流通する過程で、内容に更新が加えられる場合を考える。登録された電子文書は、複数の経路に枝分かれして流通することがあり、その各経路で別々の更新が行われる場合がある。電子文書の流通形態の１つとして、電子文書に更新が加えられた場合に、その更新がその電子文書の流通経路におけるその更新の下流にのみ影響するようにする方式が考えられる。副本ｓｃを用いてこのような更新方式を実現する仕組みを以下に説明する。
【００６７】
具体例として、図１０に示すような文書の流れを考える。この例は、ユーザＰ０４が副本ファイル１１８を取得する段階までは、図６（及び図４）に示した流れと同様である。ここで、ユーザＰ０４が取得した副本ファイル１１８を開き、ビューワ２２が備える文書編集機能を用いて、その副本ファイル１１８の文書内容に対して更新を加えたとする。ユーザＰ０４が、ビューワ２２の操作メニューにて、更新内容を文書管理サーバ１０に登録する操作を選択すると、ビューワ２２は、更新された文書内容（すなわち更新されたバージョン）と副本ＩＤ"d"とを含んだ更新要求１３０を文書管理サーバ１０に送信する。この更新要求１３０に応じ、文書管理サーバ１０は、その文書更新内容を記録する。
【００６８】
文書更新内容の記録は、例えば、バージョン管理を行いつつ、更新要求１３０に含まれる更新バージョンの文書データを蓄積することで行うことができる。すなわち、図１１に示すように、この場合の文書管理サーバ１０ａの正本文書登録部１３ａはバージョン管理機能を備えており、文書登録要求又は更新要求を受けると、その要求に伴う文書データに対してバージョン番号を付与して、正本ＤＢ１１ａに登録する。このとき登録する文書データは、元になる正本と同じ文書ＩＤに対応づけて管理する。付与するバージョン番号は、正本ＤＢ１１ａ中に同じ文書ＩＤに対応づけて既に登録されている文書データとは重複しない番号とすればよい。
【００６９】
このようにして更新内容を記録すると、文書管理サーバ１０は、新たな副本ＩＤ"e"を含む副本ｓｃ１３２を生成し、ユーザＰ０４のクライアント端末２０−Ｐ０４に返す。そして、その更新処理のログレコードを生成し、ログ管理部１９に登録する。
【００７０】
図１０の例では、ユーザＰ０４がこの副本ｓｃ１３２をユーザＰ０６へと提供する。ユーザＰ０６が、クライアント端末２０−Ｐ０６にてこの副本ｓｃ１３２を用いて閲覧要求１３４を行うと、文書管理サーバ１０は、更新要求１３０により更新されたバージョンの文書データを含んだ副本ファイル１３６（副本ＩＤ"f"）を生成し、ユーザＰ０６に返す。
【００７１】
以上の流れで記録されるログデータの例を図１２に示す。文書本体の「更新」を管理する方式には、それぞれの更新後の文書の完全なデータを保持する方式（以下全体管理方式）や、更新前後の差分のみを保持する方式（以下差分管理方式）がある。差分管理方式は、オリジナルの文書に対し、更新の行われた順に各更新時の差分を反映していくことで、最新の文書を得ることができる。以下では、まず文書更新を全体管理方式で管理する場合の例を説明する。
【００７２】
この例では、ログレコードの１項目として「文書バージョン」が含まれる。文書登録要求１００（図１０参照）に応じた文書登録イベントの際、正本文書登録部１３ａは、登録する文書データに対してバージョン番号（この例では"０"）を付与し、このバージョン番号をログレコードに記録する。このとき記録されるログレコードは、図１２のテーブルの２行目のレコードであり、これは文書バージョンが追加された他は、図４のテーブルの２行目のレコードと同じである。正本ＤＢ１１ａには、文書データが、文書ＩＤとバージョン番号の組合せに対応づけて登録される。これは、更新の場合も同様である。また、更新要求１３０（図１０参照）に応じた更新イベントの際には、文書管理サーバ１０は、更新バージョンの文書データに対して新たなバージョン番号"１"を付与し、図１２のテーブルの６行目のログレコードを作成してログ管理部１９に記録する。
【００７３】
また、図１０には示していないが、図１２の例では、ユーザＰ０４は副本ｓｃ１３２（副本ＩＤ"e"）をユーザＰ０８にも提供し、ユーザＰ０８がその副本ｓｃ１３２を用いて文書の更新を行っている。この更新の際のログレコードが、図１２の９行目（下から２行目）のレコードである。図１２の例では、その後、ユーザＰ０８は更新の結果得た副本ｓｃ（副本ＩＤ"h"）をユーザＰ１１に提供し、ユーザＰ１１がその副本ｓｃを用いて更新後の文書を閲覧している。
【００７４】
図１２のログデータに対応する、副本ＩＤの派生関係ツリーを図１３に示す。このツリーは、各ログレコードにおける「提供した副本ＩＤ」と「旧副本ＩＤ」との対応関係と、文書ＩＤの情報とを用いて作成することができる。図１３のツリーでは、副本ＩＤと操作イベントとの対応関係が分かりやすくなるよう、各副本ＩＤに対応するノードに、その操作イベントにおいて生成した副本ＩＤの宛先ユーザ（言い換えれば、操作イベントを要求したユーザ）のＩＤ、操作イベントの種類、及び副本ＩＤ（又は正本ＩＤ）を示している。
【００７５】
次に、文書更新を全体管理方式で管理する場合において、クライアント端末２０から閲覧要求が来た場合の文書管理サーバ１０の処理手順を、図１４を参照して説明する。
【００７６】
この手順では、文書管理サーバ１０は、ユーザから閲覧要求を受け取った場合、その閲覧要求に伴う副本ＩＤを「提供した副本ＩＤ」の値に持つログレコードをログ管理部１９から取得する（Ｓ１１）。そして、このログレコードの「文書バージョン」の項目にバージョン番号が登録されているか否かを判定する（Ｓ１２）。含まれていなければそのログレコードの「旧副本ＩＤ」の値を「提供した副本ＩＤ」の値として持つログレコードを取得し（Ｓ１３）、取得したログレコードの「文書バージョン」の項目にバージョン番号が登録されているか否かを判定する。
【００７７】
一方、ログレコード中にバージョン番号が登録されているとステップＳ１２で判定された場合は、文書管理サーバ１０は、正本ＤＢ１１ａから、当該ログレコードの文書ＩＤとバージョン番号との組で特定される文書データを取り出し、その文書データを含む副本ファイルを作成して、要求元のユーザに提供する（Ｓ１４）。
【００７８】
以上のような処理手順によれば、閲覧要求に用いられた副本ｓｃ中の副本ＩＤを起点として、派生関係ツリーをルートへと遡るまでの過程において、最初に見つかったバージョン番号に対応する文書データが要求元ユーザに提供されることになる。
【００７９】
例えば、図１０の例で、ユーザＰ０６が閲覧要求１３４を発した場合、文書管理サーバ１０は、その閲覧要求１３４に伴う副本ＩＤ"e"を「提供した副本ＩＤ」の値として持つログレコードとして、図１２のテーブルの６行目のレコードを取得する。このレコードには、バージョン番号"１"が含まれるので、文書管理サーバ１０は、文書ＩＤ"Ｄ０１"及びバージョン番号"１"の組合せに対応する文書データを正本ＤＢ１１ａから読み出し、これを含んだ副本ファイルをユーザＰ０６に提供することになる。
【００８０】
また、図１２及び図１３に示す例において、ユーザＰ０８から取得した副本ｓｃ（副本ＩＤ"h"）を用いてユーザＰ１１が閲覧要求を行ったとすると、同様の処理により文書ＩＤ"Ｄ０１"及びバージョン番号"２"で特定される文書データを含む副本ファイルが提供される。同様に、ユーザＰ０３による閲覧要求１０４に対しては、文書ＩＤ"Ｄ０１"及びバージョン番号"０"で特定される文書データを含む副本ファイルが提供される。
【００８１】
このシステムにおいて、副本ＩＤの派生関係は、ユーザ間での電子文書の受け渡しの流れ、すなわち流通経路の情報を表している。したがって、このシステムによれば、電子文書が複数の経路に分岐して流通した場合でも、副本ＩＤを用いた閲覧要求に対し、ルートからその副本ＩＤに至るまでの経路における最新のバージョンの文書データを含む副本ファイルを提供することができる。
【００８２】
以上の例では、電子文書の内容の更新を、全体管理方式で管理していたが、これは一例に過ぎない。別の例として、更新の前後での文書内容の差分を文書管理サーバ１０に保存してもよい。差分は、例えばＵＮＩＸ（登録商標）オペレーティングシステムの"diff"コマンドに対応するプログラムなどのように、差分作成のためのプログラムにより作成することができる。差分のデータは、文書の編集作業を行ったビューワ２２が作成し、文書管理サーバ１０に更新要求と共に送ればよい。また、この代わりに、ビューワ２２は更新された文書データそのものを文書管理サーバ１０に送り、文書管理サーバ１０が差分データを作成してもよい。いずれの場合も、文書管理サーバ１０は、差分データに識別番号を付与し、正本ＤＢ１１などの記憶装置に保存する。
【００８３】
このように差分を管理する方式（以下「差分管理方式」と呼ぶ）では、文書管理サーバ１０は、電子文書の更新が行われると、図１５に示すように、差分データの識別番号（「差分ＩＤ」）を含むログデータを生成する。図１５のログデータは、全体管理方式の場合の図１２のログデータを、差分管理方式に代えた場合の例である。
【００８４】
差分管理方式のシステムにおいて、文書管理サーバ１０がユーザから閲覧要求を受けた場合の処理手順の一例を図１６に示す。
【００８５】
この手順では、文書管理サーバ１０は、ユーザから閲覧要求を受け取った場合、その閲覧要求に伴う副本ＩＤを「提供した副本ＩＤ」の値に持つログレコードをログ管理部１９から取得する（Ｓ２１）。そして、このログレコードの「差分ＩＤ」の項目に値が登録されているか否かを判定する（Ｓ２２）。登録されていれば、その差分ＩＤに対応する差分データを記憶装置から取得し、差分情報蓄積用のバッファに追加する（Ｓ２３）。そして、そのログレコードに「旧副本ＩＤ」の値が登録されているか否かを判定し（Ｓ２４）、登録されていれば、その旧副本ＩＤを「提供した副本ＩＤ」の値に持つログレコードをログ管理部１９から取得し（Ｓ２５）、ステップＳ２２に戻る。ステップＳ２２では、ステップＳ２５で取得したログレコードに差分ＩＤが含まれるかどうかを判定する。以上の処理を、ステップＳ２４の判定で、ログレコードに旧副本ＩＤが登録されていないと判定されるまで繰り返す。
【００８６】
ステップＳ２４の判定で、ログレコードに旧副本ＩＤが登録されていないと判定された場合、それは、当該電子文書の派生関係ツリーにおいてルートまで到達したことを意味する。このとき差分情報蓄積用のバッファには、その電子文書の正本に対して加えられた更新の際の差分データが、更新の順番の逆順に並んでいる。文書管理サーバ１０は、ログレコードの文書ＩＤに対応する正本の文書データを正本ＤＢ１１から取得し、差分情報蓄積用のバッファに蓄積された差分データを、蓄積順序の逆順、すなわち更新の時系列順に適用していく（Ｓ２６）。そして、この結果得られた文書データを、副本ファイルに組み込み、要求元のユーザに提供する（Ｓ２７）。
【００８７】
このように差分管理方式では、副本ＩＤを用いた閲覧要求に対し、ルートからその副本ＩＤに至るまでの経路における全ての更新内容を反映した副本ファイルを提供することができる。
【００８８】
以上、電子文書本体に更新が加えられる場合について説明したが、電子文書の更新の態様としては、この他にも、電子文書本体とは別の追加データを付加したり、電子文書本体に対して添付文書を付加したりする態様もある。追加データの例としては、電子文書の任意のページの任意の位置に付加可能な付せんデータ（アノテーションデータ）などがある。このように追加データや添付文書は、差分データと同様の取扱ができる。すなわち、追加データや添付文書には識別情報を付与して文書管理サーバ１０内の記憶装置に保存し、それらデータの付加操作のログレコードに、その識別情報を記録すればよい。付せんデータの場合は、付せんの内容だけでなく、その適用位置の情報も記録する。そして、閲覧要求があった場合には、その要求に伴う副本ＩＤを起点に、派生関係のツリーをルートまで遡り、その遡及する経路の各ノード（言い換えればログレコード）に記録された追加データ又は添付文書を正本のコピーと共にユーザに提供する。付せんの場合は、全ての付せんを正本のコピー上に配置したファイルを作成して提供する。なお、１つの操作イベントにおいて、追加データと添付文書の両方を電子文書に付加できるようにしてもよいし、このような追加データや添付文書の追加を電子文書本体の更新と同時に実行可能としてもよい。
【００８９】
次に、副本ＩＤの派生関係を利用して、ユーザの電子文書の利用を制御するための仕組みについて説明する。
【００９０】
電子文書の利用の制御としては、例えば、閲覧の制御や文書更新の制御がある。以下の例では、派生関係ツリーのノード（言い換えれば個々のログレコード）に対して制御情報を設定可能とし、その制御情報に基づいて、閲覧や文書更新の制御を行う。
【００９１】
設定可能な制御情報としては、次のようなものがある。
【００９２】
（１）アクセス期限
この制御情報は、派生関係のツリーにおいてイベント種別が「文書更新」であるノード（すなわちログデータにおいて、イベント種別が「文書更新」であるログレコード）に設定でき、そのノードの更新情報に対してアクセスできる期限を規定する。
【００９３】
この制御情報は、文書更新イベントの際に、その更新を行ったユーザが設定することができる。また、文書更新の後で、その更新を行ったユーザ、又はシステム管理者などの特権ユーザが、設定できるようにすることもできる。
【００９４】
文書更新の後で、更新を行ったユーザがこの制限情報を設定するには、更新イベントの結果として受け取った副本ｓｃを用いればよい。すなわち、この場合、副本ｓｃの操作オプションに制御情報の設定の操作項目を設けておき、ビューワ２２は、副本ｓｃを開く際にこの操作項目が選択された場合、制御情報の設定用のユーザインタフェースを提供し、このユーザインタフェースを用いて入力された制御情報を、その副本ｓｃの副本ＩＤと共に文書管理サーバ１０に送信すればよい。文書管理サーバ１０は、受け取った制御情報を、それに伴って受け取った副本ＩＤを「提供した副本ＩＤ」の値として持つログレコードの制御情報の欄に書き込む。なお、更新を行ったユーザ以外の一般ユーザがそのような制御情報を設定できないようにするために、制御情報の設定要求を受けた場合に、文書管理サーバ１０がユーザ認証を行うようにしてもよい。
【００９５】
システム管理者等の特権ユーザは、更新を行ったユーザの場合と同様、同様に副本ｓｃを用いてこの制御情報を設定してもよいし、またこのような特権ユーザのみに許されたインタフェースを通じて当該ノードにアクセスし、制御情報を設定するようにしてもよい。この場合、文書管理サーバ１０は、そのインタフェースを利用しようとするユーザに対してユーザ認証を行うことで、そのユーザが特権ユーザであるか否かを判定してもよい。
【００９６】
アクセス期限の値は、年月日・時刻等の形式で指定できる。アクセス期限が設定されたノードが保持する更新情報（すなわちそのノードに対応するログレコードに記録されたバージョンの文書データ、又は差分データ、追加データ、添付文書）は、そのアクセス期限が過ぎた後は閲覧できなくなる。
【００９７】
文書更新を全体管理方式で記録するシステムでは、あるノードに設定されたアクセス期限が経過すると、そのノードが保持するバージョンの文書データと、派生関係ツリー上でそのノードの下流（子孫）にあるノードが保持するバージョンの文書データとが閲覧できなくする。また、あるノードに設定されたアクセス期限が経過すると、そのノードの下流にあるノードの副本ＩＤを用いた閲覧要求は全て受け付けないようにすることもできる。
【００９８】
文書更新を差分管理方式（追加データ又は添付文書を追加する方式も含む）で記録するシステムでは、あるノードに設定されたアクセス期限が経過すると、そのノードが保持する差分データ、追加データ、添付文書は閲覧できなくするが、そのノードの上流又は下流にあるノードが保持する差分データ、追加データ、添付文書の閲覧可否はそのアクセス期限の影響は受けないようにできる。あるいは、期限が設定されたノードを含む、それより下流のノードが保持する差分データ、追加データ、添付文書を閲覧できないようにすることもできる。
【００９９】
さらに別の例として、期限が設定されたノードを含む、それより下流および上流のノードが保持する差分データ、追加データ、添付文書を閲覧できないようにすることもできる。このようにすることにより、期限が設定されたノードおよびその子孫ノードの副本ＩＤを保持する副本ｓｃを使う場合には、一切の更新情報が閲覧できなくして、正本だけが閲覧できるようにすることができる。
【０１００】
（２）アクセス回数
この制御情報は、派生関係ツリーにおいてイベント種別が「文書更新」であるノード（すなわちログレコード）に設定でき、そのノードの更新情報に対してアクセスできる回数の上限を規定する。この制御情報は、文書更新イベントの際に、その更新を行ったユーザが設定することができる。また、文書更新の後で、その更新を行ったユーザ、又はシステム管理者などの特権ユーザが、設定できるようにすることもできる。更新を行ったユーザ、または特権ユーザがこの制御情報を設定する方式は、「アクセス期限」の場合と同様でよい。
【０１０１】
アクセス回数が設定されたノードが保持する更新情報は、そのアクセス回数分の閲覧がなされた後は、閲覧できなくなる。アクセス回数の値は、１ユーザ当たりでもよいし、全ユーザの合計でもよく、いずれを採用するかはシステム管理者が決定すればよい。
【０１０２】
設定されたアクセス回数に達した時の、全体管理方式及び差分管理方式のそれぞれでの閲覧制限の仕方は、アクセス期限が経過した場合と同様でよい。
【０１０３】
（３）更新・追記の禁止
この制御情報は、派生関係ツリーの任意のノードに設定できる。あるノードにこの制御情報が設定されている場合、ユーザがそのノードから派生した副本ｓｃ（すなわちツリーにおいてそのノードの子孫にある副本ＩＤ）を用いて電子文書を開いた場合、その電子文書に対して更新・追記ができないようにする。更新・追記には、文書内容の更新、追加データの付加及び添付文書の付加などが含まれる、禁止は、それら各項目ごとに設定できるようにしてもよい。
【０１０４】
この制御情報の設定は、例えばシステム管理者などの特権ユーザや、更新・追記禁止の制限の設定権限を持つ者として予めシステムに登録されたユーザが行う。文書管理サーバ１０は、この制限情報の設定指示をユーザから受けた場合、ユーザがその設定の権限を持つ者かを判定し、権限を持つ場合にのみ設定を行う。
【０１０５】
ユーザがある副本ｓｃを用いて文書管理サーバ１０に電子文書の閲覧要求を行った場合、文書管理サーバ１０は、その副本ｓｃの副本ＩＤからルートへと派生関係ツリーを遡る過程に更新・追記禁止の制御情報が設定されたノードがあるか否かを調べ、あればそのユーザに提供する副本ファイルに対し、更新・追記禁止の属性を設定する。この副本ファイルを開くビューワ２２は、更新・追記禁止の属性が設定されている場合には、例えば文書に対する更新や追記の入力を受け付けないようにすればよい。
【０１０６】
また提供する副本ファイルに更新・追記禁止の属性を設定する代わりに、ビューワ２２から更新情報がアップロードされた際に、文書管理サーバ１０が、その更新情報に伴う副本ＩＤから派生関係ツリーを遡り、更新・追記禁止の制御情報が設定されているノードがあれば、その更新情報による電子文書の更新を取りやめるようにしてもよい。
【０１０７】
（４）アクセス制限
この制御情報は、派生関係ツリーの任意のノードに設定でき、この制御情報が設定されたノードの子孫の副本ｓｃを用いた電子文書へのアクセスの制限内容を記述する。アクセス制限の種類には、例えば（完全に）閲覧不可という制限や、条件付きで閲覧可能という制限などがある。条件付き閲覧可能という制限には、例えば、特定のサブネットからのみ閲覧可能というものや、特定の役割を持つユーザのみ閲覧可能というものがある。前者の場合、アクセス制限のパラメータの一つとして、その特定のサブネットを示すアドレス範囲などの情報が指定される。また、後者の「特定の役割」は、例えば本システムに接続された組織情報管理データベース上で定義された役職などから選ばれ、アクセス制限のパラメータの一つとして設定される。例えば、「○○事業部の課長以上にのみ閲覧可能」というアクセス制限があるノードに設定された場合、あるユーザがそのノードから派生した副本ｓｃを用いて電子文書を開こうとすると、文書管理サーバ１０は、そのユーザの役割を組織情報管理データベースから求め、そのアクセス制限に記述された条件を満足する場合には閲覧を許可し、そうでない場合は閲覧を許可しない。すなわち、ユーザがある副本ｓｃを用いて文書管理サーバ１０に電子文書の閲覧要求を行った場合、文書管理サーバ１０は、その副本ｓｃの副本ＩＤからルートへと派生関係ツリーを遡る経路でアクセス制限の制御情報が設定されたノードがあるか否かを調べ、あればその制限情報の値に従って、そのユーザに副本ファイルを提供するか否かを判定する。経路の中に「アクセス制限」が設定されたノードが複数ある場合は、例えば、その中に１つでも当該ユーザに閲覧を認めないような条件があれば、そのユーザに副本ファイルを提供しないようにしてもよい。
【０１０８】
この制御情報の設定は、例えばシステム管理者などの特権ユーザや、アクセス制限の設定権限を持つ者として予めシステムに登録されたユーザが行う。文書管理サーバ１０は、この制限情報の設定指示をユーザから受けた場合、ユーザがその設定の権限を持つ者かを判定し、権限を持つ場合にのみ設定を行う。
【０１０９】
（５）表示文書指定
この制御情報は、電子文書本体の更新が行われた場合に、どの段階の電子文書を表示するかを指定する。全体管理方式での文書更新を採用する場合には、「バージョンＸを表示する」（Ｘはバージョン番号）、「派生関係ツリーを遡る過程で最初に見つかったバージョンを表示する」、「原本（文書登録イベントで登録された文書）を表示する」などの指定ができる。また、差分管理方式で文書更新を行う場合には、「（ユーザが使用した副本ｓｃから）派生関係ツリーを遡る過程にある全ての差分データを反映させた文書を表示する」、「派生関係ツリーのルートから（ユーザが使用した副本ｓｃまでの経路にある）特定のノードまでの差分データを反映させた文書を表示する」（特定のノードはこの制御情報のパラメータとして設定する）、「原本を表示する」などの指定ができる。この制御情報は、派生関係ツリーにおける任意のノードに設定できる。
【０１１０】
ユーザが副本ｓｃを用いて電子文書を開こうとした場合（すなわち文書管理サーバ１０に副本ファイルを要求した場合）、文書管理サーバ１０は、その副本ｓｃの副本ＩＤを起点に派生関係ツリーをルートへと遡り、その遡及の過程で最初に検出したこの制御情報の値に従って、そのユーザに提供する副本ファイルの文書内容を決定する。例えば「表示文書指定」の制御情報として最初に検出したのが「バージョンＸを表示する」というものであれば、バージョンＸの文書データを含んだ副本ファイルをユーザに提供する。
【０１１１】
また遡及過程で最初に検出された制御情報に従う代わりに、次のような制御も可能である。すなわち、派生関係ツリーを遡る過程で、過去に通ったノードにおける「表示文書指定」の値よりも、より厳しい内容を持つ「表示文書指定」の値が設定されたノードに行き当たった場合、後者を優先するという方式である。例えば、１つの考え方では、表示を認めるバージョンが古いほど、厳しい条件と捉えることができる。この考え方に従えば、「原本を表示する」という指定が最も厳しい条件となる。表示文書指定の指定内容の厳しさの順序、予めシステムに登録しておけばよい。この方式によれば、派生関係ツリーをルートまで遡る過程における最も厳しい条件に従って表示内容を決定することができる。
【０１１２】
なお、遡及過程で最初に行き当たった条件を採用するか、ルートまで遡る中で最も厳しい条件を採用するかは、予めシステムに登録しておけばよい。
【０１１３】
（６）追加データ・添付文書の表示制御
この制御情報は、電子文書の追加データまたは添付文書の表示態様を制御する情報である。表示態様には、派生関係ツリー上の各ノードに設定された追加データ・添付文書のうち、「最新の情報だけを表示する」、「全ての情報を表示する」、「それらの情報をまったく表示しない」などのレベルがある。この制御情報は、派生関係ツリーにおける任意のノードに設定できる。
【０１１４】
ユーザが副本ｓｃを用いて電子文書を開こうとした場合、例えば、文書管理サーバ１０は、その副本ｓｃの副本ＩＤを起点に派生関係ツリーをルートへと遡り、その遡及の過程で最初に検出したこの制御情報の値に従って、そのユーザに提供する副本ファイルの文書内容を決定する。「追加データ・添付文書の表示制御」の制御情報として最初に検出したのが「最新の情報だけを表示する」というものであれば、その遡及過程で最初に検出した追加データ・添付文書のみをオリジナルの電子文書に付加した副本ファイルをユーザに提供する。
【０１１５】
また遡及過程で最初に検出された制御情報に従う代わりに、次のような制御も可能である。すなわち、派生関係ツリーを遡る過程で、過去に通ったノードにおける「更新情報の表示制御」の値よりも、より厳しい表示制限内容を持つ「追加データ・添付文書の表示制御」の制御情報が設定されたノードに行き当たった場合、後者を優先するという方式である。この方式によれば、派生関係ツリーをルートまで遡る過程における最も厳しい表示制限を採用することができる。表示制限の値の厳しさの順序は、予めシステムに登録しておけばよい。
【０１１６】
なお、遡及過程で最初に行き当たった制御情報を採用するか、ルートまで遡る中で最も厳しい制御情報を採用するかは、予めシステムに登録しておけばよい。
【０１１７】
以上、制御情報の具体例について説明した。このような制御情報は、派生関係ツリーのノードに設定できる。派生関係ツリーは、副本ＩＤ間の親子関係を示したツリーであり、前述のようにログ管理部１９のログデータから作成できる。したがって１つの方式として、制御情報はログレコードの１項目として設定することもできる。図１７にその例を示す。
【０１１８】
図１７の例では、６行目及び９行目の文書更新イベントのログレコードに対し、「３／１１まで」というアクセス期限と、「３回まで」というアクセス回数とがそれぞれ設定されている。これを派生関係ツリーの形態で示すと、図１８のようになる。この例において、例えばいずれかのユーザが、副本ＩＤ"i"の副本ｓｃを用いて電子文書の副本ファイルを文書管理サーバ１０に要求したとする。この場合、文書管理サーバ１０は、副本ＩＤ"i"からルートまで遡る過程で、差分データ（或いは追加データまたは添付文書）を含んだノードに行き当たった場合、そのノードに「アクセス期限」または「アクセス回数」が設定されているか否かを判定する。そのノードに「アクセス期限」が設定されている場合は、現在時刻がそのアクセス期限を経過していなければそのノードの差分データをバッファに蓄積し、アクセス期限が経過していれば蓄積しない。また、そのノードに「アクセス回数」が設定されている場合は、例えばアクセス回数を計数するためのカウンタの値を１だけ増加させ、そのカウンタの値がその「アクセス回数」の値を超えなければそのノードの差分データをバッファに蓄積し、超えれば蓄積しない。「アクセス回数」が全ユーザの合計として設定されている場合は、カウンタはそのノードに１つ用意すればよいし、ユーザごとに設定されている場合は、ユーザごとにそのカウンタを設ければよい。
【０１１９】
以上に説明した制御情報の具体例（１）〜（６）のうち（３）以外のものは、各ノードに対応づけられた更新情報の公開条件（言い換えれば、更新条件をユーザに提供するための条件）に関するものであると言える。
【０１２０】
以上に説明した実施形態によれば、同じ電子文書が複数の経路に分かれて流通した場合に、各経路上のユーザに対しその経路でのその電子文書の履歴情報を提供できる。また、それら各経路で個別にその電子文書が更新された場合に、各経路のユーザに対してその経路での更新を反映させたデータを提供できる。また、本実施形態では、派生関係ツリーのノードに制御情報を設定できるようにし、ユーザが文書の利用要求時に文書管理サーバ１０に送る副本ＩＤから派生関係ツリーのルートまで遡る経路に現れる制御情報に応じ、そのユーザに提供する情報（更新内容、追加データなど）を制御できるようにした。これにより、ツリー状に枝分かれして流通する電子文書の流通経路ごとに、その経路上のユーザに提供する情報を制御することができる。
【０１２１】
上記の実施形態では、副本ＩＤ同士の派生関係を示すツリーをログ管理部１９に記憶されるログデータにより表現したが、派生関係ツリーをログデータとは別に作成し、総裁に応じて保守・更新するようにしてもよい。
【０１２２】
以上の実施形態における「電子文書」には、ワードプロセッサや表計算プログラムで作成された文書データのみならず、音声データや画像データ、動画データ、マルチメディアデータなど、様々なデータが含まれ得る。したがって「電子文書」の「閲覧」という概念の中には、音声データや画像データ、動画データ、マルチメディアデータを再生することも含まれる。すなわち、上記実施形態における「電子文書」の「閲覧」には、電子文書の「利用」すること一般が広く含まれる。すなわち、副本ｓｃを用いるシステムでは、文書管理サーバ１０は、ユーザからの電子文書の「取得要求」に対しては、その電子文書に対応づけられた副本ｓｃをユーザに提供し、その副本ｓｃを用いた電子文書の「利用要求」に対しては、その電子文書のコピー（又はそれに対して差分データ、追加データを反映したもの）を含む副本ファイルを、その「利用」のためにユーザに提供する。
【０１２３】
以上に説明したシステムを構成する文書管理サーバ１０は、典型的には、汎用のコンピュータにて上述の各部の機能又は処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、図１９に示すように、ＣＰＵ（中央演算装置）４０、メモリ（一次記憶）４２、各種Ｉ／Ｏ（入出力）インタフェース４４等がバス４６を介して接続された回路構成を有する。また、そのバス４６に対し、例えばＩ／Ｏインタフェース４４経由で、ハードディスクドライブ４８やＣＤやＤＶＤ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブ５０が接続される。このようなドライブ４８又は５０は、メモリに対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク経由で、ハードディスクドライブ４８等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されＣＰＵにより実行されることにより、実施形態の文書管理サーバ１０の処理が実現される。実施形態のクライアント端末２０も、同様に、汎用のコンピュータを用いて実現することができる。
【図面の簡単な説明】
【０１２４】
【図１】副本ショートカットを用いた文書利用管理システムの概略構成を示すブロック図である。
【図２】クライアント端末の内部構成の例を示す図である。
【図３】文書管理サーバの内部構成の例を示す図である。
【図４】ログ管理部が生成するログデータの一例を示す図である。
【図５】図４のログデータが示す副本ＩＤの派生関係のツリーを示す図である。
【図６】図４のログデータが生成される場合のシステムの動作を説明するための図である。
【図７】履歴情報提供処理の手順の一例を示すフローチャートである。
【図８】履歴情報の一例を示す図である。
【図９】履歴情報の別の一例を示す図である。
【図１０】文書更新を含んだシステムの動作を説明するための図である。
【図１１】文書の更新を全体管理方式で処理する文書管理サーバの内部構成の例を示す図である。
【図１２】全体管理方式で文書更新が行われる場合のログデータの例を示す図である。
【図１３】図１２のログデータに対応する、副本ＩＤの派生関係ツリーを示す図である。
【図１４】全体管理方式を採用した例において、閲覧要求が到来した場合の文書管理サーバの処理手順の一例を示す図である。
【図１５】差分管理方式で文書更新が行われる場合のログデータの例を示す図である。
【図１６】差分管理方式を採用した例において、閲覧要求が到来した場合の文書管理サーバの処理手順の一例を示す図である。
【図１７】制御情報が設定されたログデータの例を示す図である。
【図１８】図１７のログデータに対応する派生関係ツリーを示した図である。
【図１９】実施形態の文書管理サーバ又はクライアント端末の基礎となるコンピュータのハードウエア構成の一例を示す図である。
【符号の説明】
【０１２５】
１０  文書管理サーバ、１１  正本文書ＤＢ、１３  正本文書登録部、１５  副本ｓｃ（ショートカット）提供部、１７  副本文書提供部、１９  ログ管理部、２０  クライアント端末、２２  ビューワ、２４  ファイルシステム、３０  ネットワーク。
【図１】
2008003846.tif 000003
【図２】
2008003846.tif 000004
【図３】
2008003846.tif 000005
【図４】
2008003846.tif 000006
【図５】
2008003846.tif 000007
【図６】
2008003846.tif 000008
【図７】
2008003846.tif 000009
【図８】
2008003846.tif 000010
【図９】
2008003846.tif 000011
【図１０】
2008003846.tif 000012
【図１１】
2008003846.tif 000013
【図１２】
2008003846.tif 000014
【図１３】
2008003846.tif 000015
【図１４】
2008003846.tif 000016
【図１５】
2008003846.tif 000017
【図１６】
2008003846.tif 000018
【図１７】
2008003846.tif 000019
【図１８】
2008003846.tif 000020
【図１９】
2008003846.tif 000021