以下、図面を参照して、本発明の実施の形態を説明する。
図1は、文書管理システムの概略構成を示すブロック図である。このシステムは、インターネットやローカル・エリア・ネットワーク等のネットワーク30を介して接続された文書管理サーバ10とクライアント端末20−1,20−2,・・・(以下、クライアント端末20と総称する)から構成される。
クライアント端末20について図2を用いて説明する。クライアント端末は、ユーザが文書を操作するために用いる端末であり、パーソナルコンピュータ、デジタル複写機などがその一例である。クライアント端末20は、図2に示すように、文書操作部200、登録処理部210、配信指示部220、及び配信関連情報取得部230を備える。
文書操作部200は、文書に対する操作を実行する手段である。文書に対する操作には、例えば、文書の表示(ユーザから見れば「閲覧」)、編集、印刷出力、紙文書の読み取り、紙文書の複写、等がある。図2では、文書操作部200を1つだけ示したが、それら個々の操作を別々の操作部(例えば、編集用のアプリケーション、読取制御用のアプリケーションなど)が担当してもよい。例えば、文書操作部200がワードプロセッサ等の電子文書を作成・編集するためのソフトウエアであれば、文書操作部200は、ユーザの指示に応じて電子文書を表示したり、電子文書に編集を加えたりする。文書操作部200は、文書に対して操作を行った場合、その操作の結果を表すID付き文書300を出力する。
ID付き文書300は、図3に示すように、メタ情報310と文書内容320とを含んだ電子文書である。文書内容320は、文書操作部200の操作の結果生成された文書の内容データである。文書操作部200が電子文書を作成・編集するためのソフトウエアであれば、文書内容320はそのソフトウエアによる編集の結果生成される文書ファイルである。また、文書操作部200が電子文書を印刷する装置であれば、文書内容320は、例えば、印刷される電子文書の内容データとすればよい。また、文書操作部200が紙文書をスキャンする装置又は紙文書を複写する装置であれば、文書内容320は、例えば、その紙文書を読み取って得られる画像データとすればよい。
メタ情報310は、文書管理のための情報であり、管理ID312,親ID314,及びログ情報316を含む。
管理ID312は、当該ID付き文書300自体の一意な識別情報である。親ID314は、当該ID付き文書300の親のID付き文書の管理IDである。すなわち、本実施形態では、あるID付き文書と、このID付き文書に対して操作を加えた結果得られる新たなID付き文書とを、親と子の関係として取り扱う。第1のID付き文書を操作して第2のID付き文書が得られた場合、第1のID付き文書は第2のID付き文書の親であり、第2のID付き文書は第1のID付き文書の子である。したがって、例えば、管理ID「A」のID付き文書を文書操作部200で操作して、その結果得られた新たなID付き文書の管理IDが「B」である場合、後者のメタ情報310における管理ID312は「B」であり、親ID314は「A」である。このような親子の関係を、以下では「(管理IDの)派生関係」という。
なお、本システムに未登録の電子文書を新たに登録する操作を実行した場合や、未登録の紙文書をスキャン又は複写する操作を実行した場合(この場合、紙文書を読み取った画像を文書内容とするID付き文書が生成され、本システムに登録される)に生成されるID付き文書300では、親ID314は空(すなわち、親は存在しない)となる。
ログ情報316は、当該ID付き文書が生成された際の操作についての、各種のログ項目の情報である。ログ項目には、例えばその操作が行われた日時、その操作の種別、その操作を指示したユーザ(操作者)などがあるが、もちろんこれに限るものではない。操作の種別には、例えば登録(本システムに新規の文書を登録すること)、閲覧、編集、更新(更新版の登録)、印刷、スキャン、紙文書の複写、等がある。例えば、ユーザが文書操作部200を用いて第1のID付き文書に対して編集を加え、編集完了の指示を行った場合、その結果生成される第2のID付き文書のログ情報316は、編集完了の日時と、その編集を指示したユーザの識別情報と、操作の種別として「編集」と、を含んだものとなる。
ここでログ情報316に組み込まれる操作の種別は、ログ記録の目的での分類に従った種別であり、文書操作部200が実行する操作の種別そのものでなくてもよい。例えば、文書操作部200が実行する複数の操作の種別を、同じ1つのログ記録目的の操作種別に対応づけてもよい。例えば、文書編集アプリケーション上でID付きの電子文書に編集を加え操作メニュー上で「更新版として登録」を指示した場合も、スキャナで管理ID付きの紙文書を読み取り読取制御用アプリケーションの操作メニュー上で「読み取った文書を承認版として登録」を指示した場合も、ログ情報316に組み込まれる操作種別の値は「更新」となる。
なお、文書操作部200が、操作した文書を暗号化してもよい。この暗号化は、本システムに準拠した文書操作部200ならば、復号できるようなものとする。この場合、文書操作部200が出力するID付き文書300の文書内容320は、暗号化されることにより、本システムに準拠した文書操作部200でないと復号できなくなる。したがって、ID付き文書300が操作される場合には文書操作部200が用いられるので、文書操作部200がその操作を検知し、その操作の内容が文書操作部200から文書管理サーバ10に通知される。なお、文書内容320だけでなく、後述するメタ情報310(またはその一部)に対しても暗号化を施してもよい。
図2の説明に戻り、文書操作部200は、操作結果として上述のようなID付き文書300を作成するために、ID割り当て部202及び派生関係組込部204を備える。ID割り当て部202は、操作結果のID付き文書300に一意な管理IDを付与する手段である。管理IDは、少なくとも本システム内で一意な識別情報である必要がある。例えば、操作の結果生成するID付き文書300(ただし管理ID312を除いたもの)のハッシュ値を求め、このハッシュ値をその文書300のID付き文書とすればよい。ハッシュ関数としてSHA-256(SHA-256はNISTがFIPS180-2で定めた256ビットのハッシュ値を持つ暗号学的ハッシュ関数である)などのような耐衝突性を持つ暗号学的ハッシュ関数を用いれば、実用上十分な一意性を持つ管理IDを生成することができる。もちろん、システム内で一意な管理IDを各クライアント端末20で生成する方法は、これに限らない。管理IDを、クライアント端末20固有の識別情報を含むものとすれば、システム内で一意な管理IDを各クライアント端末20で生成することができる。
派生関係組込部204は、操作結果の文書に対しID割り当て部202が割り当てた新たな管理ID312と、その操作の元になった親文書の管理IDである親ID314(新規登録の場合は、親IDは無し)と、その操作についてのログ情報316と、を含むメタ情報310を生成する。ここで、派生関係組込部204は、文書操作部200が実行する個々の操作の種別が、ログ記録目的上の操作種別のどれに対応するかを表す対応関係の情報を保持しており、この情報を用いることでログ情報316に組み込む操作種別の値を求める。そして、派生関係組込部204は、そのメタ情報310を操作結果の文書内容に付加することにより、操作後のID付き文書300を生成して出力する。
文書操作部200がアプリケーションソフトウエアである場合、ID割り当て部202及び派生関係組込部204は、そのソフトウエアに対して追加される、いわゆるプラグイン(plug‐in)プログラムとして実現してもよい。
登録処理部210は、文書操作部200が出力したID付き文書300を文書管理サーバ10に登録するための処理を実行する。このように各クライアント端末20が、自ら実行した操作の結果であるID付き文書300を文書管理サーバ10に登録することにより、文書管理サーバ10は各ID付き文書300間の派生関係を把握することができる。
配信指示部220は、文書管理サーバ10に対して、指定文書を特定する情報を含む配信指示を行なう。指定文書はユーザによって指定されるID付き文書300であり、クライアント端末20からの配信指示を受けた文書管理サーバ10は、この指定文書に関する情報を所定の配信先に対して配信する。例えば、文書管理サーバ10は、この指定文書に対してユーザが付与したコメントを本文に含む電子メールを送信する。あるID付き文書300に関する情報の配信をユーザが望む場合、ユーザは、そのID付き文書300を指定文書として設定する。
本実施形態では、ユーザの指示に応じてクライアント端末20の配信指示部220が文書管理サーバ10に対して配信指示を行い、配信指示を受けた文書管理サーバ10が指定文書に関する情報を配信する一連の処理を、指定文書に対する1つの「操作」と捉える。すなわち、文書操作部200がID付き文書に対して操作を実行した場合と同様に、ユーザが情報配信を望むID付き文書300を指定すると、この指定文書に関する情報配信の結果の文書に対して新たな管理IDが付与され、指定文書の管理IDを親IDとするID付き文書300が生成される。このID付き文書300のログ情報316中には、当該ID付き文書300が配信指示部220による配信指示に対応するものであることを示す情報が組み込まれる。例えば、ログ情報316中の操作種別として、配信指示による情報配信を表す種別(例えば、「メール」)が設定される。
配信指示に対応するこのようなID付き文書300は、配信指示部220の依頼を受けた文書操作部200によって生成される。ユーザによるID付き文書の指定を受けると、配信指示部220は、文書操作部200に対して、指定文書の管理IDを通知するとともに、配信指示に対応するID付き文書300の生成を依頼する。この依頼を受けた文書操作部200のID割り当て部202は、指定文書に関する情報配信の結果の文書に対して新たな管理ID312を割り当てる。そして、文書操作部200は、この新たな管理ID312を含み、親ID314が指定文書の管理IDであり、ログ情報316中の操作種別が例えば「メール」であるID付き文書300を生成し、配信指示部220に対して出力する。文書操作部200から出力されたID付き文書300を受け取った配信指示部220は、当該ID付き文書300を含む配信指示を文書管理サーバ10に対して行う。文書管理サーバ10は、配信指示に含まれるID付き文書300の親IDを参照することで、情報配信を実行する対象の指定文書を特定できる。また、この配信指示に含まれるID付き文書300は、登録処理部210が文書管理サーバ10に対して送信して登録するID付き文書300と同様に、文書管理サーバ10に登録される。
配信指示部220が行なう配信指示は、配信指示に対応する上述のID付き文書300に加えて、文書管理サーバ10が指定文書について情報配信を行なう際に用いる配信関連情報を含む。配信関連情報は、文書管理サーバ10が情報配信の配信先を特定するために用いる配信先情報と、指定文書に関連する文書関連情報と、の少なくとも一方を含む。配信先情報の内容の詳細については後述する。文書関連情報は、例えば、指定文書に対してユーザが付与したコメントであってよい。文書管理サーバ10は、配信指示に応じた情報配信処理において、その配信指示中の文書関連情報を含む情報を配信先に対して送信する。配信先のユーザは、このような文書管理サーバ10からの情報配信により、例えば、ある文書に対して他のユーザが付与したコメントを受け取ることができる。
配信関連情報取得部230は、上述の配信関連情報を取得する。例えば、配信指示部220は、ID付き文書300の指定を受けると、配信関連情報取得部230に対して、指定文書についての配信関連情報の取得を依頼する。この依頼を受けた配信関連情報取得部230は、指定文書に関する配信関連情報について、ユーザによる入力を受け付け、受け付けた配信関連情報を配信指示部220に対して出力する。
以上で説明したように、ユーザが情報配信を望むID付き文書300を指定すると、配信指示部220は、文書操作部200に対しては、配信指示に対応するID付き文書300の生成を依頼し、配信関連情報取得部230に対しては、指定文書についての配信関連情報の取得を依頼する。そして、文書操作部200から出力されたID付き文書300と、配信関連情報取得部230から出力された配信関連情報と、を含む配信指示を文書管理サーバ10に対して行う。なお、配信関連情報は、ID付き文書300とは別の情報として配信指示に含まれていてもよいし、ID付き文書300中に含まれていてもよい。
配信関連情報取得部230は、以上のように配信指示部220の依頼を受けて配信関連情報を取得する場合もあるし、文書操作部200の依頼を受けて配信関連情報を取得する場合もある。例えば、文書操作部200は、文書に対する操作を実行すると、その操作の結果生成されるID付き文書300についての配信関連情報の取得を配信関連情報取得部230に対して依頼する。この依頼に応じて、配信関連情報取得部230は、その操作結果のID付き文書についての配信関連情報のユーザ入力を受け付け、受け付けた情報を文書操作部200に対して出力する。文書操作部200は、この配信関連情報をID付き文書300と関連付けてID付き文書300とともに登録処理部210に対して出力する。登録処理部210は、文書操作部200から出力されたID付き文書300及び当該文書に関連付けられた配信関連情報を文書管理サーバ10に登録する。なお、この場合も、配信関連情報は、ID付き文書300とは別の情報として存在してもよいし、ID付き文書300中に含まれていてもよい。
配信関連情報と関連付けられたID付き文書300をクライアント端末20が文書管理サーバ10に登録すると、文書管理サーバ10において、当該ID付き文書300に関して、その配信関連情報に従った情報配信処理が行われる。この情報配信処理では、例えば、ID付き文書300のメタ情報を含む情報が文書管理サーバ10から配信先に対して送信される。配信先のユーザは、文書管理サーバ10から受信した情報中のメタ情報を参照することで、例えば、ある文書に対して、誰が、いつ、どのような操作を実行したかなど、文書に対する操作に関する情報を知ることができる。
文書操作部200は、例えば、特定の種別の操作が実行された場合にのみ、配信関連情報取得部230に対して配信関連情報の取得を依頼するものとしてよい。例えば、「(新規)登録」操作又は「更新(更新版として登録)」操作が実行された場合に、配信関連情報取得部230に対して上述の依頼を行い、他の種別の操作が実行された場合は依頼を行わないものとしてよい。この例の場合、操作種別が「登録」又は「更新」であるID付き文書300は、その配信関連情報とともに文書管理サーバ10に登録され、文書管理サーバ10において、当該ID付き文書300に関し、その配信関連情報に従った情報配信処理が行われる。他の操作種別を含むID付き文書300については、配信関連情報は取得されないので、ID付き文書300のみが文書管理サーバ10に登録され、文書管理サーバ10において当該ID付き文書300に関する情報配信処理は行われない。
文書操作部200が操作の結果出力するID付き文書300は、通常の文書ファイルと同様、電子的にコピーしたり、電子メールに添付するなどの方法で他の人宛に送信したりすることができる。電子メール送信用のソフトウエアは、この例では本システムに準拠していないので、この送信操作はID付き文書には反映されず、したがって文書管理サーバ10にも記録されない。他の人からID付き文書300を受け取った人が、自分のクライアント端末20の文書操作部200を用いてそのID付き文書300を操作すると、その操作に応じて新たな管理IDを付与されたID付き文書が生成されることになる。
また、文書操作部200が電子文書を印刷する場合、管理IDを生成し、その電子文書の印刷結果にその管理IDを埋め込んでもよい。管理IDの埋め込みは、例えば電子文書の印刷画像に、管理IDを示すコード画像を重畳する等の方法で行うことができる。また、用紙がRFID(Radio Frequency Identifier)タグを備えている場合、そのRFIDタグに管理IDを書き込んでもよい。このように印刷を行った場合、文書操作部200は、その管理IDや操作種別「印刷」等のメタ情報を含んだID付き文書を文書管理サーバ10に登録する。なお、ID付き文書を印刷した場合には、そのID付き文書の管理IDを親ID314として含んだID付き文書が生成される。印刷操作に対応するID付き文書には、印刷された画像を示すページ記述言語データやビットマップ画像データをなどの印刷データ、又は印刷された文書ファイルを、文書内容320として組み込んでもよい。
また、管理IDが埋め込まれた紙文書を文書操作部200が読み取った場合、文書操作部200は、その読み取り操作に対して新たな管理IDを付与し、読み取り結果の画像を文書内容320として含んだID付き文書を生成して文書管理サーバ10に登録する。このID付き文書の親ID314には、紙文書から読み取った管理IDがセットされる。管理IDが埋め込まれた紙文書の複写の際には、上述した読み取り時と印刷時の処理が実行される。
次に、文書管理サーバ10について説明する。文書管理サーバ10は、システム内の複数のクライアント端末20から送られてくるID付き文書300を蓄積し、蓄積した情報に基づきユーザに各種のサービスを提供する。図4に示すように、文書管理サーバ10は、文書DB(データベース)100、派生関係DB110、文書登録部130、要求処理部140、及び配信処理部150を備える。
文書DB100は、クライアント端末20から送られてきたID付き文書300のうちの文書内容320を格納するデータベースである。文書DB100に格納された各文書内容320は、一意な内容IDにより管理してもよい。内容IDとしては、例えば当該文書内容の暗号学的ハッシュ関数によるハッシュ値を用いてもよいが、これに限定されるものではない。クライアント端末20が内容IDを付与してもよく、この場合、内容IDをメタ情報310に組み込んでもよい。また、内容IDの代わりに、その文書内容320を、当該文書内容に対応するID付き文書300の管理IDと対応づけて文書DB100に格納してもよい。
文書登録部130は、クライアント端末20の登録処理部210から受信したID付き文書300の中の文書内容320を文書DB100に、メタ情報310を派生関係DB110に、それぞれ登録する。また、文書登録部130は、クライアント端末20の登録処理部210からID付き文書300とともに当該ID付き文書300の配信関連情報を受信した場合、この配信関連情報もメタ情報310とともに派生関係DB110に登録する。メタ情報310及び配信関連情報の登録を担当するのが派生関係登録部132である。また、文書登録部130は、クライアント端末20の登録処理部210からID付き文書300とともにその配信関連情報を受信した場合、当該ID付き文書300及び配信関連情報を配信処理部150に渡す。
派生関係DB110は、ID付き文書300のうち、派生関係の情報を主としたメタ情報を蓄積するデータベースである。また、派生関係DB110には、ID付き文書300の配信関連情報も蓄積される。図5に、派生関係DB110のデータ内容の一例を示す。図5に示した表における1行の情報が、1つのID付き文書300に対応する情報レコードである。この例では、各ID付き文書300の管理IDに対応づけて、親ID、操作種別、操作者、操作日時、コメント、収集属性、配信先情報、及び操作通知属性の各項目が登録されている。このうち、親ID、操作種別、操作者、及び操作日時は上記で説明したとおり、ID付き文書300のメタ情報310に含まれる情報である。
コメント、収集属性、配信先情報、及び操作通知属性の各項目は、各レコードに対応するID付き文書300と関連付けてクライアント端末20から受信した配信関連情報に含まれる情報項目である。コメントの項目には、各ID付き文書300に対してユーザが付与したコメントが登録される。収集属性は、後述する文書関連情報収集処理において、各ID付き文書300について付与されたコメントを収集の対象とするか否かを表す属性情報である。配信先情報は、各ID付き文書300に関する情報を配信する際の配信先を表す情報である。図5の例では、配信先情報として、配信先の電子メールアドレスが登録される。操作通知属性は、各ID付き文書300が文書管理サーバ10に登録された際に、当該ID付き文書300が生成された操作に関する情報を所定の配信先に対して通知するか否かを表す属性情報である。
派生関係DB110の各項目のうち、管理IDと親IDとのペア及び配信先情報以外の項目は、図5で例示したものに限られない。管理目的上必要な項目を記録すればよい。また、図5に例示するメタ情報の項目は一例に過ぎない。例えば、この他にも、ID付き文書内の文書内容320を格納した、文書DB100内での格納場所を示すパス名を派生関係DB110に登録してもよい。文書DB100が、内容IDで文書内容320を検索する機能を持つものであれば、文書格納パスの代わりに内容IDをメタ情報レコードに登録してもよい。
なお、図5は派生関係DB110が管理するデータを内容の観点から表現したものにすぎず、具体的な表現形式或いはデータベース形式を規定するものではない。例えば、派生関係DB110は、一般的なリレーショナルデータベースとして構築することもできるし、管理IDを除くメタ情報を記述したXML(eXtensible Markup Language)文書を、管理IDをキーとして登録したデータベースとして構築することもできる。
図5に示した派生関係DB110のデータ内容は、図6のような木構造を成す。これは、管理IDをノードとし、管理ID間の親子関係をエッジとする木構造である。
以下、図5及び図6の例が示す文書の履歴について時系列順に説明する。
この例ではまず、文書の「登録」操作がuserAのクライアント端末20で実行される。「登録」操作は、文書管理サーバ10に未登録の文書(すなわち、管理IDを有していない文書)を当該サーバ10に登録するための操作である。クライアント端末20の文書操作部200は、管理IDが"Doc1"、親IDが空、操作種別が「登録」であるメタ情報と、その文書の文書内容と、を含むID付き文書"Doc1"を生成する。また、ID付き文書"Doc1"を生成するとともに、文書操作部200は、配信関連情報取得部230に対して、この「(新規)登録」操作の結果の文書について配信関連情報の取得を依頼する。配信関連情報取得部230は、この依頼に応じて、例えば図7に示すような表示画面を表示装置(図示しない)に表示させることで、userAによる配信関連情報の入力を受け付ける。
図7を参照し、「コメント」の項目に入力される情報は、ID付き文書"Doc1"に付与されたコメントとして受け付けられる。「コメントを収集対象にしない」の項目は、図5の表の「収集属性」の項目に対応する。ユーザがこの項目を選択する(チェックボックスにチェックを入れる)と収集属性は「no」に設定され、この項目を選択しなかった場合(チェックボックスにチェックを入れない)は、収集属性は「yes」に設定される。「通知アドレス」の項目に入力される情報は、配信先情報として受け付けられる。また、「メール通知する」の項目は、図5の表の「操作通知属性」の項目に対応する。ユーザがこの項目を選択すると操作通知属性は「yes」に設定され、この項目を選択しない場合、操作通知属性は「no」に設定される。
ここでは、図7の例の表示画面において、userAは、コメントの項目には入力を行なわず、通知アドレスの項目に「sss-all@fujixerox.co.jp」と入力し、「メール通知する」の項目を選択したとする。すると、配信関連情報取得部230は、配信先情報が「sss-all@fujixerox.co.jp」であり、操作通知属性が「yes」であり、コメントの項目及び収集属性の項目の値が空である配信関連情報を文書操作部200に渡す。文書操作部200は、配信関連情報取得部230から受け取った配信関連情報と、ID付き文書"Doc1"と、を関連付けて文書管理サーバ10へ送信する。これに応じ、文書管理サーバ10は、そのID付き文書"Doc1"中の文書内容を文書DB100へ、メタ情報を派生関係DB110にそれぞれ登録する。さらに、ID付き文書"Doc1"とともに受信した配信関連情報を派生関係DB110に登録する。また、文書管理サーバ10は、受信した配信関連情報に従ってID付き文書"Doc1"について情報配信処理を行う。この情報配信処理の詳細については後述する。なお、以下では、識別のために、登録された文書内容を"Content1"で表すことにする。その後、userAは、登録したID付き文書を他のユーザuserB及びuserCに配布する。この配布は、例えば、電子メールにそのID付き文書を添付して各ユーザに送信することにより、行うことができる。
その後、userBが自分のクライアント端末20の文書操作部200によってID付き文書"Doc1"に対して編集を加え、操作メニュー上で「更新版として登録」を指示すると、クライアント端末20は、管理ID312の値が"Doc2"、親ID314の値が"Doc1"、操作種別の値が「更新」であるID付き文書"Doc2"を生成する。さらに、文書操作部200は、配信関連情報取得部230に対して、ID付き文書"Doc2"についての配信関連情報の取得を依頼する。この依頼に応じて配信関連情報取得部230は、例えば、図8の表示画面を表示装置に表示させて、userBによる配信関連情報の入力を受け付ける。
図8を参照し、「コメント」、「コメントを収集対象にしない」、及び「メール通知する」の各項目の役割は、図7の例と同様である。図8の例の表示画面の「通知アドレス」の下位項目である「以前の設定を使う」が選択されると、この更新操作に対応するID付き文書に関して文書管理サーバ10が行う情報配信処理の配信先情報として、このID付き文書の派生元の文書のいずれかに設定された配信先情報が用いられる。「通知アドレス」の項目において、ユーザが「以前の設定を使う」の下位項目を選択せずに、電子メールアドレスなどを新たに入力した場合、その新たに入力された情報がこのID付き文書の配信先情報となる。
以上のように、配信関連情報取得部230は、文書操作部200からID付き文書300について配信関連情報の取得依頼を受けた場合、そのID付き文書300を生成した操作の種別に応じて異なる態様の表示画面を表示させて配信関連情報の入力を受け付けることができる。なお、この例では、文書操作部200は、「登録」又は「更新」操作が文書に対して実行された場合にのみ配信関連情報取得部230に対して配信関連情報の取得を依頼するものとする。
ID付き文書"Doc2"に関し、図8の表示画面において、userBは、コメントの項目に「3章を更新しました。確認をお願いします。」という文章を入力し、「コメントを収集対象にしない」の項目を選択し、さらに、「メール通知する」の項目を選択するとともに「通知アドレス」として「team1@fujixerox.co.jp」を入力したとする。配信関連情報取得部230は、この入力内容に対応する配信関連情報を文書操作部200に渡し、この配信関連情報とID付き文書"Doc2"とが関連付けられて文書管理サーバ10に送られて登録される。userBが加えた編集により、文書内容320は"Content1"から"Content2"に変化している。文書管理サーバ10の派生関係DB110には、管理ID"Doc2"のレコードが登録される。また、文書管理サーバ10は、ID付き文書300について、その配信関連情報に従って情報配信処理を行う。
なお、この操作の前にuserBのクライアント端末20内にあったID付き文書"Doc1"は、この操作に伴い、文書操作部200によりID付き文書"Doc2"に置き換えられる。この置き換え処理では、派生関係組込部204は、元のID付き文書"Doc1"のうち、メタ情報310の管理ID312を新たに発行したID"Doc2"へ変更するとともに、元の文書"Doc1"の管理ID"Doc1"を親ID314の値にセットする。また、派生関係組込部204は、ログ情報316中の操作種別の値を今回の操作の種別である「更新」に変更し、操作時刻の値をその更新の日時に変更し、操作者の値をuserBに変更する。また、編集により文書内容が変化するため、文書操作部200は、元のID付き文書"Doc1"の文書内容320を"Content1"から"Content2"に置き換える。
このようにID付き文書"Doc1"に対する操作が実行されると、操作後のID付き文書"Doc2"に置き換えられる。したがって、その置き換えの後は、ID付き文書"Doc1"自体はそのクライアント端末20には存在せず、その代わりにID付き文書"Doc2"が存在することとなる。
その後、userBは、電子メールなどによってID付き文書"Doc2"をuserDに配布する。
次に、userAから配布されたID付き文書"Doc1"に対して、userCのクライアント端末20の文書操作部200によって、文書をコピーする「複製」操作が行なわれる。userCのクライアント端末20は、親IDが"Doc1"であり、操作種別の値が「複製」である新たなID付き文書"Doc3"を生成する。この例では、「登録」又は「更新」以外の操作については配信関連情報の取得は行なわれないので、ID付き文書"Doc3"は、配信関連情報を伴わずに文書管理サーバ10に送信され、登録される。ID付き文書"Doc3"は、配信関連情報を伴わないので、文書管理サーバ10において、ID付き文書"Doc3"に関する情報配信処理は行われない。userCのクライアント端末20のID付き文書"Doc1"は、このID付き文書"Doc3"に置き換えられる。なお、「複製」操作では文書内容は変更されないので、ID付き文書"Doc3"の文書内容320は、複製前のID付き文書"Doc1"と同じ"Content1"のままである。
次に、userDが自己のクライアント端末20の文書操作部200によって、userBから配布されたID付き文書"Doc2"に対して「更新」操作を行なう。この操作に応じて、ID付き文書"Doc2"の文書内容"Content2"と異なる文書内容"Content3"を含み、親IDが"Doc2"、操作種別が「更新」である新たなID付き文書"Doc4"が生成される。また、文書操作部200の依頼により、ID付き文書"Doc4"について配信関連情報取得部230は、図8の例の表示画面を表示させて、配信関連情報の入力を受け付ける。このとき、図8の表示画面において、userDは、コメントの項目に「図4は図8と同じ形式にしてください。」と入力し、「コメントを収集対象としない」の項目を選択しなかったとする。また、userDは、「メール通知する」の項目を選択するとともに、「通知アドレス」の下位項目「以前の設定を使う」を選択したとする。この入力に対応する配信関連情報と、ID付き文書"Doc4"と、が関連付けられて文書管理サーバ10に送られて登録され、ID付き文書"Doc4"について情報配信処理が行われる。また、更新前のID付き文書"Doc2"は、クライアント端末20において、更新後のID付き文書"Doc4"と置き換えられる。
その後、userDは、ID付き文書"Doc4"を電子メールなどによってuserE及びuserFに配布する。
次に、userEが自己のクライアント端末20において、userDから配布されたID付き文書"Doc4"を指定して、ID付き文書"Doc4"に関する情報の配信を指示する。図9に、このような配信指示を受け付けるための操作メニューの表示画面の例を示す。図9を参照し、例えば、ユーザがID付き文書"Doc4"を表すアイコンをマウスなどの入力装置によって指定すると、操作メニュー600のように操作の選択肢が表示される。操作メニュー600において、「メール送信」が情報の配信に対応するメニューであるとする。図9の例で、ユーザが操作メニュー600の「メール送信」を選択すると、配信指示部220は、配信関連情報取得部230に対し、ID付き文書"Doc4"についての配信関連情報の取得を依頼する。この依頼に応じて、配信関連情報取得部230は、例えば、図10のような表示画面を表示させて配信関連情報のユーザ入力を受け付ける。
図10を参照し、「コメント」及び「コメントを収集対象にしない」の各項目の役割は、図7及び図8を参照して説明した例と同様である。「送信アドレス」の項目では、図8の例の「通知アドレス」の項目と同様、対象のID付き文書の派生元の文書のいずれかについて設定された配信先情報を用いることを選択する(「以前の設定を使う」)か、あるいは、電子メールアドレスなどを配信先情報として新たに入力することが可能である。なお、図10の表示画面は、対象のID付き文書に関する情報を含む電子メールの送信を指示する配信指示が行なわれる場合に表示されるものであるので、図7及び図8の例のような「メール通知する」の項目(メール送信の有無を選択する項目)は表示されない。
本例では、userEは、図10の例の表示画面において、コメントの項目に「○○という用語は使わず、××に統一してください。」と入力し、「コメントを収集対象にしない」を選択せず、送信アドレスの項目において「以前の設定を使う」を選択したとする。配信関連情報取得部230は、この入力に対応する配信関連情報を配信指示部220に渡す。また、配信指示部220は、文書操作部200に対して、ユーザによって指定されたID付き文書"Doc4"を指定文書とする配信指示に対応する新たなID付き文書の生成を依頼する。この依頼に応じて、文書操作部200は、指定文書の管理ID"Doc4"を親IDとし、操作種別を「メール」とする新たなID付き文書"Doc5"を生成し、配信指示部220に対して出力する。なお、この配信指示によっては、文書内容は変更されないので、ID付き文書"Doc5"の文書内容は、配信指示前の文書"Doc4"と同じ"Content3"である。配信指示部220は、このID付き文書"Doc5"と、配信関連情報取得部230が取得した配信関連情報と、を含む配信指示を文書管理サーバ10へ送信する。文書管理サーバ10はこの配信指示に従って情報配信処理を行なう。配信指示に応じた情報配信処理の詳細については後述する。配信指示に含まれるID付き文書"Doc5"は、文書操作部200による操作の結果生成され、登録処理部210によって文書管理サーバ10に登録されるID付き文書と同様に、文書管理サーバ10の派生関係DB110に登録される。
その後、さらに、userFが自己のクライアント端末20において、userDから配布されたID付き文書"Doc4"を指定して情報の配信を指示する。ID付き文書"Doc5"に関する上述の処理と同様に、配信関連情報取得部230によって図10の例の表示画面が表示されて配信関連情報の入力が受け付けられ、文書操作部200において、親IDが"Doc4"、操作種別が「メール」である新たなID付き文書"Doc6"が生成されて配信指示部220に渡される。ID付き文書"Doc6"の文書内容は、"Doc4"と同じ"Content3"である。そして、配信指示部220は、配信関連情報取得部230において受け付けられた配信関連情報と、ID付き文書"Doc6"と、を含む配信指示を文書管理サーバ10に対して行う。文書管理サーバ10では、この配信指示に従った情報配信処理が行われ、ID付き文書"Doc6"に対応するレコードが派生関係DB110に登録される。
図5及び図6は、この時点での派生関係DB110内の、"Doc1"から派生する文書あるいは操作の様子を示している。
以上、図5に例示する派生関係DB110の内容の一部を参照し、本実施形態の文書管理システムにおける文書に対する操作の情報の登録の様子について説明した。
図4の説明に戻り、要求処理部140は、クライアント端末20からの管理IDを含んだサービス要求に応じて、派生関係DB110を用いたサービスを提供する。要求処理部140が提供するサービスとしては、例えば、サービス要求中の管理IDに対応する文書の最新版を検索するサービスがある。また別の例として、サービス要求中の管理IDに対応する始祖(根)の文書又はその始祖についてのログ情報を提供するサービスを挙げることができる。また、別の例として、その管理IDの来歴、すなわち始祖からその管理IDまでに文書が経てきた操作の履歴(例えば誰がいつどんな操作をしたのかを示す情報のリスト)を提供するサービスもある。また、派生関係DB110に登録された属性項目についての検索条件の指定を受け付け、その検索条件を満足するID付き文書のリストを提供するサービスもある。このサービスに付随して、要求処理部140は、そのリストの中からユーザの所望するID付き文書の選択を受け付け、選択されたID付き文書を提供してもよい。なお、上述の最新版を検索するサービスは、「操作日時が最新である」という検索条件についての検索結果を提供するサービスと捉えることもできる。また、別の例として、派生関係DB110に基づきID付き文書群の派生関係を表す木構造の表示画面を提供し、その表示画面上でユーザの所望するID付き文書の選択を受け付け、選択されたID付き文書を提供するサービスもある。
サービス要求は、クライアント端末20に保持されたID付き文書に基づき発せられる。例えば、ユーザがクライアント端末20の文書操作部200によりID付き文書を開いた場合に、文書操作部200が、派生関係を用いたサービスのメニューを提供し、そのメニューの中からユーザが所望するサービスの指定を受け付ける。また、例えば、図9に例示する操作メニュー600のように、ユーザが表示画面上でID付き文書を指定した場合に派生関係を用いたサービスのメニューを提供してもよい。そして、そのID付き文書の管理IDと指定されたサービスを示すコードとを含むサービス要求を文書管理サーバ10の要求処理部140に送信する。このとき、ユーザ識別情報や操作日時などの属性項目についての検索条件を指定するユーザインタフェース画面を提供し、この画面を介して入力された検索条件を併せて要求処理部140に送信してもよい。また、管理IDと、サービスを示すコード、検索条件以外に、指示を行ったユーザの識別情報や、ユーザの入力した認証情報などといった他の情報を、クライアント端末20から要求処理部140に送信するようにしてもよい。
要求処理部140は、クライアント端末20からサービス要求を受けた場合、そのサービス要求中に指定された管理IDを起点に、派生関係DB110に登録された管理IDと親IDとの派生関係が構成する木を走査(トラバース)し、その走査の結果得られた情報を用いて、ユーザから要求されたサービスを実行する。
クライアント端末20の配信指示部220による上述の配信指示は、サービス要求の一種であり、要求処理部140において受信される。要求処理部140は、配信指示を受信すると、配信指示中のID付き文書及び配信関連情報を配信処理部150に渡し、配信処理の実行開始を指示する。
配信指示以外に上記で例示したサービス要求についても、配信指示と同様に、ユーザによるサービスの指定を一つの「操作」と捉え、その「操作」に対して新たに管理IDを付与してもよい。この場合、例えば、指定されたサービスのコードを操作種別として含み、指定の際に用いられた元のID付き文書の管理IDを親IDとして含んだID付き文書を生成し、このID付き文書をサービス要求として文書管理サーバ10に送る。この場合、要求処理部140は、受け取ったID付き文書内の操作種別の情報に基づき提供すべきサービスを判定し、同じくID付き文書内の親IDを、派生関係を遡る処理の起点とする。
また、本実施形態では、要求処理部140は、サービス要求中の管理IDを起点に派生関係の木構造を走査して得られる文書に関連付けられた文書関連情報を収集して提供するサービスを行う。このサービスの提供のために文書関連情報を収集する処理を行うのが文書関連情報取得部142である。文書関連情報取得部142は、文書関連情報の収集を要求するサービス要求をクライアント端末20から受けた場合に、派生関係DB110を参照し、サービス要求中の管理IDを起点に派生関係の木構造を走査して得られる文書の文書関連情報を取得する。要求処理部140は、文書関連情報取得部142が取得した文書関連情報を要求元のクライアント端末20に対して提供する。
配信処理部150は、文書に関する情報の配信を行なう。配信処理部150は、例えば、要求処理部140を介してクライアント端末20からの配信指示を受けると、配信指示に含まれるID付き文書のメタ情報を参照し、そのID付き文書の親IDを取得する。この親IDに対応する文書が、ユーザによって指定されたID付き文書(指定文書)であり、配信処理部150は、この指定文書に関する情報を配信する処理を行なう。また例えば、配信処理部150は、文書登録部130が配信関連情報を伴うID付き文書300をクライアント端末20から受信した場合に、そのID付き文書300及び配信関連情報を文書登録部130から取得し、取得した配信関連情報に従って、そのID付き文書300に関して情報配信処理を行う。配信処理部150は、配信先情報取得部152、情報配信部154、及び配信履歴登録部156を備える。
配信先情報取得部152は、派生関係DB110を参照し、情報配信処理の対象のID付き文書300について配信先情報を取得する。情報配信部154は、配信先情報取得部152が取得した配信先情報が表す配信先に対して、処理対象のID付き文書300に関する情報を送信する。
本実施形態では、配信処理部150は、文書登録部130から取得したID付き文書300に関する配信処理と、要求処理部140から取得した配信指示において特定される指定文書に関する配信処理と、の2種類の配信処理を実行する。前者の配信処理は、ID付き文書300が文書管理サーバ10に登録される際に行われるものであり、文書に対してクライアント端末20において何らかの操作が実行された場合に、その操作についての情報を配信するものである。後者の配信処理は、文書管理サーバ10にすでに登録されているID付き文書のうちの1つを指定文書として、指定文書に関する情報を配信することを指示された場合に行われるものである。配信処理部150の配信履歴登録部156は、後者の配信処理を行った場合に、要求処理部140が受信した配信指示に含まれるID付き文書と、その配信関連情報と、を派生関係DB110に登録する処理を行う。
図5の例の表において、管理ID"Doc5"及び"Doc6"の各レコードは、配信履歴登録部156が登録したものである。
以下、本実施形態における配信処理部150による処理について詳細に説明する。
まず、上述の前者の配信処理について説明する。配信処理部150は、配信関連情報と関連付けられたID付き文書300を文書登録部130から受け取った場合に、受け取った配信関連情報及びID付き文書300を処理対象として、図11に例示する手順の処理を開始する。例えば、図5の表の"Doc1"、"Doc2"、及び"Doc4"の各管理IDに対応するID付き文書は、それぞれの配信関連情報と関連付けられてクライアント端末20から文書管理サーバ10に送られる。よって、これらの各ID付き文書"Doc1"、"Doc2"、及び"Doc4"をクライアント端末20から文書管理サーバ10が受信したときには、各ID付き文書とその配信関連情報とを処理対象として、配信処理部150による図11の例の処理が実行される。一方、図5の表の管理ID"Doc3"に対応するID付き文書は、配信関連情報を伴わずにクライアント端末20から文書管理サーバ10に送られる。よって、ID付き文書"Doc3"を文書管理サーバ10が受信したときには、配信処理部150は図11の例の情報配信処理を行わない。
図11を参照し、まず、ステップS10で、配信処理部150は、処理対象の配信関連情報中の操作通知属性の値が「yes」であるか否かを判定する。操作通知属性の値が「yes」であれば処理はステップS12へ進み、値が「yes」でなければ、ステップS12以下の処理を実行することなく、処理を終了する。
ステップS12では、配信処理部150は、配信関連情報中に電子メールアドレスなどの配信先情報が含まれているか否かを判定する。この配信先情報は、処理対象のID付き文書300がクライアント端末20において生成された操作の際に、例えば、図7又は図8の表示画面において「通知アドレス」の項目にユーザが入力した電子メールアドレスである。例えば、図8の表示画面において「以前の設定を使う」の項目が選択された場合など、処理対象のID付き文書300について、クライアント端末20においてユーザが配信先情報を設定しなかった場合、処理対象のID付き文書300の配信関連情報は、配信先情報を含まない。
ステップS12において、配信関連情報中に配信先情報が含まれていると判定された場合、次にステップS14で、配信関連情報中の配信先情報が送信先アドレスとして設定される。例えば、図5の表の管理ID"Doc1"に対応するID付き文書が処理対象である場合、配信先情報として「sss-all@fujixerox.co.jp」という電子メールアドレスが設定されているので、ステップS12の判定の結果、配信処理部150は、ステップS14で当該電子メールアドレスを送信先アドレスとして設定する。
ステップS12において、配信関連情報中に配信先情報が含まれていないと判定された場合、処理はステップS16に進む。例えば、図5の表の管理ID"Doc4"に対応するID付き文書が処理対象である場合、配信関連情報中の配信先情報は空であるので、ステップS12の判定の結果、ステップS16に進む。
ステップS16で、配信処理部150は、処理対象のID付き文書の管理IDを注目IDとし、配信先情報取得部152による送信先アドレス取得処理(ステップS18)を行なう。
図12に、送信先アドレス取得処理の手順の例を示す。図11のステップS18が開始されると、図12に例示する手順の処理が開始される。図12に例示する手順の処理では、配信先情報取得部152は、派生関係DB110を参照し、処理対象のID付き文書を起点に派生関係を先祖方向に遡って得られる文書に関連付けられた配信先情報を取得する。
図12を参照し、まずステップS180で、配信先情報取得部152は、注目IDに対応するレコードを派生関係DB110から取得する。
次にステップS181で、注目IDのレコードの配信先情報の項目に値が設定されているか否かを判定する。配信先情報の項目に電子メールアドレスなどが設定されていれば、ステップS181からステップS182に進み、この配信先情報の項目の値を送信先アドレスとする。
注目IDのレコードの配信先情報の項目に値が設定されていない場合、ステップS181からステップS183へ進む。
ステップS183では、注目IDのレコードの親IDの項目の値が「Null」であるか否かを判定する。親IDの項目の値が「Null」であるということは、派生関係DB110内の派生関係群が表す木構造において、注目IDに対応するノードが根ノードであるということである。注目IDに対応するノードが根ノードでない場合、親IDの項目の値は「Null」ではないため、ステップS183からステップS184へ進む。
ステップS184で、現在の注目IDの親IDを新たな注目IDとし、その後、ステップS180以下の処理を繰り返す。
ステップS180,S181,S183,S184を含む処理ループにより、配信処理部150の処理対象のID付き文書を起点として、派生関係の木構造を根ノードまで1ノードずつ遡って、配信先情報の設定されているノード(ID付き文書)を検索し、最初に現れたそのようなID付き文書の配信先情報を、送信先アドレスとして取得する(ステップS182)。例えば、図5の表の管理ID"Doc4"に対応するID付き文書が処理対象である場合、"Doc4"から派生関係の木構造(図6参照)を遡り、"Doc4"の親である"Doc2"に配信先情報「team1@fujixerox.co.jp」が設定されているので、この配信先情報が送信先アドレスとして取得される。
ステップS183で、注目IDに対応するノードが、派生関係の木構造において根ノードに該当する場合、親IDの項目の値は「Null」であるため、判定の結果、ステップS185へ進む。ステップS185の処理が実行されるのは、派生関係の木構造を処理対象のID付き文書を起点に根ノードまで遡った経路上に含まれるノードのいずれに対応するID付き文書についても、配信先情報が設定されていない場合である。この場合、配信先情報を取得できないので、配信先情報取得部152は、送信先アドレスを「Null」に設定する(ステップS185)。
ステップS182又はステップS185の後、図12に例示する送信先アドレス取得処理は終了し、処理は、図11のステップS20へ進む。
再び図11を参照し、ステップS20で、配信処理部150は、送信先アドレスの値が「Null」であるか否かを判定する。送信先アドレス取得処理(ステップS18)において、派生関係DB110から配信先情報が取得されて送信先アドレスに設定(図12のステップS182)されていれば、送信先アドレスの値は「Null」ではないので、ステップS20の判定の結果、ステップS22に進む。送信先アドレス取得処理において、送信先アドレスの値が「Null」に設定(図12のステップS185)されていれば、ステップS20の判定の結果、ステップS24に進む。
ステップS22で、配信処理部150の情報配信部154は、送信先アドレスに設定されたアドレスに対して、処理対象のID付き文書に関する情報を含む電子メールを送信する。ここで電子メール送信される情報は、例えば、処理対象のID付き文書のメタ情報を含む。このような電子メールにより、処理対象のID付き文書の操作に関するログ情報(操作種別、操作者、及び操作日時など)が配信先のユーザに対して通知される。また例えば、処理対象の配信関連情報中に、処理対象のID付き文書についてユーザが付与したコメントが含まれる場合、このコメントをさらに含む電子メールを送信してもよい。ステップS22の後、配信処理部150は処理を終了する。
送信先アドレスが「Null」に設定されていた場合に行われるステップS24では、エラー処理が行われる。このエラー処理では、例えば、配信処理部150は、処理対象のID付き文書300の送信元のクライアント端末20の表示装置に、配信先のアドレスを取得できなかった旨を表すメッセージを表示させる。また、例えば、クライアント端末20のユーザに配信先情報の入力を促す情報を表示させ、ユーザが入力した配信先情報を送信先アドレスとして設定し、この送信先アドレスに対して、ステップS22と同様に、ログ情報を送信してもよい。エラー処理の後、配信処理部150は処理を終了する。
なお、例えば、派生関係の木構造の根ノードに該当するID付き文書については必ず配信先情報を設定するシステムとしておけば、送信先アドレスが「Null」に設定される(図12のステップS185)ことはなく、よって、図11のエラー処理(ステップS24)が実行されることはない。図12のステップS180,S181,S183,S184を含む処理ループにおいて、根ノードが注目IDとなった時にステップS181の判定が実行されると、必ずYESと判定されてステップS182に進み、根ノードに設定された配信先情報が送信先アドレスとして取得されるからである。例えば、クライアント端末20において親ID「Null」のID付き文書が生成される「(新規)登録」操作を実行する場合は必ず配信先情報を設定する構成としておけば、送信先アドレスが「Null」となることはないので、図11のエラー処理は実行されない。このような場合、図11の例の手順の処理において、ステップS20の判定及びステップS24のエラー処理を省略してもよい。
以上、文書登録部130がクライアント端末20から操作結果のID付き文書300及び配信関連情報を受信した場合に、そのID付き文書300に関して配信処理部150が行う情報配信処理について説明した。以下、要求処理部140がクライアント端末20から配信指示を受けた場合の配信処理部150の情報配信処理について説明する。
配信処理部150は、配信指示を表す操作種別を含むID付き文書300と、その配信関連情報と、を含む配信指示を要求処理部140から受け取った場合に、図13に例示する手順の情報配信処理を開始する。例えば、図5の表の文書の履歴において、"Doc5"及び"Doc6"の各管理IDに対応するID付き文書を含む配信指示を要求処理部140がクライアント端末20から受信し、受信した配信指示を配信処理部150に渡した場合に、配信処理部150は、図13に例示する手順の処理を開始する。図13では、図11の例と同様の処理ステップには図11と同様の符号を付している。
図13を参照し、まずステップS30で、配信処理部150は、要求処理部140から受け取った配信指示に含まれるID付き文書300のメタ情報310から親ID314を抽出し、抽出した親IDを指定文書の管理ID(以下、「指定ID」と呼ぶ)とする。
次に、ステップS12で、配信処理部150は、配信指示に含まれる配信関連情報中に電子メールアドレスなどの配信先情報が含まれているか否かを判定する。この配信先情報は、例えば、クライアント端末20においてユーザが指定文書を選択したときに表示される図10の例の表示画面において「送信アドレス」の項目にユーザが入力した電子メールアドレスである。例えば、図10の表示画面において「以前の設定を使う」の項目が選択された場合など、配信指示に際してユーザが配信先情報を設定しなかった場合、配信指示中の配信関連情報は、配信先情報を含まない。
ステップS12において、配信関連情報中に配信先情報が含まれていると判定された場合、処理はステップS14に進み、ステップS14で、配信関連情報中の配信先情報が送信先アドレスとして設定される。ステップS14の後、処理はステップS34に進む。
ステップS12において、配信関連情報中に配信先情報が含まれていないと判定された場合、処理はステップS32に進む。例えば、図5の表の管理ID"Doc5"が指定IDである場合、配信先情報は設定されていないので、ステップS12からステップS32に進む。
ステップS32では、配信処理部150は、指定IDを注目IDとし、配信先情報取得部152による送信先アドレス取得処理(ステップS18)を行なう。
この送信先アドレス取得処理では、図12を参照して説明した上述の処理と同様の処理が行われる。すなわち、指定IDを起点として、派生関係DB110内の派生関係の木構造を根ノードまで遡った経路上に含まれるノードのうち、配信先情報の設定されているID付き文書(ノード)であって指定IDに最も近いID付き文書の配信先情報を送信先アドレスとして取得する。指定IDから根ノードまでの経路上に、配信先情報の設定されているID付き文書が存在しない場合は、送信先アドレスの値は「Null」に設定される。例えば、図5の表の管理ID"Doc5"が指定IDである場合、派生関係の木構造(図6参照)を遡り、配信先情報が設定されている"Doc2"に到達すると、この"Doc2"の配信先情報が送信先アドレスとして取得される。
送信先アドレス取得処理(ステップS18)の後、配信処理部150は、ステップS20で、送信先アドレスの値が「Null」であるか否かを判定する。送信先アドレスの値が「Null」でない場合、処理はステップS34に進む。
ステップS34で、配信処理部150の情報配信部154は、送信先アドレスに設定されたアドレスに対して、指定IDに対応するID付き文書に関する情報を含む電子メールを送信する。ここで電子メール送信される情報は、配信指示に含まれる配信関連情報中の文書関連情報(ユーザが付与したコメントなど)を含む。
次に、ステップS36で、配信処理部150の配信履歴登録部156は、配信指示中のID付き文書の管理IDに対応づけて、配信指示中のID付き文書のメタ情報及び配信指示中の配信関連情報を派生関係DB110に登録する。ステップS36の後、処理は終了する。
ステップS20の判定において、送信先アドレスの値が「Null」であれば、ステップS20からステップS24に進み、図11の例と同様に、エラー処理を行う。なお、このエラー処理において、例えば、ユーザに配信先情報の入力を促し、入力された配信先情報を送信先アドレスとしてステップS34と同様の情報配信処理を行う場合、さらにステップS36と同様の処理により、配信指示中のID付き文書について、エラー処理において入力された配信先情報を含むレコードを派生関係DB110に登録してもよい。
なお、図11を参照して説明した処理と同様に、派生関係の木構造の根ノードについては必ず配信先情報を設定するシステムとしておけば、送信先アドレスの値が「Null」となることはないので、図13のステップS20の判定及びステップS24のエラー処理は省略してもよい。
以上、図13を参照して説明した配信処理部150の処理によると、ID付き文書に対して、登録や更新などの文書操作部200を用いた操作が実行されなくても、ユーザの指示に従ってクライアント端末20が行なう配信指示に応じて、ID付き文書に関する情報の配信が行なわれる。さらに、この情報配信処理によって配信先に対して送信されるコメントなどの文書関連情報は、情報配信処理に対応する管理IDと対応づけられて派生関係DB110に登録される。
なお、以上では、情報配信部154が配信先に対して情報を送信する処理(図11のステップS22、図13のステップS34)の態様の一例として、電子メールの送信を例に取り説明した。しかしながら、情報配信部154が情報を配信する態様は、電子メールの送信に限られない。例えば、ID付き文書のログ情報や、コメントなどの文書関連情報を記載したFAX(ファクシミリ)を送信してもよい。この場合、ユーザは、配信先情報として、電子メールアドレスの代わりに配信先のFAX番号を設定する。
以上で説明した文書登録部130及び配信処理部150の処理により、派生関係DB110内には、図5に例示するような内容のデータが蓄積される。要求処理部140は、派生関係DB110を参照して、クライアント端末20からのサービス要求に応じた処理を行う。
図14は、文書関連情報の収集を要求するサービス要求をクライアント端末20から受けた場合の要求処理部140の処理の手順の例を示す。図14に例示する処理は、要求処理部140が、文書関連情報の収集要求をクライアント端末20から受けたときに開始される。
図14を参照し、まずステップS40で、要求処理部140の文書関連情報取得部142は、サービス要求(文書関連情報収集要求)中の管理IDを注目IDとする。
次に、ステップS42で、文書関連情報取得部142は、派生関係DB110を参照し、注目IDの子IDを検索する。派生関係DB110のうちその注目IDを「親ID」の値として持つレコードの「管理ID」が、注目IDの子IDである。次にステップS44で、注目IDの子IDが検索できたか否かを判定する。子IDがあれば、ステップS46で、文書関連情報取得部142は、それら子IDごとに、図15に示すような子孫探索処理を実行する。ステップS44で、注目IDの子IDがないと判定された場合は、ステップS46の処理を行わずにステップS48に進む。
ステップS46の子孫探索処理が開始されると、図15のステップS461で、文書関連情報取得部142は、当該子IDを注目IDとする。次に、ステップS462で、文書関連情報取得部142は、その注目IDに対応するレコードを派生関係DB110から取得する。
ステップS463では、ステップS462で取得したレコードの収集属性の項目の値が「yes」であるか否かを判定する。収集属性の項目の値が「yes」であれば、処理はステップS464に進み、「yes」でなければ、ステップS464の処理を行わずにステップS465に進む。
ステップS464では、ステップS462で取得したレコードを中間結果リストに入れる。中間結果リストは、要求された文書関連情報収集処理の処理結果を求めるための材料となる情報を蓄積するために構築されるリストである。
ステップS465で、文書関連情報取得部142は、注目IDの子IDを検索し、ステップS466で、子IDが検索できたか否かを判定する。子IDがあれば、文書関連情報取得部142は、それら各子IDについて、それぞれステップS46の子孫探索処理を再帰的に実行する。すべての子IDについての子孫探索処理が終了すると、当該注目IDについての処理が終了する。ステップS466で子IDがないと判定された場合も、当該注目IDについての処理は終了する。
再び図14を参照し、注目IDのすべての子IDについてステップS46の子孫探索処理が終了すると、中間結果リストには、注目IDに対応する文書から派生した文書に対応するレコードであって収集属性の項目の値が「yes」であるレコードが蓄積されていることになる。例えば、注目IDが図5の例の管理ID"Doc2"である場合、中間結果リストには、管理ID"Doc4"及び"Doc5"のレコードが蓄積される。
文書関連情報取得部142は、ステップS48で、中間結果リストに含まれる各レコードから、コメントの項目の値及び操作日時の項目の値を抽出する。
ステップS50では、要求処理部140は、ステップS48で文書関連情報取得部142が抽出した情報を収集結果としてクライアント端末20に返す。ステップS50で、例えば、要求処理部140は、抽出されたコメント及び操作日時を、中間結果リスト中のレコードごとにクライアント端末20の表示装置に一覧表示させてもよい。
図16は、図5の例の管理ID"Doc2"が注目IDである場合に、図14及び図15を参照して説明した処理の結果、クライアント端末20に表示される表示画面の例を示す。図16を参照すると、ID付き文書"Doc2"から派生した文書であって、コメントを収集対象とする設定(収集属性が「yes」)がなされたID付き文書"Doc4"及び"Doc5"それぞれの操作日時及びコメントが表示される。
以上、図14から図16を参照して説明した文書関連情報取得処理では、派生関係DB110内の派生関係が表す木構造において処理対象のID付き文書(サービス要求中の管理IDに対応する文書)の子孫に該当するID付き文書のうち、収集属性が「yes」である文書の文書関連情報を収集してクライアント端末20に提供する。他の例では、収集属性を設定せずに、処理対象のID付き文書の子孫に該当するすべてのID付き文書の文書関連情報を収集してもよい。また、例えば、派生関係の木構造において処理対象のID付き文書が属する木構造と同じ木構造に含まれるID付き文書の文書関連情報を収集してもよい。この場合、例えば、処理対象のID付き文書を起点に木構造を根ノードまで遡り、根ノードを注目IDとして子孫探索処理(図15)を実行する。さらに他の例では、処理対象のID付き文書から木構造の根ノードまでの経路上に含まれるID付き文書の文書関連情報を収集してもよい。
また、例えば、クライアント端末20においてサービス要求を受け付ける際に、処理対象のID付き文書との間にどのような派生関係(子孫、同じ木構造、根ノードまでの経路上など)を有する文書の文書関連情報を取得するかについて、ユーザの選択を受け付けてもよい。この場合、サービス要求には、ユーザが選択した派生関係を表す情報が含まれ、要求処理部140は、処理対象のID付き文書との間にユーザが選択した派生関係を有するID付き文書の文書関連情報を収集してクライアント端末20に提供する。
以上で説明した実施形態によると、指定文書についての配信指示に応じた情報配信処理において配信先に送信されるコメントは、文書に対する更新などの操作の際に文書に付与されるコメントと同様に、各文書の管理IDと対応づけて派生関係DB110に登録される。よって、文書関連情報取得部142による処理では、文書操作部200における文書に対する操作の際に付与されるコメントだけでなく、配信指示部220における配信指示の際にユーザが入力したコメントも取得の対象となる。
以上で説明した実施形態では、クライアント端末20における配信指示は、特定のID付き文書をユーザが明示的に指定する操作を行なった場合に実行される。例えば、表示画面上でID付き文書を表すアイコン(図9参照)を指定するなどの操作をユーザが行なった場合に、配信指示部220は、そのID付き文書を指定文書とする配信指示を行なう。クライアント端末20による配信指示は、他の態様で実現することもできる。例えば、クライアント端末20が文書管理サーバ10の配信処理部150によって配信された電子メールを受信する場合、この電子メールを利用して配信指示を行うことができる。以下、この例の配信指示が行なわれる実施形態について説明する。
図17は、本実施形態におけるクライアント端末20の構成の例を示すブロック図である。図17において、図2と同様の構成要素には同様の符号を付す。図17に例示するクライアント端末20は、図2に例示する構成要素に加えて、メッセージ処理部240を備える。メッセージ処理部240は、例えば、一般的なSMTP(Simple Mail Transfer Protocol)メールクライアントアプリケーションなどの、電子メールの送受信を管理するアプリケーションによって実現される。メッセージ処理部240は、メッセージ受信部242及びメッセージ送信部244を備える。メッセージ受信部242は、文書管理サーバ10からの電子メールを受信する。メッセージ送信部244は、文書管理サーバ10に対して電子メールを送信する。本実施形態では、メッセージ送信部244から文書管理サーバ10に対して送信される電子メールが配信指示として機能する。
図18は、本実施形態における文書管理サーバ10の構成の例を示すブロック図である。図18において、図4と同様の構成要素には同様の符号を付す。図18に例示する文書管理サーバ10は、図4に例示する構成要素に加えて、メッセージ受信部170を備える。メッセージ受信部170は、クライアント端末20からの電子メールを受信する。また、図18に例示する文書管理サーバ10の配信処理部150は、図4の例の配信処理部150が備える構成要素に加えて、配信履歴生成部158を備える。配信履歴生成部158は、指定文書に関する配信処理に対応する操作(文書)の履歴を生成する処理を行う。配信履歴生成部158は、指定文書に関する情報配信処理の結果の文書に対して新たな管理IDを付与し、この新たな管理IDの親IDが指定文書の管理IDであることを示す派生関係の情報を配信履歴登録部156に渡す。配信履歴生成部158による新たな管理IDの割り当ては、クライアント端末20における文書操作部200のID割り当て部202の処理と同様の処理により行われる。配信履歴登録部156は、配信履歴生成部158が付与した新たな管理IDに対応づけて、親IDとしての指定文書の管理IDと、指定文書に関する情報配信処理で用いた配信関連情報と、を派生関係DB110に登録する。
図17及び図18の各例のクライアント端末20及び文書管理サーバ10によっても、図5の例の表と同様の派生関係DB110を構築できる。以下、図5及び図6に例示する文書の履歴を参照し、本実施形態における情報配信に関する処理について説明する。
本実施形態において、クライアント端末20の文書操作部200における操作結果のID付き文書が生成されて文書管理サーバ10に登録されるときの処理は、図2から図6を参照して説明した登録処理と同様である。よって、図5の表の管理ID"Doc1"から"Doc4"までのID付き文書については、上記で説明したとおりの処理により派生関係DB110に登録される。
また、本実施形態において、配信関連情報と関連付けられたID付き文書をクライアント端末20から受信した場合に文書管理サーバ10の配信処理部150が行う処理の手順は、図11及び図12を参照して説明した上述の手順と同様である。ただし、配信処理部150の情報配信部154は、送信先アドレス宛にログ情報を含む電子メールを送信する(図11のステップS22)際に、当該電子メールの返信先として、処理対象のID付き文書の管理IDと文書管理サーバ10を表すアドレスとを含む電子メールアドレスを設定する。これは、電子メールの「Reply−To」フィールドに、返信先の電子メールアドレスを設定することで実現できる。例えば、図5の表の管理ID"Doc4"に対応するID付き文書が配信処理部150の処理対象である場合、図11のステップS22で送信される電子メールに設定される返信先の電子メールアドレスは、例えば、「Doc4@mail.fx-server.fujixerox.co.jp」となる。この返信先の電子メールアドレスにおいて、ローカル部(「@」の左側の文字列)は、処理対象のID付き文書の管理ID"Doc4"を含み、ドメイン部(「@」の右側の文字列)は、ID付き文書"Doc4"を受信した文書管理サーバ10のアドレスを含む。
本例では、ID付き文書"Doc4"を処理対象とする図11及び図12の例の処理の結果、情報配信部154が送信したID付き文書"Doc4"のログ情報を含む電子メール(返信先は「Doc4@mail.fx-server.fujixerox.co.jp」)を、userE及びuserFの各ユーザが自己のクライアント端末20において受信する。そして、userEは、メッセージ処理部240を用いて、文書管理サーバ10からのID付き文書"Doc4"に関する上述の電子メールに対する「返信」操作を行なう。userEは、この「返信」に係る電子メールの本文に、ID付き文書"Doc4"に対するコメントを記入する。また、電子メールの本文に、収集属性を設定する制御情報及び配信先情報を設定する制御情報を記入してもよい。以下に、電子メール本文に記入される制御情報の例を示す。
[例]
collect = yes
address-control = previous
上記の例において、「collect」及び「address-control」の制御情報は、それぞれ、図10の例の表示画面の「コメント」及び「送信アドレス」の各項目に対応する。「collect = yes」は、図10の例の表示画面において「コメントを収集対象にしない」を選択しないことを示す。「address-control = previous」は、図10の例の表示画面において「以前の設定を使う」をユーザが選択した場合と同様の設定を表す。
メッセージ処理部240は、例えば、ユーザが「返信」操作を指示した際に、上記の[例]のとおりの制御情報を予めメール本文に含めておいてよい。ユーザは、設定の変更を望む場合に、この制御情報を書き換えることができる。例えば、「collect = no」と書き換えて収集属性を「no」に設定したり、「address-control = team1@fujixerox.co.jp」などのように、配信先情報として電子メールアドレスを設定したりすることができる。
メッセージ処理部240のメッセージ送信部244は、上述の返信先「Doc4@mail.fx-server.fujixerox.co.jp」宛に、userEが記入したコメントを含み、上記の[例]のとおりの制御情報を含む電子メールを送信する。
クライアント端末20のメッセージ送信部244から送信される上述のような電子メールは、文書管理サーバ10のメッセージ受信部170で受信される。メッセージ受信部170は、宛先の電子メールアドレス(すなわち、上述の返信先)から管理IDを抽出する。例えば、上記の例のように、userEのクライアント端末20から送信される"Doc4"に関する電子メールをメッセージ受信部170が受信した場合、当該電子メールの宛先「Doc4@mail.fx-server.fujixerox.co.jp」のローカル部に含まれる管理ID"Doc4"を抽出する。さらに、電子メールの本文から、収集属性及び配信先に関する上述の制御情報を抽出し、電子メールの本文に含まれる制御情報以外の情報をコメントとして抽出する。メッセージ受信部170は、メッセージ送信部244からの電子メールから抽出した管理ID、制御情報、及びコメントを含む情報を配信指示として配信処理部150に渡す。ここで、制御情報及びコメントが配信関連情報として取り扱われる。
メッセージ受信部170からの配信指示を受けた配信処理部150は、要求処理部140を介してクライアント端末20から配信指示を受けた場合の図13の例の処理の代わりに、図19に例示する手順の処理を実行する。図19では、図13と同様の処理ステップには同様の符号を付す。配信処理部150は、メッセージ受信部170から配信指示を受けた場合に、図19の例の手順の処理を開始する。
図19を参照し、まずステップS60で、配信処理部150は、メッセージ受信部170から受け取った配信指示に含まれる管理ID(本例では、"Doc4")を指定ID(指定文書の管理ID)とする。次に、ステップS62で、配信処理部150の配信履歴生成部158は、指定文書に関する情報配信の結果の文書に対応する新たな管理IDを付与する。本例では、配信履歴生成部158は、指定文書"Doc4"に関する情報配信の結果の文書の管理IDとして"Doc5"を付与する。
ステップS12では、配信指示中の配信関連情報に電子メールアドレスが含まれているか否かを判定する。ここでは、メッセージ受信部170が電子メール本文から抽出した制御情報において、配信先情報として電子メールアドレスが設定されていればステップS12からステップS14に進み、この電子メールアドレスが送信先アドレスとなる。この制御情報において、例えば、上記の[例]の制御情報のとおり「address-control = previous」と設定されている場合など、配信先情報として電子メールアドレスが設定されていない場合は、ステップS12からステップS32に進む。
ステップS32,S18,S20では、図13を参照して説明したステップS32,S18,S20の処理と同様の処理が行われる。ステップS18(図12参照)の処理の結果、派生関係DB110から配信先情報が取得されて送信先アドレスとして設定されると、処理はステップS20からステップS34へ進む。指定IDを"Doc4"とする本例では、ステップS32,S18の処理により、派生関係において"Doc4"の親に該当する"Doc2"の配信先情報「team1@fujixerox.co.jp」が送信先アドレスとして設定される。
ステップS34では、情報配信部154は、送信先アドレスに対して、メッセージ受信部170がクライアント端末20からの電子メール本文から抽出したコメントを含む電子メールを送信する。このとき、送信する電子メールの返信先として、ステップS62で割り当てられた新たな管理ID(本例では、"Doc5")及び文書管理サーバ10のアドレスを含む電子メールアドレスを設定しておく。返信先は、例えば、「Doc5@mail.fx-server.fujixerox.co.jp」と設定される。この電子メールを受け取ったユーザが後に自己のクライアント端末20において上述の「返信」操作を行なうと、"Doc5"を指定IDとする図19の例の処理を配信処理部150は行う。
ステップS34の後、ステップS64で、配信履歴登録部156は、配信履歴生成部158がステップS62で割り当てた新たな管理IDに対応するレコードを派生関係DB110に登録する。本例では、配信履歴登録部156は、ステップS60で配信履歴生成部158が付与した管理ID"Doc5"に対応するレコードについて、当該レコードの親IDの項目に指定文書の管理ID"Doc4"を登録し、操作種別を「メール(配信指示による情報配信を表す)」とする。管理ID"Doc5"のレコードの「操作者」の項目には、当該配信指示に対応する電子メールを送信したクライアント端末20のユーザであるuserEが登録され、「操作日時」の項目には、当該電子メールをメッセージ受信部170が受信した日時が登録される。ステップS64の後、処理は終了する。
なお、ステップS20の判定で送信先アドレスの値が「Null」であると判定されると、図13の例で説明した処理と同様のエラー処理(ステップS24)が行なわれ、その後、処理は終了する。
以上、ID付き文書"Doc4"の更新操作に関する情報配信により受信された電子メールに対するuserEの「返信」操作を具体例として、本実施形態の配信指示に伴う情報配信処理について説明した。userEの「返信」操作の後、userFが同様の「返信」操作を行なうと、この返信に係る電子メールについて、文書管理サーバ10のメッセージ受信部170及び配信処理部150は上述と同様の処理を実行し、新たに付与された管理ID"Doc6"に対応するレコードが派生関係DB110に登録される。
以上、図17から図19を参照して説明した実施形態によると、文書管理サーバ10による情報配信において受信された電子メールに対してユーザが「返信」操作を行なうことで、図13を参照して説明した情報配信処理と同様の処理が実現される。
以上で説明した各種の実施形態の処理によると、クライアント端末20においてID付き文書に対して例えば更新などの操作を行なう際に、配信関連情報取得部230の処理により、当該ID付き文書の派生元の文書について設定された配信先情報と異なる配信先情報を設定することができる。このため、あるID付き文書について、そのID付き文書の派生元と異なる配信先に対して情報配信を行うことができる。例えば、文書の新規登録の際には、当該文書に対してアクセス権を有する全ユーザに対して当該文書が新規登録された旨を通知し、文書の更新の際には、当該文書の編集に携わっているユーザのみに文書の更新を通知することが望まれる場合がある。このような場合に、上述の各種の実施形態によると、例えば、ID付き文書の新規登録の際には、当該ID付き文書に対するアクセス権を有する全ユーザの電子メールアドレスを含むメーリングリストのアドレスを配信先情報として設定し、その後、当該ID付き文書から派生したID付き文書について更新操作を行なうときに、編集に携わっているユーザの電子メールアドレスのみを含むメーリングリストのアドレスを配信先情報として設定することで、各操作に応じた配信先に情報配信することができる。
また、以上で説明した各種の実施形態の処理によると、情報配信を行なう対象のID付き文書について配信先が設定されていなくても、そのID付き文書を起点に派生関係DB110内の派生関係が表す木構造を走査して得られる配信先情報を用いて、配信先を求めることができる。
以上に例示した例では、管理IDの発行は主に各クライアント端末20で行われていたが、この代わりに文書管理サーバ10がすべての管理IDを発行してもよい。この場合、クライアント端末20は、ID付き文書に対して操作を行った場合、操作前のID付き文書内の管理IDを親ID314として含み、更にその操作についてのログ情報316と操作後の文書内容320とを含み、管理ID312は空欄の文書データを生成し、文書管理サーバ10に送る。文書管理サーバ10は、受け取った文書データに対して新たな管理IDを付与し、この管理IDとその文書データとに含まれる情報を、文書DB100及び派生関係DB110に登録する。また、文書管理サーバ10は、付与した管理IDを当該文書データにセットすることによりID付き文書を生成し、これをクライアント端末20に返す。クライアント端末20は、操作前のID付き文書を、受け取ったID付き文書に置き換える。このように、文書管理サーバ10が管理IDを付与する構成でも、上述の各例の処理は同様に実行できる。
また以上の例では、管理ID312、親ID314、ログ情報316、及び文書内容320を含んだID付き文書300がクライアント端末20に保存されたが、この代わりに、クライアント端末20は管理IDしか持たず、その他の情報は文書管理サーバ10に保存されるようにしてもよい。この場合、クライアント端末20で文書を操作する場合、その文書に対応する管理IDを文書管理サーバ10に送り、文書管理サーバ10からその文書を取得する。また、別の例として、クライアント端末20が保持するID付き文書300の中には管理ID312と文書内容320とが含まれ、親ID314及びログ情報316は含まれないようにしても良い。この場合、サーバがその管理ID312に対応づけて親ID314とログ情報316を持つようにすれば良い。
ここで、文書管理サーバ10が管理IDを付与する場合は、その取得の操作に対応する管理IDを文書管理サーバ10が生成し、その管理IDと文書とを対応づけてクライアント端末20に提供するとともに、その取得操作についてのログ情報(操作時刻や操作者など)と、元の管理ID(すなわち親ID)と、付与した管理IDとを派生関係DB110に記録する。クライアント端末20は、文書管理サーバ10に送信した管理IDを、受け取った管理IDに置き換えるとともに、受け取った文書を開く。ユーザは、開かれた文書に対して閲覧や編集などの操作を行う。クライアント端末20は、文書に対する操作が完了すると、操作後の文書を管理ID及び当該操作についてのログ情報とともに文書管理サーバ10に送る。文書管理サーバ10は、受け取った文書に対して新たな管理IDを付与して派生関係DB110に登録し、受け取った管理IDを親IDとして派生関係DB110に登録する。また、受け取ったログ情報及び操作後の文書を、派生関係DB110及び文書DB100に登録する。そして、文書管理サーバ10は、新たに付与した管理IDをクライアント端末20に返す。クライアント端末20は、元の管理IDを受け取った管理IDで置き換える。以上のような処理により、操作間の派生関係が文書管理サーバ10に蓄積されることになる。
一方、クライアント端末20が管理IDを付与する構成の場合は、文書管理サーバ10は、クライアント端末20から受け取った管理IDに対応する文書をクライアントに返せばよい。クライアント端末20は受け取った文書を開き、ユーザがその文書を操作する。操作の完了後、クライアント端末20はその操作結果の文書に対して新たな管理IDを付与し、この管理IDを含んだ前述のID付き文書と同様の情報を、文書管理サーバ10に送る。そして、クライアント端末20は、そのID付き文書のうち管理IDのみを保存し、その他の情報を削除する。
以上に例示したシステムにおける文書管理サーバ10は、典型的には、汎用のコンピュータにて上述の文書管理サーバの各部の機能又は処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、図20に示すように、CPU(中央演算装置)40、メモリ(一次記憶)42、各種I/O(入出力)インタフェース44等がバス46を介して接続された回路構成を有する。また、そのバス46に対し、例えばI/Oインタフェース44経由で、ハードディスクドライブ(HDD)48やCDやDVD、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブ50が接続される。このようなドライブ48又は50は、メモリに対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク経由で、ハードディスクドライブ48等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されCPUにより実行されることにより、実施形態の処理が実現される。クライアント端末20についても同様である。
10 文書管理サーバ、20 クライアント端末、30 ネットワーク、44 I/Oインタフェース、46 バス、48 HDD、50 ディスクドライブ、100 文書DB、110 派生関係DB、130 文書登録部、132 派生関係登録部、140 要求処理部、142 文書関連情報取得部、150 配信処理部、152 配信先情報取得部、154 情報配信部、156 配信履歴登録部、158 配信履歴生成部、170 メッセージ受信部、200 文書操作部、202 ID割り当て部、204 派生関係組込部、210 登録処理部、220 配信指示部、230 配信関連情報取得部、240 メッセージ処理部、242 メッセージ受信部、244 メッセージ送信部、300 ID付き文書、310 メタ情報、320 文書内容。