(57)【要約】【課題】文書の派生関係に基づくアクセス制限を簡便に実現する。【解決手段】文書操作部２００は、ユーザの指示に応じて管理ＩＤを含んだＩＤ付き文書を操作すると、新たに生成した管理ＩＤと、元の管理ＩＤ（親ＩＤ）と、その操作のログ情報と、操作後の文書内容とを含んだ新たなＩＤ付き文書を生成してサーバに送る。ここで、その操作の際にユーザから分岐指示を受けると、文書操作部２００は、分岐指示をその新たなＩＤ付き文書に対応づけてサーバに送信する。サーバは、ＩＤ付き文書と共に分岐指示を受けた場合、そのＩＤ付き文書のための新たな文書グループを生成し、ユーザにそのグループについてのアクセス権情報を設定させる。サーバは、ユーザから文書に対する操作を指示された場合、その文書が属するグループにそのユーザがアクセス権を持つか否かを判定し、アクセス権を持つ場合には操作を許可する。【選択図】図９
2009042856.tif 000002
【特許請求の範囲】
【請求項１】
第１の文書の操作の結果得られた第２の文書を受け取った場合に、前記第２の文書の親が前記第１の文書であることを示す派生関係を記憶装置に登録する派生関係登録手段と、
前記第２の文書に対応づけて分岐指示を受けた場合には、新たな文書グループを生成し、前記第２の文書が当該新たな文書グループに属することを示す情報を前記記憶装置に登録し、前記第２の文書に対応づけて前記分岐指示を受けなかった場合には、前記第２の文書が前記第１の文書と同じ文書グループに属することを示す情報を前記記憶装置に登録するグループ情報登録手段と、
文書グループに対するアクセス権情報の入力を受け付け、入力されたアクセス権情報をその文書グループに対応づけて前記記憶装置に登録するアクセス権登録手段と、
利用者から文書に対する操作の要求を受けた場合に、当該文書が属する文書グループに対応するアクセス権情報を前記記憶装置から取得し、取得したアクセス権情報に基づき、前記文書に対する前記操作を前記利用者に許可するか否かを制御する制御手段と、
を備える文書管理装置。
【請求項２】
前記アクセス権登録手段は、前記第２の文書に対応づけて分岐指示を受けた場合に、当該分岐指示を送信した情報処理装置に対して、前記新たな文書グループについてのアクセス権情報の入力要求を送信し、その入力要求に応じて前記情報処理装置から入力されたアクセス権情報を前記新たな文書グループに対応づけて前記記憶装置に登録する、ことを特徴とする請求項１記載の文書管理装置。
【請求項３】
利用者からの派生関係表示の指示を情報処理装置から受信した場合に、前記記憶装置に記憶された派生関係群が構成する文書の木構造を表す表示情報を生成し、前記情報処理装置に送信する表示情報送信手段を更に備え、
前記表示情報送信手段は、前記記憶装置に登録されたアクセス権情報に基づき、前記利用者がアクセス権を有する文書グループを特定し、前記木構造のうち、前記利用者がアクセス権を有する文書グループに属する文書群を表示する表示情報を生成する、
ことを特徴とする請求項１記載の文書管理装置。
【請求項４】
コンピュータに、
第１の文書の操作の結果得られた第２の文書を受け取った場合に、前記第２の文書の親が前記第１の文書であることを示す派生関係を記憶装置に登録するステップ、
前記第２の文書に対応づけて分岐指示を受けた場合には、新たな文書グループを生成し、前記第２の文書が当該新たな文書グループに属することを示す情報を前記記憶装置に登録し、前記第２の文書に対応づけて前記分岐指示を受けなかった場合には、前記第２の文書が前記第１の文書と同じ文書グループに属することを示す情報を前記記憶装置に登録するステップ、
文書グループに対するアクセス権情報の入力を受け付け、入力されたアクセス権情報をその文書グループに対応づけて前記記憶装置に登録するステップ、
利用者から文書に対する操作の要求を受けた場合に、当該文書が属する文書グループに対応するアクセス権情報を前記記憶装置から取得し、取得したアクセス権情報に基づき、前記文書に対する前記操作を前記利用者に許可するか否かを制御するステップ、
を実行させるためのプログラム。
【請求項５】
第１の情報処理装置と、第２の情報処理装置と、文書管理装置とを備え、
前記第１の情報処理装置は、
第１の文書に対する操作の実行指示、及び当該操作の結果得られる第２の文書を前記第１の文書の属する文書グループから分岐させるか否かの指示を受ける指示受付手段と、
前記実行指示に応じて第１の文書に対する操作を実行する操作実行手段と、
前記操作実行手段により第１の文書に対して操作が実行された場合に、当該操作の結果得られた第２の文書を前記文書管理装置に送信すると共に、前記指示受付手段が前記第２の文書を前記第１の文書の属する文書グループから分岐させる指示を受けた場合には、前記第２の文書に対応づけて分岐指示を前記文書管理装置に送信する指示送信手段と、
文書グループに対応するアクセス権情報の入力を受け付けるアクセス権入力手段と、
前記アクセス権入力手段に入力された前記アクセス権情報を前記文書管理装置に送信するアクセス権送信手段と、
を備え、
前記第２の情報処理装置は、
利用者から操作対象の文書の指定を受け付ける指定受付手段と、
前記指定受付手段が受け付けた指定に基づき、前記操作対象の文書を特定する情報を含んだ出力要求を、前記利用者を特定する情報と対応づけて前記文書管理装置に送信する要求送信手段と、
を備え、
前記文書管理装置は、
前記第１の文書の操作の結果得られた第２の文書を受け取った場合に、前記第２の文書の親が前記第１の文書であることを示す派生関係を記憶装置に登録する派生関係登録手段と、
前記第２の文書に対応づけて分岐指示を受けた場合には、新たな文書グループを生成し、前記第２の文書が当該新たな文書グループに属することを示す情報を前記記憶装置に登録し、前記第２の文書に対応づけて前記分岐指示を受けなかった場合には、前記第２の文書が前記第１の文書と同じ文書グループに属することを示す情報を前記記憶装置に登録するグループ情報登録手段と、
文書グループに対するアクセス権情報の入力を受け付け、入力されたアクセス権情報をその文書グループに対応づけて前記記憶装置に登録するアクセス権登録手段と、
利用者からの文書に対する操作の要求を前記第２の情報処理装置から受けた場合に、当該文書が属する文書グループに対応するアクセス権情報を前記記憶装置から取得し、取得したアクセス権情報に基づき、前記文書に対する前記操作を前記利用者に許可するか否かを制御する制御手段と、
を備える、文書管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書管理装置、文書管理システム及びプログラムに関する。
【背景技術】
【０００２】
文書の利用状況の把握や漏洩対策などのために、文書の流通過程を追跡するシステムが提案されている。この種のシステムでは、文書に対して識別情報（ＩＤ）を埋め込み、文書が利用される際にそのＩＤを記録することで、文書の流通過程を把握する。
【０００３】
例えば特許文献１に開示されたシステムは、文書とその文書を一意に特定する正本ＩＤとを対応付けて管理する文書管理サーバと、文書管理サーバとネットワークを介して接続されるクライアントとを含む。このシステムでは、文書管理サーバが、文書へアクセスするために必要な副本ＩＤの取得要求をクライアントから受信し、受信する取得要求ごとに異なる副本ＩＤを生成し、生成した副本ＩＤを取得要求の応答としてクライアントに送信する。さらに、文書管理サーバは、取得要求に示される正本ＩＤとその正本ＩＤに対して生成した副本ＩＤとの派生関係を示す派生関係情報を管理する。また、文書管理サーバは、取得要求に示される取得要求元と副本ＩＤとを関連づけて管理する。また、このシステムは、ある副本ＩＤを提示して行われた操作の結果に対して別の副本ＩＤを付与し、それら副本ＩＤ間の派生関係を記録する。
【０００４】
また、特許文献２に開示されたシステムでは、バージョン情報をノードとし、バージョン間の派生関係をリンクとした木構造を用いて、バージョン保持部により各バージョン情報を保持し、派生関係管理部によりバージョン間の派生関係を保持管理し、派生関係管理部は派生関係を継続と分岐との種類に分けて管理し、１つのバージョン情報から延びる派生関係は多くとも１つだけを継続関係として管理する。すなわち、或るバージョン情報から複数の派生関係が派生する場合に、これら派生関係には継続関係が２つと無いようにし、継続関係によって関係づけられたバージョン情報の集合をバージョングループという単位で扱うことで、バージョン木構造をユーザにとって管理の容易な単位に分割する。
【０００５】
【特許文献１】特開２００７−００４６４９号公報
【特許文献２】特開平１１−３２７９８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、文書の派生関係を記録するシステムにおいて、ある文書の識別情報を提示した人に、その文書に対して派生関係から分岐した別の文書を提供するサービスが考えられる。このようなサービスにおいては、分岐した派生関係の文書グループに属する文書に対するアクセス管理が望まれる。
【０００７】
本発明は、分岐した派生関係の文書に対して、文書グループごとにアクセス制限を行えるシステムを提供する。
【課題を解決するための手段】
【０００８】
請求項１に係る発明は、第１の文書の操作の結果得られた第２の文書を受け取った場合に、前記第２の文書の親が前記第１の文書であることを示す派生関係を記憶装置に登録する派生関係登録手段と、前記第２の文書に対応づけて分岐指示を受けた場合には、新たな文書グループを生成し、前記第２の文書が当該新たな文書グループに属することを示す情報を前記記憶装置に登録し、前記第２の文書に対応づけて前記分岐指示を受けなかった場合には、前記第２の文書が前記第１の文書と同じ文書グループに属することを示す情報を前記記憶装置に登録するグループ情報登録手段と、文書グループに対するアクセス権情報の入力を受け付け、入力されたアクセス権情報をその文書グループに対応づけて前記記憶装置に登録するアクセス権登録手段と、利用者から文書に対する操作の要求を受けた場合に、当該文書が属する文書グループに対応するアクセス権情報を前記記憶装置から取得し、取得したアクセス権情報に基づき、前記文書に対する前記操作を前記利用者に許可するか否かを制御する制御手段と、を備える文書管理装置を提供する。
【０００９】
請求項２に係る発明は、請求項１に係る発明において、前記アクセス権登録手段は、前記第２の文書に対応づけて分岐指示を受けた場合に、当該分岐指示を送信した情報処理装置に対して、前記新たな文書グループについてのアクセス権情報の入力要求を送信し、その入力要求に応じて前記情報処理装置から入力されたアクセス権情報を前記新たな文書グループに対応づけて前記記憶装置に登録する、ことを特徴とする。
【００１０】
請求項３に係る発明は、請求項１に係る発明において、利用者からの派生関係表示の指示を情報処理装置から受信した場合に、前記記憶装置に記憶された派生関係群が構成する文書の木構造を表す表示情報を生成し、前記情報処理装置に送信する表示情報送信手段を更に備え、前記表示情報送信手段は、前記記憶装置に登録されたアクセス権情報に基づき、前記利用者がアクセス権を有する文書グループを特定し、前記木構造のうち、前記利用者がアクセス権を有する文書グループに属する文書群を表示する表示情報を生成する、ことを特徴とする。
【００１１】
請求項４に係る発明は、コンピュータに、第１の文書の操作の結果得られた第２の文書を受け取った場合に、前記第２の文書の親が前記第１の文書であることを示す派生関係を記憶装置に登録するステップ、前記第２の文書に対応づけて分岐指示を受けた場合には、新たな文書グループを生成し、前記第２の文書が当該新たな文書グループに属することを示す情報を前記記憶装置に登録し、前記第２の文書に対応づけて前記分岐指示を受けなかった場合には、前記第２の文書が前記第１の文書と同じ文書グループに属することを示す情報を前記記憶装置に登録するステップ、文書グループに対するアクセス権情報の入力を受け付け、入力されたアクセス権情報をその文書グループに対応づけて前記記憶装置に登録するステップ、利用者から文書に対する操作の要求を受けた場合に、当該文書が属する文書グループに対応するアクセス権情報を前記記憶装置から取得し、取得したアクセス権情報に基づき、前記文書に対する前記操作を前記利用者に許可するか否かを制御するステップ、を実行させるためのプログラム、を提供する。
【００１２】
請求項５に係る発明は、第１の情報処理装置と、第２の情報処理装置と、文書管理装置とを備える文書管理システムを提供する。第１の情報処理装置は、第１の文書に対する操作の実行指示、及び当該操作の結果得られる第２の文書を前記第１の文書の属する文書グループから分岐させるか否かの指示を受ける指示受付手段と、前記実行指示に応じて第１の文書に対する操作を実行する操作実行手段と、前記操作実行手段により第１の文書に対して操作が実行された場合に、当該操作の結果得られた第２の文書を前記文書管理装置に送信すると共に、前記指示受付手段が前記第２の文書を前記第１の文書の属する文書グループから分岐させる指示を受けた場合には、前記前記第２の文書に対応づけて分岐指示を前記文書管理装置に送信する指示送信手段と、文書グループに対応するアクセス権情報の入力を受け付けるアクセス権入力手段と、前記アクセス権入力手段に入力された前記アクセス権情報を前記文書管理装置に送信するアクセス権送信手段と、を備える。第２の情報処理装置は、利用者から操作対象の文書の指定を受け付ける指定受付手段と、前記指定受付手段が受け付けた指定に基づき、前記操作対象の文書を特定する情報を含んだ出力要求を、前記利用者を特定する情報と対応づけて前記文書管理装置に送信する要求送信手段と、を備える。文書管理装置は、前記第１の文書の操作の結果得られた第２の文書を受け取った場合に、前記第２の文書の親が前記第１の文書であることを示す派生関係を記憶装置に登録する派生関係登録手段と、前記第２の文書に対応づけて分岐指示を受けた場合には、新たな文書グループを生成し、前記第２の文書が当該新たな文書グループに属することを示す情報を前記記憶装置に登録し、前記第２の文書に対応づけて前記分岐指示を受けなかった場合には、前記第２の文書が前記第１の文書と同じ文書グループに属することを示す情報を前記記憶装置に登録するグループ情報登録手段と、文書グループに対するアクセス権情報の入力を受け付け、入力されたアクセス権情報をその文書グループに対応づけて前記記憶装置に登録するアクセス権登録手段と、利用者からの文書に対する操作の要求を前記第２の情報処理装置から受けた場合に、当該文書が属する文書グループに対応するアクセス権情報を前記記憶装置から取得し、取得したアクセス権情報に基づき、前記文書に対する前記操作を前記利用者に許可するか否かを制御する制御手段と、を備える。
【発明の効果】
【００１３】
請求項１、４又は５に係る発明によれば、分岐した派生関係の文書グループごとにアクセス権情報を設定するので、派生関係のある文書の中で文書操作を許可する文書グループ、文書操作を許可しない文書グループといったグループごとの文書アクセス管理を行うことができる。
【００１４】
請求項２に係る発明によれば、新たな文書グループが生成されたときに、その文書グループについてのアクセス権情報を設定させることができる。
【００１５】
請求項３に係る発明によれば、利用者から派生関係の木構造の表示が求められた場合に、その利用者がアクセス権を持つ文書グループのみを選択的に表示することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して、本発明の実施の形態を説明する。
【００１７】
図１は、文書管理システムの概略構成を示すブロック図である。このシステムは、インターネットやローカル・エリア・ネットワーク等のネットワーク３０を介して接続された文書管理サーバ１０とクライアント端末２０−１，２０−２，・・・（以下、クライアント端末２０と総称する）から構成される。
【００１８】
クライアント端末２０について図２を用いて説明する。クライアント端末は、ユーザが文書を操作するために用いる端末であり、パーソナルコンピュータ、デジタル複合機（複写機能、印刷機能、ファクシミリ機能を有する画像形成装置）などがその一例である。クライアント端末２０は、図２に示すように、文書操作部２００及び登録処理部２１０を備える。
【００１９】
文書操作部２００は、文書に対する操作を実行する手段である。文書に対する操作には、例えば、文書の表示（ユーザから見れば「閲覧」）、編集、印刷出力、紙文書の読み取り、紙文書の複写、等がある。図では、文書操作部２００を１つだけ示したが、それら個々の操作を別々の操作部（例えば、編集用のアプリケーション、読取制御用のアプリケーションなど）が担当してもよい。例えば、文書操作部２００がワードプロセッサ等の電子文書を作成・編集するためのソフトウエアであれば、文書操作部２００は、ユーザの指示に応じて電子文書を表示したり、電子文書に編集を加えたりする。文書操作部２００は、文書に対して操作を行った場合、その操作の結果を表すＩＤ付き文書３００を出力する。
【００２０】
ＩＤ付き文書３００は、図３に示すように、メタ情報３１０と文書内容３２０を含んだ電子文書である。文書内容３２０は、文書操作部２００の操作の結果生成された文書の内容データである。文書操作部２００が電子文書を作成・編集するためのソフトウエアであれば、文書内容３２０はそのソフトウエアによる編集の結果生成される文書ファイルである。また、文書操作部２００が電子文書を印刷する装置であれば、文書内容３２０は、例えば、印刷される電子文書の内容データとすればよい。また、文書操作部２００が紙文書をスキャンする装置又は紙文書を複写する装置であれば、文書内容３２０は、例えば、その紙文書を読み取って得られる画像データとすればよい。
【００２１】
メタ情報３１０は、文書管理のための情報であり、管理ＩＤ３１２，親ＩＤ３１４，及びログ情報３１６を含む。
【００２２】
管理ＩＤ３１２は、当該ＩＤ付き文書３００自体の一意な識別情報である。親ＩＤ３１４は、当該ＩＤ付き文書３００の親のＩＤ付き文書の管理ＩＤである。すなわち、本実施形態では、あるＩＤ付き文書と、このＩＤ付き文書に対して操作を加えた結果得られる新たなＩＤ付き文書とを、親と子の関係として取り扱う。第１のＩＤ付き文書を操作して第２のＩＤ付き文書が得られた場合、第１のＩＤ付き文書は第２のＩＤ付き文書の親であり、第２のＩＤ付き文書は第１のＩＤ付き文書の子である。したがって、例えば、管理ＩＤ「Ａ」のＩＤ付き文書を文書操作部２００で操作して、その結果得られた新たなＩＤ付き文書の管理ＩＤが「Ｂ」である場合、後者のメタ情報３１０における管理ＩＤ３１２は「Ｂ」であり、親ＩＤ３１４は「Ａ」である。このような親子の関係を、以下では「（管理ＩＤの）派生関係」という。
【００２３】
なお、本システムに未登録の電子文書を新たに登録する操作を実行した場合や、未登録の紙文書をスキャン又は複写する操作を実行した場合（この場合、紙文書を読み取った画像を文書内容とするＩＤ付き文書が生成され、本システムに登録される）に生成されるＩＤ付き文書３００では、親ＩＤ３１４は空（すなわち、親は存在しない）となる。
【００２４】
ログ（履歴）情報３１６は、当該ＩＤ付き文書が生成された際の操作についての、各種のログ項目の情報である。ログ項目には、例えばその操作が行われた日時、その操作の種別、その操作を指示したユーザ（操作者）などがあるが、もちろんこれに限るものではない。操作の種別には、例えば登録（本システムに新規の文書を登録すること）、閲覧、編集、更新（更新版の登録）、印刷、スキャン、紙文書の複写、等がある。例えば、ユーザが文書操作部２００を用いて第１のＩＤ付き文書に対して編集を加え、編集完了の指示を行った場合、その結果生成される第２のＩＤ付き文書のログ情報３１６は、編集完了の日時と、その編集を指示したユーザの識別情報と、操作の種別として「編集」と、を含んだものとなる。
【００２５】
ここでログ情報３１６に組み込まれる操作の種別は、ログ記録の目的での分類に従った種別であり、文書操作部２００が実行する操作の種別そのものでなくてもよい。例えば、文書操作部２００が実行する複数の操作の種別を、同じ１つのログ記録目的の操作種別に対応づけてもよい。例えば、文書編集アプリケーション上でＩＤ付きの電子文書に編集を加え操作メニュー上で「更新版として登録」を指示した場合も、スキャナで管理ＩＤ付きの紙文書を読み取り読取制御用アプリケーションの操作メニュー上で「読み取った文書を承認版として登録」を指示した場合も、ログ情報３１６に組み込まれる操作種別の値は「更新」となる。
【００２６】
文書操作部２００が生成するメタ情報３１０の具体例を以下に示す。
[例１]
<metadata sid="A" date="2006-10-01T10:00" method="register" filename="aaa.doc" user="user1"/>
【００２７】
ここでsid属性は管理ＩＤ、date属性は操作日時、method属性は操作種別である。また、filename属性は当該ＩＤ付き文書のファイル名であり、user属性は操作を指示したユーザのユーザ識別情報である。例１のmethod属性値"register"は（文書管理サーバ１００に未登録の）新規文書の登録操作を示す操作種別名である。新規文書の登録なので、親ＩＤを示すpid属性は省略されている。省略する代わりにpid="null"などと、親ＩＤがないことを示す属性を明示的に組み込んでもよい。
【００２８】
なお、文書操作部２００が、操作した文書を暗号化してもよい。この暗号化は、本システムに準拠した文書操作部２００ならば、復号できるようなものとする。この場合、文書操作部２００が出力するＩＤ付き文書３００の文書内容３２０は、暗号化されることにより、本システムに準拠した文書操作部２００でないと復号できなくなる。したがって、ＩＤ付き文書３００が操作される場合には文書操作部２００が用いられるので、文書操作部２００がその操作を検知し、その操作の内容が文書操作部２００から文書管理サーバ１０に通知される。なお、文書内容３２０だけでなく、後述するメタ情報３１０（またはその一部）に対しても暗号化を施してもよい。
【００２９】
図２の説明に戻り、文書操作部２００は、操作結果として上述のようなＩＤ付き文書３００を作成するために、ＩＤ割り当て部２０２及び派生関係組込部２０４を備える。ＩＤ割り当て部２０２は、操作結果のＩＤ付き文書３００に一意な管理ＩＤを付与する手段である。管理ＩＤは、少なくとも本システム内で一意な識別情報である必要がある。例えば、操作の結果生成するＩＤ付き文書３００（ただし管理ＩＤ３１２を除いたもの）のハッシュ値を求め、このハッシュ値をその文書３００のＩＤ付き文書とすればよい。ハッシュ関数としてSHA-256（SHA-256はNISTがFIPS180-2で定めた256ビットのハッシュ値を持つ暗号学的ハッシュ関数である）などのような耐衝突性を持つ暗号学的ハッシュ関数を用いれば、実用上十分な一意性を持つ管理ＩＤを生成することができる。もちろん、システム内で一意な管理ＩＤを各クライアント端末２０で生成する方法は、これに限らない。管理ＩＤを、クライアント端末２０固有の識別情報を含むものとすれば、システム内で一意な管理ＩＤを各クライアント端末２０で生成することができる。
【００３０】
派生関係組込部２０４は、操作結果の文書に対しＩＤ割り当て部２０２が割り当てた新たな管理ＩＤ３１２と、その操作の元になった親文書の管理ＩＤである親ＩＤ３１４（新規登録の場合は、親ＩＤは無し）と、その操作についてのログ情報３１６と、を含むメタ情報３１０を生成する。ここで、派生関係組込部２０４は、文書操作部２００が実行する個々の操作の種別が、ログ記録目的上の操作種別のどれに対応するかを表す対応関係の情報を保持しており、この情報を用いることでログ情報３１６に組み込む操作種別の値を求める。そして、派生関係組込部２０４は、そのメタ情報３１０を操作結果の文書内容に付加することにより、操作後のＩＤ付き文書３００を生成して出力する。
【００３１】
文書操作部２００がアプリケーションソフトウエアである場合、ＩＤ割り当て部２０２及び派生関係組込部２０４は、そのソフトウエアに対して追加される、いわゆるプラグイン(plug-in)プログラムとして実現してもよい。
【００３２】
登録処理部２１０は、文書操作部２００が出力したＩＤ付き文書３００を文書管理サーバ１０に登録するための処理を実行する。このように各クライアント端末２０が、自ら実行した操作の結果であるＩＤ付き文書３００を文書管理サーバ１０に登録することにより、文書管理サーバ１０は各ＩＤ付き文書３００間の派生関係を把握することができる。
【００３３】
文書操作部２００が操作の結果出力するＩＤ付き文書３００は、通常の文書ファイルと同様、電子的にコピーしたり、電子メールに添付するなどの方法で他の人宛に送信したりすることができる。電子メール送信用のソフトウエアは、この例では本システムに準拠していないので、この送信操作はＩＤ付き文書には反映されず、したがって文書管理サーバ１０にも記録されない。他の人からＩＤ付き文書３００を受け取った人が、自分のクライアント端末２０の文書操作部２００を用いてそのＩＤ付き文書３００を操作すると、その操作に応じて新たな管理ＩＤを付与されたＩＤ付き文書が生成されることになる。
【００３４】
また、文書操作部２００が電子文書を印刷する場合、管理ＩＤを生成し、その電子文書の印刷結果にその管理ＩＤを埋め込んでもよい。管理ＩＤの埋め込みは、例えば電子文書の印刷画像に、管理ＩＤを示すコード画像を重畳する等の方法で行うことができる。また、用紙がＲＦＩＤ(Radio Frequency Identifier)タグを備えている場合、そのＲＦＩＤタグに管理ＩＤを書き込んでもよい。このように印刷を行った場合、文書操作部２００は、その管理ＩＤや操作種別「印刷」等のメタ情報を含んだＩＤ付き文書を文書管理サーバ１０に登録する。なお、ＩＤ付き文書を印刷した場合には、そのＩＤ付き文書の管理ＩＤを親ＩＤ３１４として含んだＩＤ付き文書が生成される。印刷操作に対応するＩＤ付き文書には、印刷された画像を示すページ記述言語データやビットマップ画像データをなどの印刷データ、又は印刷された文書ファイルを、文書内容３２０として組み込んでもよい。
【００３５】
また、管理ＩＤが埋め込まれた紙文書を文書操作部２００が読み取った場合、文書操作部２００は、その読み取り操作に対して新たな管理ＩＤを付与し、読み取り結果の画像を文書内容３２０として含んだＩＤ付き文書を生成して文書管理サーバ１０に登録する。このＩＤ付き文書の親ＩＤ３１４には、紙文書から読み取った管理ＩＤがセットされる。管理ＩＤが埋め込まれた紙文書の複写の際には、上述した読み取り時と印刷時の処理が実行される。
【００３６】
次に、文書管理サーバ１０について説明する。文書管理サーバ１０は、システム内の複数のクライアント端末２０から送られてくるＩＤ付き文書３００を蓄積し、蓄積した情報に基づきユーザに各種のサービスを提供する。図４に示すように、文書管理サーバ１０は、文書ＤＢ１００，派生関係ＤＢ１１０，文書登録部１３０，要求処理部１４０を備える。
【００３７】
文書ＤＢ１００は、クライアント端末２０から送られてきたＩＤ付き文書３００のうちの文書内容３２０を格納するデータベースである。文書ＤＢ１００に格納された各文書内容３２０は、一意な内容ＩＤにより管理してもよい。内容ＩＤとしては、例えば当該文書内容の暗号学的ハッシュ関数によるハッシュ値を用いてもよいが、これに限定されるものではない。クライアント端末２０が内容ＩＤを付与してもよく、この場合、内容ＩＤをメタ情報３２０に組み込んでもよい。また、内容ＩＤの代わりに、その文書内容３２０を、当該文書内容に対応するＩＤ付き文書３００の管理ＩＤと対応づけて文書ＤＢ１００に格納してもよい。
【００３８】
文書登録部１３０は、クライアント端末２０から受信したＩＤ付き文書の中の文書内容を文書ＤＢ１００に、メタ情報を派生関係ＤＢ１１０に、それぞれ登録する。そのうち、メタ情報の登録を担当するのが派生関係登録部１３２である。
【００３９】
派生関係ＤＢ１１０は、そのようなＩＤ付き文書３００のうち、派生関係の情報を主としたメタ情報を蓄積するデータベースである。図５に、派生関係ＤＢ１１０のデータ内容の一例を示す。図５に示した表における１行の情報が、１つのＩＤ付き文書３００に対応するメタ情報レコードである。この例では、各ＩＤ付き文書３００の管理ＩＤに対応づけて、親ＩＤ、正本ＩＤ、ノードアドレス、操作種別、操作者、操作日時の各項目が登録されている。このうち、管理ＩＤと親ＩＤのペア以外の項目は、例示したものに限られない。管理目的上必要な項目を記録すればよい。また、操作種別、操作者、操作日時については既に説明した。
【００４０】
正本ＩＤは、派生関係の木の根に該当する文書を特定する識別情報である。管理ＩＤが付与されていない文書が新たに本システムに登録される場合、本システムがその文書に一意な正本ＩＤを付与する。そして、その文書のデータ（例えば文書ファイル又はスキャナの読取結果の画像ファイル）がその正本ＩＤに対応づけて文書管理サーバ１０に登録され、その文書の内容を含むＩＤ付き文書がその登録を行った利用者に提供される。その後、そのＩＤ付き文書から派生した子孫のＩＤ付き文書は、その正本ＩＤに対応づけられる。したがって、正本ＩＤの値が同じＩＤ付き文書は、根である同一の文書から派生した文書であることが分かる。図５の例では、例示された全てのＩＤ付き文書が同じ正本ＩＤ“１”から派生している。
【００４１】
ノードアドレスは、ＩＤ付き文書間の派生関係が構成する木において、当該管理ＩＤ（ＩＤ付き文書）に対応するノードの位置を示している。ノードアドレスの表記において「／」が木の深さ階層の区切りを示し、番号が同じ親から派生した兄弟同士の間での順番を示す。例えばノード「／１」は新規文書登録の操作により登録された文書に対応する根ノードを示す。また、ノード「／１／１」は根ノード「／１」の１番目の子、ノード「／１／２」は根ノード「／１」の２番目の子を示す。なお、煩雑さを避けるため、図５には、１つの根ノード「／１」から派生した１つの木に属するメタ情報レコード群しか示していないが、文書管理サーバ１０には、例えば根「／１」から派生する木と根「／２」から派生する木のように、複数の木のメタ情報レコード群が登録され得る。
【００４２】
なお、図５に例示したメタ情報の項目は一例に過ぎない。例えば、この他にも、ＩＤ付き文書内の文書内容３２０を格納した、文書ＤＢ１００内での格納場所を示すパス名を派生関係ＤＢ１１０に登録してもよい。文書ＤＢ１００が、内容ＩＤで文書内容３２０を検索する機能を持つものであれば、文書格納パスの代わりに内容ＩＤをメタ情報レコードに登録してもよい。
【００４３】
なお、図５は派生関係ＤＢ１１０が管理するデータを内容の観点から表現したものにすぎず、具体的な表現形式或いはデータベース形式を規定するものではない。例えば、派生関係ＤＢ１１０は、一般的なリレーショナルデータベースとして構築することもできるし、管理ＩＤを除くメタ情報を記述したＸＭＬ(eXtensible Markup Language)文書を、管理ＩＤをキーとして登録したデータベースとして構築することもできる。
【００４４】
図５に示した派生関係ＤＢ１１０のデータ内容は、図６のような木構造を成す。これは、管理ＩＤをノードとし、管理ＩＤ間の親子関係をエッジとする木構造である。
【００４５】
図５〜図６の例が示す文書の履歴を時系列順に説明すると、以下のようになる。この例は、あるユーザが申請書等のフォーム（ひな形文書）を本システムに登録し、他のユーザがそのフォームに対して記入を行い、記入済みフォームを本システムに登録する業務の流れを表している。
【００４６】
この例ではまず、文書（フォーム）の「登録」操作がuser1のクライアント端末で実行される。「登録」操作は、文書管理サーバ１０に未登録の文書（すなわち、管理ＩＤを有していない文書）を当該サーバ１０に登録するための操作である。この操作に応じて管理ＩＤが"Ａ"、親ＩＤが空、操作種別が「登録」であるメタ情報と、その文書の文書内容とを含むＩＤ付き文書"Ａ"がuser1のクライアント端末から文書管理サーバ１０に送られる。これに応じ、文書管理サーバ１０は、そのＩＤ付き文書"Ａ"中の文書内容を文書ＤＢ１００へ、メタ情報を派生関係ＤＢ１１０にそれぞれ登録する。ここで、文書管理サーバ１０は、操作種別が「登録」であり、親ＩＤが空なので、当該ＩＤ付き文書が、文書管理サーバ１０内に既に登録済みのＩＤ付き文書の子ではなく、新たな木の根（始祖）であると判断し、それに従ってノードアドレスの値（この例では「／１」）を設定する。なお、以下では、識別のために、登録された文書内容を"Content1"で表すことにする。その後、user1は、登録したＩＤ付き文書を他のユーザuser2，user3，・・・に配布する。この配布は、例えば、電子メールにそのＩＤ付き文書を添付して各ユーザに送信することにより、行うことができる。
【００４７】
その後、他のユーザuser2が自分のクライアント端末の文書操作部２００でＩＤ付き文書"Ａ"を印刷する。印刷されるのは文書内容"Content1"、又はそれに編集を加えた結果の文書内容である。このとき文書操作部２００は、印刷結果の紙文書に対して新たに付与した管理ＩＤ"Ｂ"を埋め込む。このように管理ＩＤが埋め込まれた紙文書をＩＤ付きの紙文書と呼ぶことにする。また、クライアント端末は、印刷の結果としてＩＤ付き文書"Ｂ"を生成し、文書管理サーバ１０に登録する。このＩＤ付き文書のメタ情報における管理ＩＤは"Ｂ"であり親ＩＤは"Ａ"である。また操作者はuser2であり。操作種別は印刷である。文書管理サーバ１０は、受け取ったＩＤ付き文書の親ＩＤの値から、当該文書"Ｂ"が文書"Ａ"の子であることを認識し、しかも最初の子であるので、文書"Ｂ"のノードアドレスを「／１／１」とする。
【００４８】
なお、この操作の前にuser2のクライアント端末２０内にあったＩＤ付き文書"Ａ"は、この操作に伴い、派生関係組込部２０４によりＩＤ付き文書"Ｂ"に置き換えられる。この置き換え処理では、派生関係組込部２０４は、元のＩＤ付き文書"Ａ"のうち、メタ情報３１０の管理ＩＤ３１２を新たに発行したＩＤ"Ｂ"へ変更すると共に、元の文書"Ａ"の管理ＩＤ"Ａ"を親ＩＤ３１４の値にセットする。また、派生関係組込部２０４は、ログ情報３１６中の操作種別の値を今回の操作の種別である「印刷」に変更し、操作時刻の値をその閲覧の日時に変更し、操作者の値をuser2に変更する。また、文書内容３２０は、印刷指示をされた時点の文書内容を示す印刷データ又は文書ファイルとなる。
【００４９】
このようにＩＤ付き文書"Ａ"は、閲覧されると、閲覧後のＩＤ付き文書"Ｂ"に置き換えられる。したがって、その置き換えの後は、ＩＤ付き文書"Ａ"自体はそのクライアント端末２０には存在せず、その代わりにＩＤ付き文書"Ｂ"が存在することとなる。なお、user2は、印刷結果の紙文書"Ｂ"を、他のユーザであるuser4に渡す。
【００５０】
その後、更に別のユーザuser3が自分のクライアント端末の文書操作部２００でＩＤ付き文書"Ａ"を閲覧する。閲覧されるのは内容ＩＤ"Content1"の文書内容である。クライアント端末は、閲覧の結果としてＩＤ付き文書"Ｃ"を生成し、文書管理サーバ１０に登録する。「閲覧」操作では、文書内容は変更されないので、文書内容は"Content1"のままである。なお、このように文書内容が変更されない操作を行った場合、クライアント端末２０は、文書内容を省略したＩＤ付き文書を文書管理サーバ１０に送ってもよい。なお、この操作の前にuser3のクライアント端末２０内にあったＩＤ付き文書"Ａ"は、この操作に伴い、派生関係組込部２０４によりＩＤ付き文書"Ｃ"に置き換えられる。この置き換え処理では、派生関係組込部２０４は、元のＩＤ付き文書"Ａ"のうち、メタ情報３１０の管理ＩＤ３１２を新たに発行したＩＤ"Ｃ"へ変更すると共に、元の文書"Ａ"の管理ＩＤ"Ａ"を親ＩＤ３１４の値にセットする。また、派生関係組込部２０４は、ログ情報３１６中の操作種別の値を今回の操作の種類である「閲覧」に変更し、操作時刻の値をその閲覧の日時に変更し、操作者の値をuser3に変更する。なお、今回の操作は閲覧なので、文書内容３２０は変化しない。
【００５１】
次に、user4が、user2から受け取ったＩＤ付きの紙文書"Ｂ"に対して書き込みを行い、書き込み済みの紙文書をスキャナにセットし、クライアント端末２０上の読取制御ソフトウエアの操作メニューから「承認版として登録」の操作を選んだとする。すると読取制御ソフトウエアは、スキャナを制御して紙文書を読み取り、その読取結果の画像データを文書内容（以下、識別のためにこの文書内容を"Content2"と名付ける）として含むＩＤ付き文書"Ｄ"を生成し、文書管理サーバ１０に送ると共に、当該クライアント端末２０内に保存する。このＩＤ付き文書"Ｄ"内のメタ情報３１０に含まれる管理ＩＤは"Ｄ"であり、親ＩＤは"Ｂ"である。この親ＩＤ"Ｂ"は、紙文書から読み取った管理ＩＤである。またuser属性はuser4である。また、文書操作部２００での「承認版として登録」という操作は、ログ記録目的上での「更新」という操作種別に分類されるので、メタ情報中のmethod属性は「更新」となる。
【００５２】
次に、user4がＩＤ付き文書"Ｄ"を文書操作部２００により編集する。これにより、編集結果の文書内容"Content3"を含み、"Ｄ"を親ＩＤとして含む新たなＩＤ付き文書"Ｅ"が生成され、文書管理サーバ１０に登録される。user4のクライアント端末２０内のＩＤ付き文書"Ｄ"はこのＩＤ付き文書"Ｅ"に置き換えられる。
【００５３】
次に、user3が自分のクライアント端末内のＩＤ付き文書"Ｃ"に対し文書操作部２００にて編集を加え、操作メニュー上で「更新版として登録」を指示すると、クライアント端末は、管理ＩＤ３１２の値が"Ｆ"、親ＩＤ３１４の値が"Ｃ"、操作種別の値が「更新」であるＩＤ付き文書"Ｆ"を生成して、これをＩＤ付き文書"Ｃ"と置き換えると共に、そのＩＤ付き文書"Ｆ"を文書管理サーバ１０に登録する。編集により、文書内容は"Content3"から"Content4"へと変化している。文書管理サーバ１０の派生関係ＤＢ１１０には、管理ＩＤ"Ｆ"のレコードが登録される。
【００５４】
図５及び図６は、この時点での派生関係ＤＢ１１０内の、"Ａ"から派生する文書或いは操作の様子を示している。
【００５５】
以上、派生関係ＤＢ１１０のデータ内容を例に取り、本システムにおける文書操作の情報の登録の様子を説明した。
【００５６】
図４の説明に戻り、要求処理部１４０は、クライアント端末２０からの管理ＩＤを含んだサービス要求に応じて、派生関係ＤＢ１１０を用いたサービスを提供する。要求処理部１４０が提供するサービスとしては、例えば、サービス要求中の管理ＩＤに対応する文書の最新版を検索するサービスがある。また別の例として、サービス要求中の管理ＩＤに対応する始祖（根）の文書又はその始祖についてのログ情報を提供するサービスを挙げることができる。また、別の例として、その管理ＩＤの来歴、すなわち始祖からその管理ＩＤまでに文書が経てきた操作の履歴（例えば誰がいつどんな操作をしたのかを示す情報のリスト）を提供するサービスもある。また、派生関係ＤＢ１１０に登録された属性項目についての検索条件の指定を受け付け、その検索条件を満足するＩＤ付き文書のリストを提供するサービスもある。このサービスに付随して、要求処理部１４０は、そのリストの中からユーザの所望するＩＤ付き文書の選択を受け付け、選択されたＩＤ付き文書を提供してもよい。なお、上述の最新版を検索するサービスは、「操作日時が最新である」という検索条件についての検索結果を提供するサービスと捉えることもできる。また、上述の始祖の文書の情報を提供するサービスは、「ノードアドレスが根を示す文書」という条件についての検索結果を提供するサービスと捉えることができる。また、別の例として、派生関係ＤＢ１１０に基づきＩＤ付き文書群の派生関係を表す木構造の表示画面を提供し、その表示画面上でユーザの所望するＩＤ付き文書の選択を受け付け、選択されたＩＤ付き文書を提供するサービスもある。
【００５７】
サービス要求は、クライアント端末２０に保持されたＩＤ付き文書に基づき発せられる。例えば、ユーザがクライアント端末２０の文書操作部２００によりＩＤ付き文書を開いた場合に、文書操作部２００が、派生関係を用いたサービスのメニューを提供し、そのメニューの中からユーザが所望するサービスの指定を受け付ける。そして、そのＩＤ付き文書の管理ＩＤと指定されたサービスを示すコードとを含むサービス要求を文書管理サーバ１０の要求処理部１４０に送信する。このとき、ユーザ識別情報や操作日時などの属性項目についての検索条件を指定するユーザインタフェース画面を提供し、この画面を介して入力された検索条件を併せて要求処理部１４０に送信してもよい。また、管理ＩＤと、サービスを示すコード、検索条件以外に、指示を行ったユーザの識別情報や、ユーザの入力した認証情報などといった他の情報を、クライアント端末２０から要求処理部１４０に送信するようにしてもよい。
【００５８】
また、別の例として、ＩＤ付き文書というオブジェクト種類に対して、そのようなサービスのメニューを対応づけてクライアント端末２０のオペレーティングシステムに登録しておいてもよい。この場合、図７に示すように、オペレーティングシステムが提供するファイル管理画面４００に表示されたＩＤ付き文書のアイコン４１０又は４１４に対し、ユーザが例えば右ボタンクリックなどの所定の操作を行った場合、オペレーティングシステムが、ＩＤ付き文書に対応づけられたメニュー４２０を画面表示する。図示例では、ＩＤ付き文書のアイコン４１０又は４１４には、本システムのＩＤ付き文書であることを示すマーク４１１により、他の種類のファイル４１２と区別可能となっている。ユーザがメニュー４２０上の各サービス項目の中から、所望のものを選択すると、クライアント端末２０は、選択されたサービス項目の実行を文書管理サーバ１０に要求する。
【００５９】
また別の例として、ユーザによるサービスの指定を一つの「操作」と捉え、その「操作」に対して新たに管理ＩＤを付与することも考えられる。この場合、指定されたサービスのコードを操作種別として含み、指定の際に用いられた元のＩＤ付き文書の管理ＩＤを親ＩＤとして含んだＩＤ付き文書を生成し、このＩＤ付き文書をサービス要求として文書管理サーバ１０に送ってもよい。この場合、要求処理部１４０は、受け取ったＩＤ付き文書内の操作種別の情報に基づき提供すべきサービスを判定し、同じくＩＤ付き文書内の親ＩＤを、派生関係を遡る処理の起点とする。
【００６０】
要求処理部１４０は、クライアント端末２０からサービス要求を受けた場合、そのサービス要求中に指定された管理ＩＤを起点に、派生関係ＤＢ１１０に登録された管理ＩＤと親ＩＤとの派生関係が構成する木を走査（トラバース）し、その走査の結果得られた情報を用いて、ユーザから要求されたサービスを実行する。
【００６１】
以上に説明したシステムにおける、ＩＤ付き文書に対するアクセス制御について、以下に詳しく説明する。このシステムでは、ＩＤ付き文書の派生関係群が成す木構造の中でＩＤ付き文書群をグループ分けし、各グループに対してそれぞれアクセス権情報を設定する。グループ分けは、ユーザの指示による。すなわち、このシステムでは、ＩＤ付き文書の文書管理サーバ１０への登録の際に、その文書を親文書のグループから「分岐」させる指示を入力するためのＵＩ（ユーザインタフェース）を提供する。ユーザが、そのＵＩを用いて登録対象のＩＤ付き文書について「分岐」指示を行うと、文書管理サーバ１０が新たなグループを作成し、そのＩＤ付き文書をその新グループに分類する。一方、分岐指示が行われなかった場合、文書管理サーバ１０は、当該ＩＤ付き文書を親文書の同じグループに分類する。
【００６２】
このシステムでは、そのように生成される文書のグループに対してアクセス権情報が設定される。グループについてのアクセス権情報は、そのグループを生成するための指示（すなわち新規文書の登録又は分岐）を行ったユーザがまず設定する。そのユーザが、アクセス権情報を変更する権限を他のユーザに与えることができるようにしてもよい。そして、文書管理サーバ１０は、ユーザからＩＤ付き文書を要求されると、そのＩＤ付き文書の属するグループのアクセス権情報を参照して、そのユーザにそのＩＤ付き文書を提供するか否かを判定する。
【００６３】
図８にグループ分岐の例を示す。この例は、ＩＤ付き文書Ａを根とする派生関係の木を示している。この例では、ＩＤ付き文書Ａに操作を加えた結果生成されたＩＤ付き文書Ｂを文書管理サーバ１０に登録する際には、分岐指示は行われなかったので、文書Ｂは文書Ａと同じグループＧＲ１１に分類されている。同様に文書Ｂから派生した文書Ｃの登録の際にも分岐指示は行われなかったので、文書ＣはグループＧＲ１１に分類される。同様に文書Ｃから派生した文書Ｄの登録の際にも分岐指示は行われなかったので、文書ＤはグループＧＲ１１に分類される。一方、文書Ｃから派生した文書Ｅの登録の際には、ユーザが分岐指示を行ったので、新たなグループＧＲ１２を生成され、文書ＥはそのグループＧＲ１２に登録される。このように、１つのグループは、システムに対する文書の新規登録（図示例では文書Ａ）又は分岐指示（図示例では、文書Ｅ，Ｈ，Ｋ，Ｎ）により生成され、分岐指示を伴わない派生文書はその親文書と同じグループに入れられる。
【００６４】
アクセス権制御のための機能を含んだクライアント端末２０の機能ブロック図を、図９に示す。図９において、図２と同様の機能ブロックには同様の符号を付す。
【００６５】
図９の例では、例えば派生関係に関するサービスの１つとして、文書グループを分岐させるサービスをユーザに提供する。文書操作部２００は、グループ分岐サービスを指示するためのＵＩを提供する。例えば、図７に例示したＵＩ画面例では、ＩＤ付き文書に関連づけられたメニュー４２０の中に、グループ分岐を表す項目４２２が含まれる。このようなＵＩを用いてユーザがあるＩＤ付き文書Ｘについてグループ分岐の指示を行った場合、文書操作部２００は、その分岐操作の操作結果に対応する新たなＩＤ付き文書Ｙを生成し、文書管理サーバ１０へ登録する。新たなＩＤ付き文書Ｙは、親ＩＤ３１４（図３参照）として文書Ｘの管理ＩＤの値を有すると共に、ログ情報３１６中の操作種別の値が「分岐」となっており、文書内容３２０として文書Ｘと同じ文書内容を持つ。
【００６６】
以上の例は、グループ分岐の指示をＩＤ付き文書に対する操作の１つとして実現した場合の例であるが、グループ分岐の指示はこのような方式に限らない。例えば、既存のＩＤ付き文書に対して操作を行った結果生成される新たなＩＤ付き文書を文書管理サーバ１０に登録する際に、新たなＩＤ付き文書をその親のＩＤ付き文書から分岐させるか否かをユーザに指定させてもよい。例えば、ユーザが文書操作部２００でＩＤ付き文書を編集し、編集を完了した際に、文書操作部２００がグループ分岐の要否を尋ねるＵＩ画面を提供し、ユーザから選択を受け付けてもよい。この場合、生成されるＩＤ付き文書のログ情報３１６には、操作種別の他に、グループ分岐の要否の選択結果が含まれる。
【００６７】
以上のようにしてユーザが「グループ分岐」を指示した場合、文書管理サーバ１０は、新たなグループを生成すると共に、そのグループに対するアクセス権情報の設定を求める通知をクライアント端末２０に返す。この場合、クライアント端末２０では、アクセス権情報入力部２２０がアクセス権設定用のＵＩ画面をユーザに提供する。このＵＩ画面は、例えば、文書管理サーバ１０に登録された各ユーザや各ユーザグループについてのアクセス権限（例えば読出(Read)権、書込(Write)権など）の入力欄を含んだものである。このようなアクセス権限設定用のＵＩとしては従来から様々なものがあり、このシステムでもそのような従来のＵＩを用いてもよい。アクセス権限情報についてデフォルト値を設定しておき、ユーザがそのデフォルト値に対する変更を入力するようにしてもよい。アクセス権情報入力部２２０に対しユーザがアクセス権情報を入力すると、アクセス権情報送信部２３０がその情報を文書管理サーバ１０に送信する。
【００６８】
アクセス権限設定用のＵＩ画面は、例えばＷｅｂページとして文書管理サーバ１０がクライアント端末２０に提供してもよい。この場合、アクセス権情報入力部２２０及びアクセス権情報送信部２３０の役割は、クライアント端末２０にインストールされたＷｅｂブラウザが果たすことになる。
【００６９】
次に、図１０を参照して、アクセス制御機能を備えた文書管理サーバ１０の構成について説明する。図１０において、図４と同様の機能ブロックについては同様の符号を付し、詳細な説明は省略する。
【００７０】
この例では、文書管理サーバ１０の派生関係登録部１３２は、ＩＤ付き文書のメタ情報レコードの一項目として、その文書が属する文書グループのＩＤ（グループＩＤと呼ぶ）を、派生関係ＤＢ１１０に登録する。この例における派生関係ＤＢ１１０のデータ内容の一例を図１１に示す。図１１の例では、操作種別や操作日時などの項目は省略している。この例は、図８に例示した派生関係の分岐構造に対応している。例えば正本ＩＤ“１”に対応するＩＤ付き文書のうちＡ〜Ｄは文書グループＧＲ１１に属しており、Ｅ〜Ｇは文書グループＧＲ１２に属していることを示している。また、この例では、ＩＤ付き文書のメタ情報レコードの中に、分岐先のＩＤ付き文書を表す項目「分岐」が設けられている。例えば文書Ｃのメタ情報には、分岐先が文書Ｅと示されている。なお、１つの文書に対し複数の分岐先が登録される場合もある。
【００７１】
また文書登録部１３０は、アクセス権情報登録部１３４を備える。アクセス権情報登録部１３４は、クライアント端末２０のアクセス権情報送信部２３０が送信したアクセス権情報を受け取り、アクセス権ＤＢ１２０に登録する。図１２にアクセス権ＤＢ１２０に登録されたデータ内容の一例を示す。この例に示すように、アクセス権ＤＢ１２０には、各ユーザ又はユーザグループのＩＤ（図示例では"Admin", "user1"など）に対応づけて、そのユーザ又はユーザグループが各文書グループＧＲ１１，ＧＲ１２に対して持つアクセス権のリストがそれぞれ登録される。この例では、“Ｒ”は当該文書グループ内のＩＤ付き文書を閲覧できる読出権を示し、“Ｗ”は当該文書グループ内のＩＤ付き文書の文書内容に編集を加えることができる書込権を意味する。また“Ｇ”は、当該文書グループ内のＩＤ付き文書を取得することができる取得権を意味し、“Ｅ”は、その文書グループについてのアクセス権情報の変更権を意味する。そして、“Ｂ”は、その文書グループに属するＩＤ付き文書から別の文書グループを分岐させることができる分岐権を示す。例えば、ユーザ"user1"は、グループＧＲ１１内の文書に対しては、読み出し、取得、分岐の権限を有する。なお、例示した５種類の権限はあくまで一例に過ぎない。
【００７２】
再び図１０の説明に戻り、要求処理部１４０は、ユーザからのサービス要求に対してＩＤ付き文書を提供する場合に、そのＩＤ付き文書に対するそのユーザのアクセス権をアクセス制御部１５０に問い合わせる。アクセス制御部１５０は、アクセス権ＤＢ１２０を参照して、そのＩＤ付き文書の属する文書グループに対するユーザのアクセス権を求め、そのアクセス権の情報を要求処理部１４０に渡す。要求処理部１４０は、そのアクセス権の情報に基づき、そのＩＤ付き文書をユーザに提供するか否か、及び提供する場合にユーザに許す権限を判定する。
【００７３】
次に、図１３を参照して、クライアント端末２０から新たなＩＤ付き文書が到来したときの文書管理サーバ１０の処理手順の例を説明する。この手順では、文書管理サーバ１０は、クライアント端末２０からＩＤ付き文書を取得すると（Ｓ１）、そのＩＤ付き文書内のログ情報３１６に含まれる操作種別又は分岐要否の情報に基づき、ユーザがグループの分岐を指示したか否かを判定する（Ｓ２）。そして、分岐が指示されたと判定した場合、文書登録部１３０は、新たな文書グループのための一意なグループＩＤを生成し（Ｓ３）、そのグループＩＤを、派生関係ＤＢ１１０内のそのＩＤ付き文書のメタ情報のグループＩＤの項目に設定する（Ｓ４）。また、文書管理サーバ１０は、その新たな文書グループに対するアクセス権情報の入力要求をクライアント端末２０に送る（Ｓ５）。この要求の際、文書管理サーバ１０は、例えばアクセス権情報の入力のためのＷｅｂページをクライアント端末２０に提供してもよい。そして、その要求に応じてクライアント端末２０からアクセス権情報が入力されると、アクセス権情報登録部１３４が、そのアクセス権情報をアクセス権ＤＢ１２０に登録する（Ｓ６）。
【００７４】
一方、ステップＳ２で、分岐が指示されていないと判定した場合、文書登録部１３０は、当該ＩＤ付き文書の親文書が属する文書グループのグループＩＤを派生関係ＤＢ１１０から取得する（Ｓ７）。このステップでは、例えば、当該ＩＤ付き文書内の親ＩＤ３１４を管理ＩＤとして持つメタ情報レコード内のグループＩＤの値を、派生関係ＤＢ１１０から求めればよい。そして、文書登録部１３０は、取得したグループＩＤを、当該ＩＤ付き文書のグループＩＤとして、派生関係ＤＢ１１０に登録する（Ｓ８）。
【００７５】
次に、図１４を参照して、ＩＤ付き文書に対する操作要求を受けた場合の文書管理サーバ１０の処理手順の例を説明する。図１４の手順は、例えば、検索サービスを実行して検索結果のリストをユーザに提供し、そのリストからユーザが所望のＩＤ付き文書を指定して操作を指示した場合に、実行される。また、図１４の手順が実行される別のケースとしては、ＩＤ付き文書群の派生関係を表す木構造の表示画面を提供し、その表示画面上でユーザの所望するＩＤ付き文書の選択を受け付けた場合がある。
【００７６】
この手順では、要求処理部１４０は、まず、操作対象であるＩＤ付き文書の管理ＩＤを取得し、更に操作を要求したユーザのユーザＩＤを取得する（Ｓ１１）。対象文書の管理ＩＤは、検索結果や木構造表示の中でのユーザの選択結果から特定される。また、ユーザＩＤは、クライアント端末２０から取得すればよい。要求処理部１４０は、ステップＳ１１で取得した管理ＩＤ及びユーザＩＤをアクセス制御部１５０に渡す。アクセス制御部１５０は、受け取った管理ＩＤに対応するグループＩＤを派生関係ＤＢ１１０から取得し（Ｓ１２）、そのグループＩＤと上記ユーザＩＤとの組合せに対応するアクセス権情報を、アクセス権ＤＢ１２０から求める（Ｓ１３）。そして、アクセス制御部１５０は、求めたアクセス権情報から、そのユーザがそのＩＤ付き文書に対してアクセス権があるか否かを判定し（Ｓ１４）、アクセス権があれば、そのアクセス権に応じて、そのＩＤ付き文書へのアクセスを許可する（Ｓ１５）。例えば、ステップＳ１３で取得したグループＩＤとユーザＩＤとの組合せに対応するアクセス権情報が読出権（Ｒ）のみを含む場合、アクセス制御部１５０は、ＩＤ付き文書を閲覧のみ可能（編集は不許可）な状態でそのユーザに提供するよう、要求処理部１４０に指示する。このような指示を受けた場合、要求処理部１４０は、対象のＩＤ付き文書に対し、ＩＤ付き文書を閲覧のみ可能な状態に設定し、要求元のクライアント端末２０に送信する。クライアント端末２０の文書操作部２００は、受け取ったＩＤ付き文書の設定に応じてユーザからの操作に制限を加える。例えば、文書操作部２００は、閲覧のみ可能と設定されたＩＤ付き文書については、ユーザからの編集指示を受け付けない。
【００７７】
また、ステップＳ１４で、ユーザが対象の文書に対してアクセス権を持たないと判定された場合は、アクセス制御部１５０は、その文書に対するアクセスを許可しない（Ｓ１６）。この場合、要求処理部１４０は、クライアント端末２０に対して、その文書に対するアクセスが許可されないことを示すメッセージを送る。
【００７８】
なお、以上の手順の変形例として、ステップＳ１１でユーザの指示した操作の種類の情報をクライアント端末２０から取得し、ステップＳ１４の判定の際に、その操作の種類を考慮してもよい。例えば、ユーザが、ＩＤ付き文書に対する編集操作を指示した場合、ステップＳ１４の判定では、文書管理サーバ１０は、そのユーザがそのＩＤ付き文書の属する文書グループに対して書込（Ｗ）権を持つか否かを調べ、書込権を持たなければ、ステップＳ１６に進んでその文書へのアクセスを拒否し、その文書をそのユーザに提供しないようにしてもよい。
【００７９】
また、別の例として、クライアント端末２０からＩＤ付き文書を取得した場合に、文書管理サーバ１０が、そのＩＤ付き文書を受け入れるか否かを、アクセス権ＤＢ１２０に基づき判定してもよい。すなわち、このシステムの枠組みでは、クライアント端末２０上でＩＤ付き文書が操作されると、その操作結果を反映した新たなＩＤ付き文書が生成され、文書管理サーバ１０に登録される。ところが、その操作を指示したユーザがその操作の権限を持っていない場合には、操作結果のＩＤ付き文書は正当な文書として取り扱うべきではなく、文書管理サーバ１０に登録しないことが考えられる。
【００８０】
そこで、この例では、操作結果を反映したＩＤ付き文書がクライアント端末２０から送られてきたときに、文書管理サーバ１０が、その操作が正当な権限を持つユーザの指示によるか否かを判定する。この判定には、クライアント端末２０から受信したＩＤ付き文書中の親ＩＤ３１４と操作者及び操作種別の情報を用いる。この親ＩＤ３１４の値は、その操作の対象となったＩＤ付き文書の管理ＩＤの値と等しい。文書管理サーバ１０は、この値を管理ＩＤとして持つメタ情報レコードを派生関係ＤＢ１１０から検索することで、その操作対象の文書が属する文書グループのＩＤを特定する。また、そのグループのＩＤと、上述の操作者との組合せに対応するアクセス権情報をアクセス権ＤＢ１２０から検索する。そして、検索したアクセス権情報に基づき、受信したＩＤ付き文書中の操作種別が示す操作が許可されるか否かを判定し、許可される場合は、そのＩＤ付き文書を文書ＤＢ１００及び派生関係ＤＢ１１０に登録する。一方、許可されない場合は、文書管理サーバ１０は、そのＩＤ付き文書を文書ＤＢ１００等に登録せず、クライアント端末２０に登録不可を示すエラーコードを返す。このエラーコードを受けたクライアント端末２０は、そのＩＤ付き文書を破棄又は無効化する。
【００８１】
例えば、ユーザがＩＤ付き文書に対するグループ分岐の操作を行った場合、クライアント端末２０はその文書の子として操作種別の値が「分岐」となった新たなＩＤ付き文書を生成し、文書管理サーバ１０に送る。すると、文書管理サーバ１０は、受け取ったＩＤ付き文書の親文書が属する文書グループのアクセス権情報を求め、そのアクセス権情報から、そのユーザがそのグループについての「分岐」の権限を持つか否かを判定する。そして、そのユーザが「分岐」権限を持てば、文書管理サーバ１０は、図１３のステップＳ３〜Ｓ６の処理を実行する。
【００８２】
次に図１５を参照して、ユーザに提供される派生関係表示画面５００の一例を説明する。派生関係表示画面５００では、ＩＤ付き文書を示すアイコン５１２，５１４を、文書グループごとに分類して示している。各グループにはそれぞれグループを示すマーク５１０が表示され、そのマーク５１０から下に伸びるラインに沿って、そのグループに属する文書のアイコンが派生順に並ぶ。矢印付きの破線５２０，５４０は、グループの分岐を表す。破線５２０は文書Ａから文書グループ３が分岐したことを示し、破線５４０は文書Ｊから文書グループ５が分岐したことを示す。「＋」マークは、グループ内の文書アイコン群の表示が省略されていることを示す。ユーザがそのマークをクリックすると、省略されていた文書アイコン群が表示される。
【００８３】
この例では、アクセス権ＤＢ１２０に基づき、派生関係の表示を要求したユーザがアクセス権を持つ文書グループ群のみを表示する。図１５の例は、文書グループ１，３及び５に対してアクセス権を持つユーザが、自分のクライアント端末２０内にあるＩＤ付き文書Ｉを選択し、この文書に関する派生関係の表示を要求した場合の例である。この要求を受けた文書管理サーバ１０は、文書Ｉから派生関係を遡ることで、文書Ｉが属する木の根を求め、その根を子孫方向に辿ることで、その木に属する文書群を特定する。そして、それら文書群を文書グループごとに分類し、それら文書グループのうち、その要求を発したユーザがアクセス権を持つものを、アクセス権ＤＢ１２０に基づき判定する。そして、そのユーザがアクセス権を持つ文書グループ群を示した表示画面５００の情報を生成し、クライアント端末２０に提供する。表示画面５００の情報は例えばＷｅｂページとして提供すればよい。
【００８４】
ユーザは、この派生関係表示画面５００上のＩＤ付き文書のアイコンを選択し、その文書についての操作を指示することができる。文書についての操作には、その文書のダウンロードなどがある。また、この画面上で、文書グループに対するアクセス権変更の指示を受け付けてもよい。例えば、ユーザがいずれかの文書グループのマーク５１０を選択して操作メニューを呼び出し、そのメニュー上でアクセス権変更を選択すると、文書管理サーバ１０は、そのユーザがそのグループについてのアクセス権の変更権限を持つか否かをアクセス権ＤＢ１２０から求め、持っていればアクセス権情報の設定画面をクライアント端末２０に提供する。
【００８５】
図１５の例では、（１）１つの派生関係の木の中で、表示を要求したユーザがアクセス権を持つ文書グループをすべて表示したが、これは一例に過ぎない。この代わりに、（２）要求の際にユーザが用いた文書（図１５の例では文書Ｉ）が所属する文書グループのみを表示してもよい。また、（３）要求の際にユーザが用いた文書が属する木に属する文書全てを、そのユーザのアクセス権の有無によらず表示し、ユーザがその中の文書に対して操作を指示した場合に、アクセス権をチェックしてその操作を実行するか否かを判定してもよい。また（３）の方式において、そのユーザがアクセス権を持たない文書グループについては、そのグループの管理者（例えばそのグループが生成されるきっかけとなった分岐操作を行ったユーザ）の連絡先情報（例えば名前や電子メールアドレス）を表示してもよい。この場合、ユーザはその連絡先情報を用いて管理者に連絡を取り、アクセス権を設定してもらうなどの対処を採ることができる。また、上記（１）、（２）、（３）の表示方式を選択可能してもよい。
【００８６】
以上に例示した例では、管理ＩＤの発行は各クライアント端末２０で行われていたが、この代わりに文書管理サーバ１０が管理ＩＤを発行してもよい。この場合、クライアント端末２０は、ＩＤ付き文書に対して操作を行った場合、操作前のＩＤ付き文書内の管理ＩＤを親ＩＤ３１４として含み、更にその操作についてのログ情報３１６と操作後の文書内容３２０とを含み、管理ＩＤ３１２は空欄の文書データを生成し、文書管理サーバ１０に送る。文書管理サーバ１０は、受け取った文書データに対して新たな管理ＩＤを付与し、この管理ＩＤとその文書データとに含まれる情報を、文書ＤＢ１００及び派生関係ＤＢ１１０に登録する。また、文書管理サーバ１０は、付与した管理ＩＤを当該文書データにセットすることによりＩＤ付き文書を生成し、これをクライアント端末２０に返す。クライアント端末２０は、操作前のＩＤ付き文書を、受け取ったＩＤ付き文書に置き換える。このように、文書管理サーバ１０が管理ＩＤを付与する構成でも、上述の各例の処理は同様に実行できる。
【００８７】
また以上の例では、管理ＩＤ３１２、親ＩＤ３１４、ログ情報３１６、及び文書内容３２０を含んだＩＤ付き文書３００がクライアント端末２０に保存されたが、この代わりに、クライアント端末２０は管理ＩＤしか持たず、その他の情報は文書管理サーバ１０に保存されるようにしてもよい。この場合、クライアント端末２０で文書を操作する場合、その文書に対応する管理ＩＤを文書管理サーバ１０に送り、文書管理サーバ１０からその文書を取得する。また、別の例として、クライアント端末２０が保持するＩＤ付き文書３００の中には管理ＩＤ３１２と文書内容３２０とが含まれ、親ＩＤ３１４及びログ情報３１６は含まれないようにしても良い。この場合、サーバがその管理ＩＤ３１２に対応づけて親ＩＤ３１４とログ情報３１６を持つようにすれば良い。
【００８８】
ここで、文書管理サーバ１０が管理ＩＤを付与する場合は、その取得の操作に対応する管理ＩＤを文書管理サーバ１０が生成し、その管理ＩＤと文書とを対応づけてクライアント２０に提供するとともに、その取得操作についてのログ情報（操作時刻や操作者など）と、元の管理ＩＤ（すなわち親ＩＤ）と、付与した管理ＩＤとを派生関係ＤＢ１１０に記録する。クライアント端末２０は、文書管理サーバ１０に送信した管理ＩＤを、受け取った管理ＩＤに置き換えると共に、受け取った文書を開く。ユーザは、開かれた文書に対して閲覧や編集などの操作を行う。クライアント端末２０は、文書に対する操作が完了すると、操作後の文書を管理ＩＤ及び当該操作についてのログ情報と共に文書管理サーバ１０に送る。文書管理サーバ１０は、受け取った文書に対して新たな管理ＩＤを付与して派生関係ＤＢ１１０に登録し、受け取った管理ＩＤを親ＩＤとして派生関係ＤＢ１１０に登録する。また、受け取ったログ情報及び操作後の文書を、派生関係ＤＢ１１０及び文書ＤＢ１００に登録する。そして、文書管理サーバ１０は、新たに付与した管理ＩＤをクライアント端末２０に返す。クライアント端末２０は、元の管理ＩＤを受け取った管理ＩＤで置き換える。以上のような処理により、操作間の派生関係が文書管理サーバ１０に蓄積されることになる。
【００８９】
一方、クライアント端末２０が管理ＩＤを付与する構成の場合は、文書管理サーバ１０は、クライアント端末２０から受け取った管理ＩＤに対応する文書をクライアントに返せばよい。クライアント端末２０は受け取った文書を開き、ユーザがその文書を操作する。操作の完了後、クライアント端末２０はその操作結果の文書に対して新たな管理ＩＤを付与し、この管理ＩＤを含んだ前述のＩＤ付き文書と同様の情報を、文書管理サーバ１０に送る。そして、クライアント端末２０は、そのＩＤ付き文書のうち管理ＩＤのみを保存し、その他の情報を削除する。
【００９０】
以上に例示したシステムにおける文書管理サーバ１０は、典型的には、汎用のコンピュータにて上述の文書管理サーバの各部の機能又は処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、図１６に示すように、ＣＰＵ（中央演算装置）４０、メモリ（一次記憶）４２、各種Ｉ／Ｏ（入出力）インタフェース４４等がバス４６を介して接続された回路構成を有する。また、そのバス４６に対し、例えばＩ／Ｏインタフェース４４経由で、ハードディスクドライブ４８やＣＤやＤＶＤ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブ５０が接続される。このようなドライブ４８又は５０は、メモリに対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク経由で、ハードディスクドライブ４８等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されＣＰＵにより実行されることにより、実施形態の処理が実現される。クライアント端末２０についても同様である。
【図面の簡単な説明】
【００９１】
【図１】文書管理システムの概略構成の例を示すブロック図である。
【図２】クライアント端末の内部構成の例を示すブロック図である。
【図３】ＩＤ付き文書のデータ構造の例を模式的に示す図である。
【図４】文書管理サーバの内部構成の例を示すブロック図である。
【図５】派生関係ＤＢのデータ内容の例を示す図である。
【図６】図５に例示したデータ内容における管理ＩＤ群がなす木構造を図式化して表す図である。
【図７】ＩＤ付き文書のアイコンを表示した表示画面の例を示す図である。
【図８】グループ分岐の例を示す図である。
【図９】アクセス制御用の機能を含んだクライアント端末の内部構成の例を示すブロック図である。
【図１０】アクセス制御用の機能を含んだ文書管理サーバの内部構成の例を示すブロック図である。
【図１１】文書グループの項目を含んだ派生関係ＤＢのデータ内容の例を示す図である。
【図１２】アクセス権ＤＢのデータ内容の一例を示す図である。
【図１３】ＩＤ付き文書を取得した場合の文書管理サーバの処理手順の一例を示すフローチャートである。
【図１４】ＩＤ付き文書に対するアクセスが要求された場合の文書管理サーバの処理手順の一例を示すフローチャートである。
【図１５】派生関係の表示画面の表示例を示す図である。
【図１６】コンピュータのハードウエア構成の一例を示す図である。
【符号の説明】
【００９２】
１０  文書管理サーバ、２０  クライアント端末、３０  ネットワーク、１００  文書ＤＢ、１１０  派生関係ＤＢ、１２０  アクセス権ＤＢ、１３０  文書登録部、１３２  派生関係登録部、１３４  アクセス権情報登録部、１４０  要求処理部、１５０  アクセス制御部、２００  文書操作部、２０２  ＩＤ割り当て部、２０４  派生関係組込部、２１０  登録処理部、２２０  アクセス権情報入力部、２３０  アクセス権情報送信部、３００  ＩＤ付き文書。
【図１】
2009042856.tif 000003
【図２】
2009042856.tif 000004
【図３】
2009042856.tif 000005
【図４】
2009042856.tif 000006
【図５】
2009042856.tif 000007
【図６】
2009042856.tif 000008
【図７】
2009042856.tif 000009
【図８】
2009042856.tif 000010
【図９】
2009042856.tif 000011
【図１０】
2009042856.tif 000012
【図１１】
2009042856.tif 000013
【図１２】
2009042856.tif 000014
【図１３】
2009042856.tif 000015
【図１４】
2009042856.tif 000016
【図１６】
2009042856.tif 000017
【図１５】
2009042856.tif 000018