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