以下、本発明を、実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。
図1は、本実施形態の電子ドキュメント管理システム10を示す。電子ドキュメント管理システム10は、複数のクライアント装置が共有する電子ドキュメントを保管するファイルサーバ12と、ドキュメント管理サーバ14とを含んで構成されている。電子ドキュメント管理システム10においては、ファイルサーバ12、ドキュメント管理サーバ14、ならびに、クライアント装置として例示する画像形成装置16およびパーソナル・コンピュータ(PC)18が、ローカルエリア・ネットワーク(LAN)、ワイドエリア・ネットワーク(WAN)、またはインターネットといったネットワーク基盤として構成されるネットワーク20に接続されている。
図1に示す例においては、画像処理装置16は、スキャニング機能を備えるMFP(Multi Function Peripheral)として構成されており、ユーザは、当該機能を使用して紙媒体ドキュメントをスキャンしてイメージファイルが作成し、必要に応じてOCR処理を行ってテキストファイルとしたのち、ファイルサーバ12を出力先として指定して当該ファイルを、ネットワーク20を介して送信する。また、同様に、ユーザは、PC18を用いて電子ドキュメントファイルを作成し、ファイルサーバ12を出力先として指定してネットワーク20を介して送信する。
ユーザがファイルをファイルサーバ12に送信するにあたり、画像処理装置16およびPC18が備える各ユーザ・インタフェースには、ファイルサーバ12内に構築されているフォルダ階層構造が表示案内され、ユーザは、展開されたフォルダツリーの中からフォルダ名を頼りにファイルを保管すべきフォルダを見つけ出し、当該フォルダを格納先に指定してファイルを送信する。
ファイルをどのフォルダに保管するのかについては、予めルールが定められており、ユーザがこれに従うことがシステム運用の前提となるが、この程度のルールであれば、ユーザは何らの心理的負担を感じることなく、直感的且つ正確に遂行することができる。本実施形態の電子ドキュメント管理システム10は、さらに、ドキュメント管理サーバ14を含んで構成されており、ファイルサーバ12からドキュメント管理サーバ14へネットワーク20を介して所定の情報を転送することによって、新規な電子ファイル管理を実現している。この点につき、以下、詳細に説明する。
図2は、本実施形態におけるファイルサーバ12の機能ブロック図を示す。ファイルサーバ12は、パーソナル・コンピュータ、またはワークステーションなどとして構成されるものであり、システム・コントローラとして機能するCPU、アプリケーション・ソフトウェアの実行空間を与えるためのRAM、ならびに処理を行うためのデータまたはプログラムなどを格納したROM等のメモリ、およびNICを含むネットワーク・インターフェースなどの各種インターフェース部、および、共有ファイルを保管するための記憶装置22を備えている。記憶装置22は、例えばハードディスク装置や光ディスク装置などによって構成される。
ファイルサーバ12は、ファイル更新監視部24とファイルアップロード部26とを備えており、これらの機能手段は、ファイルサーバ12において、WINDOWS(登録商標)、UNIX(登録商標)、LINUX(登録商標)、その他の適切なオペレーション・システム(OS)の管理下で、C、C++、VisualC++、VisualBasic、Java(登録商標)などのオブジェクト指向のプログラミング言語により記述された各種アプリケーション・プログラムが実行されることによって実現される。なお、ファイル更新監視部24とファイルアップロード部26は、記憶装置22を監視可能な装置として、ファイルサーバ12とは別個に実現することもできる。
ファイルサーバ12の記憶装置22内には、上述したように、予め定められたルールに基づいて、フォルダ階層構造が構築されており、最下位階層に位置する各フォルダに電子ファイルが保管されている。図3は、記憶装置22内に構築されるフォルダ階層構造の一例を示す図であり、見積書等の電子ファイルを格納するために構築されたフォルダツリーが展開された様子を示す。
図3に示す例においては、予め以下のルールが定められている。すなわち、フォルダ階層構造は、見積書、計画書、および、それ以外の文書(例えば、受注書、図面等)ごとに構築し、それぞれの最上位階層のフォルダ名を、「見積書」、「計画書」、「プロジェクト」とするというルール、「見積書」フォルダの下の階層には、年ごとにフォルダを作成し、さらにその下の階層には月ごとにフォルダを作成するというルール、「計画書」フォルダの下の階層には、顧客ごとにフォルダを作成するというルール、「プロジェクト」フォルダについては、その下の階層には、顧客ごとにフォルダを作成し、さらにその下の階層には、案件番号ごとにフォルダを作成し、さらにその下の階層には格納する文書の種類ごとにフォルダを作成するというルールが定められている。
さらに、ユーザは、電子ファイルの格納について、見積書についてはその作成年月ごとに該当するフォルダに格納し、そのファイル名は案件番号+拡張子とし、計画書については顧客ごとに該当するフォルダに格納し、そのファイル名は案件番号+拡張子とし、それ以外の文書については、プロジェクトフォルダ下の該当する顧客のフォルダ下の、該当する案件番号のフォルダ下の該当する文書種類のフォルダに格納し、そのファイル名は任意とするというルールが義務付けられている。
上記ルールに基づいて、記憶装置22内には、下記のフォルダが作成されている。すなわち、最上位階層に3つのフォルダ30、40、50が作成されており、それぞれに「見積書」、「計画書」、「プロジェクト」というフォルダ名が付されている。「見積書」フォルダ30の下の階層には、年ごとに3つのフォルダが作成されており、それぞれ、「2004年」、「2005年」、「2006年」というフォルダ名が付され、さらに、これらのフォルダの下の階層には、月ごとにフォルダが作成されており、「2006年」フォルダの下には「1月」、「2月」、「3月」というフォルダが作られている。また、「計画書」フォルダ40の下の階層には、顧客ごとに3つのフォルダが作成されており、それぞれ、「吉田製作所」、「小原工業」、「中村」というフォルダ名が付されている。
さらに、「プロジェクト」フォルダ50の下の階層には、「吉田製作所」というフォルダ名が付されたフォルダが作成されており、更にその下には案件番号(「12345」)のフォルダが作成されている。なお、このフォルダ階層構造には、上述したように、プロジェクトに関する文書のうち、見積書および計画書以外の文書(例えば、受注書、図面等)をその文書の種類ごとに格納することになっているため、文書の種類ごとにフォルダを作成する必要がある。この文書の種類ごとのフォルダは、必要に応じてユーザ自身が作成することになっており、ユーザ自身が格納する文書の種類に対応したフォルダ名を付することになっている。図3に示す例においては、案件番号である「12345」というフォルダ名が付されたフォルダの下の階層には、文書の種類ごとに3つのフォルダが作成されており、それぞれに、「受注書」、「図面」、「検査書」というフォルダ名が付されている。
ユーザが図3に示すフォルダ階層構造が構築されたファイルサーバ12に、「見積書」の電子ファイルを保管する場合、まず、最上位階層のフォルダの中から「見積書」フォルダを見つけ出し、そこからより下の階層のフォルダを下って、目的の年がフォルダ名として付されたフォルダを見つけ出してこれを展開し、さらに、そこから下の階層を下って、目的の月がフォルダ名として付されたフォルダを見つけ出してこれを開き、そこに「見積書」の電子ファイルを格納する。図3は、「3月」フォルダに、「12345.jpg」、「23456.jpg」、および「34567.jpg」がファイル名として付された3つの「見積書」の電子ファイル32〜34がjpeg形式で格納される態様を示している。
同様に、ユーザが「計画書」の電子ファイルを保管する場合、まず、最上位階層のフォルダの中から「計画書」フォルダを見つけ出し、そこからより下の階層のフォルダを下っていって、目的の顧客名が付されたフォルダを見つけ出してこれを開き、そこに「計画書」の電子ファイルを格納する。図3は、「吉田製作所」フォルダ、「小原工業」フォルダ、および「中村」フォルダに、それぞれ、「12345.jpg」、「33333.jpg」、および「22222.jpg」がファイル名として付された「計画書」の電子ファイル42〜44がjpeg形式で格納される態様を示している。
同様に、ユーザが案件番号「12345」のプロジェクトに関する見積書および計画書以外の文書の電子ファイルを保管する場合、まず、最上位階層のフォルダの中から「プロジェクト」フォルダを見つけ出し、そこからより下の階層のフォルダを下っていって、目的の顧客名が付されたフォルダを見つけ出し、さらに、そこからより下の階層のフォルダを下って、目的の案件番号がフォルダ名として付されているフォルダを見つけ出し、さらに、そこからより下の階層のフォルダを下って、文書の種類がフォルダ名として付されたフォルダを開き、そこに該当する文書の電子ファイルを格納する。図3は、「受注書」フォルダに「受注書.jpg」が、「図面」フォルダに「設計図ver1.jpg」が、「検査書」フォルダに「検査結果20080329.jpg」が、それぞれ電子ファイル52〜54として格納される態様を示している。
ここで、図3に例示したフォルダ階層構造および図2を参照しながら、ファイルサーバ12のファイル更新監視部24およびファイルアップロード部26の機能について具体的に説明する。
ファイル更新監視部24は、予め設定された監視タイミング(所定の時間間隔)をもって、間欠的に(例えば5分ごとに)動作して、記憶装置22を監視する。ファイル更新監視部24は、クライアント装置からの電子ファイルの送信によって記憶装置22内のファイル情報が更新されたファイルを検出すると、ファイルアップロード部26に対し、更新に係るファイルをドキュメント管理サーバ14に転送するよう指示する。当該指示を受けたファイルアップロード部26は、該当するファイルについて「位置情報」を生成し、当該ファイルをその「位置情報」とともにファイル転送サーバ14にアップロードする。次に、ファイルサーバ12の実行する処理について、図4に示す動作フローチャートをもとに、より詳細に説明する。
図4は、ファイルサーバ12の動作を示すフローチャートである。ファイルサーバ12では、まず、ステップ100において、予め設定された監視タイミングであるか否かが判断され、監視タイミングであると判定された場合には(ステップ100、Yes)、ステップ102において、記憶装置22内のファイル情報が更新されたか否かを判定する。ここで、ファイル情報の更新とは、新規なファイル名を付された電子ファイルが新たにフォルダに格納されたことに加え、既にフォルダに格納されていたファイルの内容が上書きされたことを含む概念である。ファイル情報が更新されたか否かは、OSのファイルシステムが一般的に有しているファイルやフォルダのタイムスタンプ情報(作成日、更新日の情報)が前回の動作時よりも新しい場合に更新されたものと判断することができる。ファイル情報が更新されていない場合には(ステップ102、No)、再び、ステップ100に戻り、次の監視タイミングが来るまでステップ100の判定が繰り返される。一方、ファイル情報が更新されている場合には(ステップ102、Yes)、ステップ104に進み、更新に係るファイルについて「位置情報」を生成し、当該ファイルを、生成した「位置情報」とともにドキュメント管理サーバ14にアップロードした後、ステップ100に戻る。
ここで、本実施形態におけるファイルの「位置情報」とは、更新されたファイルに関して階層関係にあるフォルダ名とファイル名を1行にまとめて記述した情報を意味する。仮に、図3に示す例において、「見積書」のフォルダツリー内において、ファイル32が更新された場合には、対応する「位置情報」として、「\見積書\2006年\3月\12345.jpg」が生成され、この「位置情報」がファイル32とともにドキュメント管理サーバ14にアップロードされる。ドキュメント管理サーバ14においては、この「位置情報」を利用してメタデータが自動的に生成され、ファイル32に関連づけられた形で登録される。以上、本実施形態におけるファイルサーバ12について説明してきたが、次に、本実施形態におけるドキュメント管理サーバ14について説明する。
図5は、本実施形態におけるドキュメント管理サーバ14の機能ブロック図を示す。ドキュメント管理サーバ14は、先に説明したファイルサーバ12と同様に、パーソナル・コンピュータ、またはワークステーションなどとして構成されるものであり、システム・コントローラとして機能するCPU、アプリケーション・ソフトウェアの実行空間を与えるためのRAM、ならびに処理を行うためのデータまたはプログラムなどを格納したROM等のメモリ、およびNICを含むネットワーク・インターフェースなどの各種インターフェース部、ならびに、ハードディスク装置や光ディスク装置などによって構成される図示しない記憶装置を備えている。
ドキュメント管理サーバ14は、さらに、ファイリング制御部62と、ルール管理部64と、メタデータ管理部66と、ファイル管理部68とを備えており、これらの機能手段は、ドキュメント管理サーバ14において、WINDOWS(登録商標)、UNIX(登録商標)、LINUX(登録商標)、その他の適切なオペレーティング・システム(OS)の管理下で、C、C++、VisualC++、VisualBasic、Java(登録商標)などのオブジェクト指向のプログラミング言語により記述された各種アプリケーション・プログラムが実行されることによって実現される。
上述したように、ドキュメント管理サーバ14は、ファイルサーバ12からネットワーク20を介して更新されたファイルとその「位置情報」を受け取る。ファイリング制御部62は、ファイルサーバ12からアップロードされた「位置情報」を利用して、自動的にメタデータを生成する。メタデータの生成は、ルール管理部64がテーブル管理するルールに基づいて行われる。次に、ファイリング制御部62は、生成したメタデータとファイルとを関連付けてテーブル管理する。その際、ファイリング制御部62は、各ファイルに対しユニークなファイル識別子を付与し、これを生成したメタデータと関連付けてメタデータ管理部66が備えるテーブルに格納する。さらに、ファイリング制御部62は、ファイルサーバ12からアップロードされたファイルをファイル管理部68に保管すると共に、ファイル管理部68において、当該ファイルの格納場所とファイル識別子とを関連付けてテーブル管理する。以上、ドキュメント管理サーバ14の機能手段について概説したが、次に、ドキュメント管理サーバ14が実行する処理について、図6に示す動作フローチャートをもとに、より詳細に説明する。
図6は、ドキュメント管理サーバ14の動作を示すフローチャートである。ドキュメント管理サーバ14においては、まず、ステップ200において、ファイルサーバ12から更新されたファイルおよびその「位置情報」がアップロードされたか否かが判断され、アップロードされていない場合には(ステップ200、No)、この判断が繰り返される。ステップ200において、アップロードされたと判断した場合には(ステップ200、Yes)、ステップ202において、アップロードされた「位置情報」に基づいてメタデータの生成ルールが検索される。メタデータの生成ルールの検索は、ルール管理部64のメタデータ生成ルールテーブルを用いて実行される。図7は、ルール管理部64が備えるメタデータ生成ルールテーブルを例示する。
次に、ステップ204において、検索されたルールに基づいて、「位置情報」からメタデータが生成されると共に、ユニークなファイル識別子が付与され、両者が関連付けられてメタデータ管理部66のメタデータテーブルに格納される。図8乃至図10は、メタデータ管理部66において、対応するルールごとに用意されたメタデータテーブルを例示する。
次に、ステップ206において、ファイルサーバ12からアップロードされたファイルをファイル管理部68に保管して、ステップ208に進む。ステップ208においては、当該ファイルの格納場所とファイル識別子とを関連付けてファイル管理部68が備えるテーブルに格納した後、ステップ200に戻る。図11は、ファイル管理部68が備えるファイリング情報テーブルを例示する。以上、ドキュメント管理サーバ14が実行する処理について、図6に示す動作フローチャートをもとに説明してきたが、次に、図3に例示したフォルダ階層構造、ならびに図7乃至図10に例示した各種テーブルを参照しながら、本実施形態におけるドキュメント管理サーバ14が実行する処理について、より具体的に説明する。
ここでは、図3に示したファイルサーバ12の記憶装置22内に保管された電子ファイルが更新された場合を例にとって具体的に説明する。ファイルサーバ12内において、「見積書」フォルダツリーの最下位階層のファイル32〜34が更新された場合を想定する。ファイル32〜34の更新が検知されると、ファイルサーバ12は、ファイル32〜34をそれぞれの「位置情報」とともにドキュメント管理サーバ14にアップロードする。具体的には、ファイル32とその位置情報「\見積書\2006年\3月\12345.jpg」、ファイル33とその位置情報「\見積書\2006年\3月\23456.jpg」、および、ファイル34とその位置情報「\見積書\2006年\3月\34567.jpg」が、それぞれ、ドキュメント管理サーバ14にアップロードされる。
ドキュメント管理サーバ14にファイル32〜34の「位置情報」がアップロードされると、ファイリング制御部62は、ルール管理部64が備えるメタデータ生成ルールテーブルを利用して、対応するルールを検索する。具体的には、アップロードされた「位置情報」の中から最上位階層のフォルダのフォルダ名を抽出し、メタデータ生成ルールテーブルの中から当該フォルダ名に対応付けられて格納されているルールを検索する。
図7は、ルール管理部64が備えるメタデータ生成ルールテーブル70を例示する。メタデータ生成ルールテーブル70においては、最上位のフォルダ名ごとにメタデータの生成ルールがテーブル管理されている。具体的には、ファイルサーバからアップロードされる「位置情報」の中に含まれる最上位階層のフォルダ名ごとにメタデータの生成ルールとその識別子(ルールid)が対応付けられており、さらに、当該ルールに基づいて生成されるメタデータの格納先が対応付けられている。
メタデータ生成ルールテーブル70に格納されたルールにおいて、%と%の間に記載された部分が「メタデータ名」を意味している。また、「num (---)」は数値への変換を、「base (---)」はファイルの拡張子を取り除く変換を、「text (---)」はテキストへの変換を、それぞれ意味している。さらに加えて、「filename」はファイル名を、「f[n]」はフォルダの第n階層を意味している。ここでフォルダの第n階層とは、上記最上位フォルダ(図3の例では「見積書」「計画書」「プロジェクト」)の下を第1階層として数えた値である。また、「最上位(階層の)フォルダ」とは必ずしもOSのファイルシステムが管理する最上位(ルート)フォルダではなく、このドキュメント管理システムにおいて管理しようとするフォルダの中で最上位階層のフォルダである。
なお、本実施形態においては、ユニークなファイル識別子の生成ルールについても、併せて、メタデータ生成ルールテーブル70で管理しており、他のメタデータとともにファイル識別子を生成する。図7に示すテーブル中、「ファイルid (auto)」は自動でユニークなファイル識別子を生成する所定の式を意味している。
ここで、ファイル32〜34について検討すれば、最上位階層のフォルダのフォルダ名は、いずれも、「見積書」であるので、フォルダ名「見積書」に対応付けられて格納された「ルールid=321」のルールが抽出され、ファイリング制御部62において当該ルールに基づいてメタデータが生成されると同時に、各ファイルについてユニークなファイル識別子がメタデータの一つとして生成される。「ルールid=321」においては、「年」、「月」、「案件ID」、および「文書タイプ」の4つのメタデータとともに、ユニークなファイル識別子としての「ファイルID」が生成される。
例えば、ファイル32に関して、「ファイルID」については、所定の式を用いてユニークな識別子(543)が算出される。「年」については、フォルダの第1階層のフォルダ名(2006年)が数値(2006)へ変換される。「月」については、フォルダの第2階層のフォルダ名(3月)が数値(3)へ変換される。「案件ID」については、ファイル名(12345.jpg)からファイルの拡張子(.jpg)が取り除かれたのち、数値(12345)へ変換される。「文書タイプ」については、「見積書」とされる。ファイル33およびファイル34についても同様の手順でメタデータおよびファイル識別子が生成される。ファイリング制御部62は、各ファイルにつきメタデータおよびファイル識別子を生成すると、それらをメタデータ生成ルールテーブル70において格納先として指定されたメタデータ管理部66の「mitsumori」テーブルに格納する。図8は、「mitsumori」テーブル80を例示する。「mitsumori」テーブル80においては、ファイル32、33、34のそれぞれのメタデータ(年、月、案件ID、文書タイプ)と、ユニークなファイル識別子「543」、「542」、「541」とが関連付けられて格納されている。
次に、ファイルサーバ12内において、「計画書」フォルダツリーの最下位階層のファイル42〜44が更新された場合を想定する。ファイル42〜44の更新が検知されると、ファイルサーバ12は、ファイル42〜44をそれぞれの「位置情報」とともにドキュメント管理サーバ14にアップロードする。具体的には、ファイル42とその位置情報「\計画書\吉田製作所\12345.jpg」、ファイル43とその位置情報「\計画書\小原工業\33333.jpg」、および、ファイル44とその位置情報「\計画書\中村\22222.jpg」が、それぞれ、ドキュメント管理サーバ14にアップロードされる。
ドキュメント管理サーバ14にファイル42〜44の「位置情報」がアップロードされると、ファイリング制御部62は、これらの「位置情報」の中の最上位階層のフォルダのフォルダ名に基づいてルールを検索する。
ここで、ファイル42〜44の場合、最上位階層のフォルダのフォルダ名は、いずれも、「計画書」であるので、図7に示すメタデータ生成ルールテーブル70の中から、フォルダ名「計画書」に対応付けられて格納された「ルールid=250」のルールが抽出され、ファイリング制御部62において当該ルールに基づいてメタデータが生成されると同時に、各ファイルについてユニークなファイル識別が生成される。図7に示されるように、「ルールid=250」においては、「顧客名」、「案件ID」、および「文書タイプ」の3つのメタデータとともに「ファイルID」が生成される。
例えば、ファイル42に関して、「ファイルID」については、所定の式を用いてユニークな識別子(123)が算出される。「顧客名」については、フォルダの第1階層のフォルダ名(吉田製作所)がテキスト化される。「案件ID」については、ファイル名(12345.jpg)からファイルの拡張子(.jpg)が取り除かれたのち、数値(12345)へ変換される。「文書タイプ」については、「計画書」とされる。ファイル43および44についても同様の手順でメタデータおよびファイル識別子が生成される。ファイリング制御部62は、各ファイルにつきメタデータおよびファイル識別子を生成すると、それらをメタデータ生成ルールテーブル70において格納先として指定されたメタデータ管理部66の「keikakusho」テーブルに格納する。図9は、「keikakusho」テーブル82を例示する。「keikakusho」テーブル82においては、ファイル42、43、44のそれぞれのメタデータ(顧客名、案件ID、文書タイプ)と、ユニークなファイル識別子「123」、「122」、「121」とが関連付けられて格納されている。
次に、ファイルサーバ12内において、「プロジェクト」フォルダツリーの最下位階層のファイル52〜54が更新された場合を想定する。ファイル52〜54の更新が検知されると、ファイルサーバ12は、ファイル52〜54をそれぞれの「位置情報」とともにドキュメント管理サーバ14にアップロードする。具体的には、ファイル52とその位置情報「プロジェクト\吉田製作所\12345\受注書\受注書.jpg」、ファイル53とその位置情報「プロジェクト\吉田製作所\12345\図面\設計図ver1.jpg」、および、ファイル54とその位置情報「プロジェクト\吉田製作所\12345\検査書\検査結果20080329.jpg」が、それぞれ、ドキュメント管理サーバ14にアップロードされる。
ドキュメント管理サーバ14にファイル52〜54の「位置情報」がアップロードされると、ファイリング制御部62は、これらの「位置情報」の中の最上位階層のフォルダのフォルダ名に基づいてルールを検索する。
ここで、ファイル52〜54の場合、最上位階層のフォルダのフォルダ名は、いずれも、「プロジェクト」であるので、図7に示すメタデータ生成ルールテーブル70の中から、フォルダ名「プロジェクト」に対応付けられて格納された「ルールid=200」のルールが抽出され、ファイリング制御部62において当該ルールに基づいてメタデータが生成されると同時に、各ファイルについてユニークなファイル識別子が生成される。図7に示されるように、「ルールid=200」においては、「顧客名」、「案件ID」、および「文書タイプ」の3つのメタデータとともにユニークなファイル識別子としての「ファイルID」が生成される。
例えば、ファイル52に関しては、「ファイルID」については、所定の式を用いてユニークな識別子(345)が算出される。「顧客名」については、フォルダの第1階層のフォルダ名(吉田製作所)がテキスト化される。「案件ID」については、フォルダの第2階層のフォルダ名(12345)がテキスト化される。「文書タイプ」については、フォルダの第3階層のフォルダ名(受注書)がテキスト化される。ファイル53および54についても同様の手順でメタデータおよびファイル識別子が生成される。ファイリング制御部62は、各ファイルにつきメタデータおよびファイル識別子を生成すると、それらをメタデータ生成ルールテーブル70において格納先として指定されたメタデータ管理部66の「project」テーブルに格納する。図10は、「project」テーブル84を例示する。「project」テーブル84においては、ファイル52、53、54のそれぞれのメタデータ(顧客名、案件ID、文書タイプ)と、ユニークなファイル識別子「345」、「344」、「343」とが関連付けられて格納されている。
なお、図3について上述したように、「プロジェクト」フォルダツリーの最下位階層のファルダは、ユーザによって文書タイプごとに作成されるものであるが、運用状況によっては、ユーザが勝手にテンポラリフォルダを作成して独自のフォルダ名を付与してしまうことが予想される。このような状況を放置すると、データベース上にシステム管理者の予定しない「文書タイプ」がメタデータとして登録されてしまうことになる。本実施形態においては、このような事態を回避するために、文書タイプごとに作成されるフォルダのフォルダ名について、予め決めたものだけを受け付けるようにすることが好ましい。以下この点について図11を参照して説明する。
図11は、「プロジェクト」フォルダの階層構造において、ユーザによって作成が許可されている「文書タイプ」フォルダのフォルダ名を制限するために使用されるフォルダ名制限テーブル85を例示する。図10について上述したように、「ルールid=200」においては、フォルダの第3階層のフォルダ名がテキスト化されてなるメタデータが「文書タイプ」としてメタデータ管理部66の「project」テーブルに格納されるが、この際、図11に示すフォルダ名制限テーブル85が参照される。ユーザが付したフォルダ名がシステム管理者の予定しないもの(例えば、「設計図」)であった場合でも、メタデータを生成する際にフォルダ名制限テーブル85が参照され、自動的に正規の文書タイプ(例えば、「図面」)がメタデータとして登録される。なお、図11中「*」はワイルドカードを表しており、任意の文字列と置換される。例えば「受注書」「受注管理」「受注物」というフォルダ名は全て「受注*」と合致し、文書タイプは「受注書」となる。また、このフォルダ名制限テーブルは上から順に適用され、「受注*」「図面」「設計図」「検査書」のいずれにも合致しないフォルダ名のみが「*」と合致したとして「その他」文書タイプが割り当てられる。
上述したように、メタデータ管理部66には対応するルールごとにテーブルが用意されており、ファイリング制御部62は、各ファイルについて、ユニークなファイル識別子とメタデータを関連付けて各テーブルに格納した後、ファイル本体をファイル管理部68に保管する。その際、ファイリング制御部62は、ファイル管理部68に用意されるファイリング情報テーブルに、ファイルの格納場所とそのファイルのユニークな識別子(ファイルID)とを関連付けて格納する。図12は、ファイル管理部68に用意されたファイリング情報テーブル90を例示する。ファイリング情報テーブル90には、「ファイルID」と「ファイル格納場所」とが関連付けられて格納されている。図11に示すように、本実施形態においては、「ファイルID」と、「対応ルール」、「更新日時」、「位置情報」とを関連付けられて格納することもできる。
以上、本実施形態の電子ドキュメント管理システム10について説明してきたが、電子ドキュメント管理システム10においては、ユーザは、単に、ファイルサーバ12にファイルを保存する行為だけが要求され、メタデータに係る追加的な入力作業を行う必要がない。電子ドキュメント管理システム10においては、所定のメタデータが自動的に生成されるため、システムの運用がユーザの規律意識に左右されることなく確実に遂行され、その結果、後のファイルの利活用が容易になる。また、ファイルサーバ12上でファイルが更新される度に、更新された内容のファイルに対しユニークな識別子が付与されてデータベースに登録されるため、例えば、ファイルサーバ12上の、同じ場所の同じファイル名に上書きしたファイルについても、上書き前のファイルとは別の識別子を有する別ファイルとしてデータベースに登録され、ファイルの更新の履歴を管理することができる。
また、本実施形態の電子ドキュメント管理システム10においては、文書タイプごとに対応するルールに基づいてメタデータが生成され、当該ルールごとに別テーブルでメタデータが管理されるため、ファイルがさまざまなフォルダに分かれて保管されている場合であっても、これらのメタデータテーブルを利用することによって、同じ案件に係る異なる種類の文書や、同じ顧客とやり取りした複数種の文書などについて、所望のメタデータを利用して横串で検索することが可能になる。
上述した実施形態の各機能は、アセンブリ言語、C、Visual C、C++、Visual C++、Java(登録商標)、Java(登録商標)Beans、Java(登録商標)Applet、Java(登録商標)Script、Perl、Rubyなど、レガシープログラミング言語やオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布することができる。
これまで本発明を、実施形態をもって説明してきたが、本発明は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
10…電子ドキュメント管理システム、12…ファイルサーバ、14…ドキュメント管理サーバ、16…画像形成装置、18…パーソナル・コンピュータ、20…ネットワーク、22…記憶装置、24…ファイル更新監視部、26…ファイルアップロード部、30…フォルダ、40…フォルダ、50…フォルダ、32〜34…電子ファイル、42〜44…電子ファイル、52〜54…電子ファイル、62…ファイリング制御部、64…ルール管理部、66…メタデータ管理部、68…ファイル管理部、70…メタデータ生成ルールテーブル、80…「mitsumori」テーブル、82…「keikakusho」テーブル、84…「project」テーブル、85…フォルダ名制限テーブル