以下、本発明を実施形態をもって説明するが、本発明は、実施形態に限定されるものではない。図1は、本発明によるファイル管理システムが備えているファイル管理装置100の一実施形態の概略構成図である。ファイル管理装置100は、階層化されたフォルダを用いてファイルを管理するための装置であり、概ねパーソナルコンピュータまたはワークステーションなどの情報処理装置を使用して構成される。また、さらに他の実装形式では、ファイル管理装置100は、マルチファンクションペリフェラル(Multi-Function Peripheral):MFP)として参照される画像処理装置のシステムモジュールの1機能モジュールとして実装することもできる。
このファイル管理装置100で管理されるファイルは、文書や画像のデータからなるファイルであり、このファイル内の例えばヘッダー部分やメタデータなどの予め定められたデータ領域には、文書や画像のデータ以外に、予めファイルの階層分類に関する分類情報が含まれている。分類情報には、複数の階層それぞれに対応する名称と、各階層毎の各フォルダのうち登録先となるフォルダを特定する名称とが関連付けられ、書誌項目として含まれている。各階層それぞれに対応する名称には、例えばファイルの内容に関するジャンル、カテゴリなどの名称が挙げられる。また、フォルダを特定する名称には、例えばジャンルやカテゴリでの個別の項目、要素などの名称が挙げられる。分類情報は、後述するように、分類対象としてファイルの管理を行うために参照され、階層毎に順次フォルダを登録していき、ファイルの登録先となるフォルダを特定するための情報である。
ファイル管理装置100は、概ね、中央処理装置(CPU)102(このCPU102が抽出手段、作成手段、登録手段、分類設定手段、指定手段などの各手段に相当する。)と、CPU102が使用するデータの高速アクセスを可能とするキャッシュメモリ104と、CPU102の処理を可能とするRAM、DRAMなどの固体メモリ素子から形成されるシステムメモリ106とを備える。
CPU102、キャッシュメモリ104、およびシステムメモリ106は、システムバス108を介して、ファイル管理装置100の他のデバイスまたはドライバ、例えば、グラフィックスドライバ110およびネットワークデバイス(NIC)112へと接続されている。グラフィックスドライバ110は、バスを介してディスプレイ114に接続されて、CPU102による処理結果をディスプレイ114の表示画面上に表示させている。また、ネットワークデバイス112は、TCP/IPプロトコルなどにより、ファイル管理装置100をネットワークへと接続して、HTTPプロトコル、FTPプロトコル、ITU−T勧告X.500によるLDAP検索などのセッションを確立させている。
システムバス108には、さらにI/Oバスブリッジ116が接続されている。I/Oバスブリッジ116の下流側には、PCIなどのI/Oバス118を介して、IDE、ATA、ATAPI、シリアルATA、SCSI、USBなどの規格を備えるハードディスク装置120が接続されている。このハードディスク装置120には、各ファイルのデータを登録するための仮想データ領域であるフォルダが、ファイルを管理するための分類フォルダ内に複数階層の階層化された構造で記憶されている。
また、I/Oバス118には、USBなどのバスを介して、キーボードおよびマウスとして挙げられるポインティングデバイスなどの入力装置122が接続され、ユーザなどのオペレータによる入力および指令を受付けている。入力装置122は、ポインティングデバイスを用いたユーザの操作を受けて、ディスプレイ114の表示画面上での入力操作、設定操作、指定操作などが行われる。
CPU102としては、特に制限はなく、具体的には、例えば、PENTIUM(登録商標)〜PENTIUM(登録商標)IV、PENTIUM(登録商標)互換CPU、POWER PC(登録商標)、MIPSなど、シングルコアまたはマルチコアなどのいかなるアーキテクチャを備えるプロセッサを挙げることができる。
CPU102は、後述するように、ハードディスク装置120に記憶されたプログラムなどを実行することにより、ファイル管理装置100内に構成された各構成部の制御や、情報、データの管理、書き込み、読み出し、演算などの各処理を実行する。
具体的には、CPU102は、後述するように、文書管理アプリケーション212などを実行することにより、ファイルを解析して分類情報を抽出する処理や、分類情報に基づいて階層化されたフォルダを作成していく処理、そして、分類情報に対応するフォルダにファイルを登録する処理などを実行する。
また、CPU102は、文書管理アプリケーション212などのプログラムを実行することにより、後述するように、表示領域コントローラ206やデータ管理モジュール208としても機能する。
また、使用するオペレーティングシステム(OS)は、MacOS(商標)、Windows(登録商標)、Windows(登録商標)200X Server、UNIX(登録商標)、AIX(登録商標)、LINUX(登録商標)またはそれ以外の適切なOSを挙げることができる。さらに、ファイル管理装置100は、上述したOS上で動作する、C++、VisualC++、VisualBasic、Java(登録商標)、Perl、Rubyなどのオブジェクト指向のプログラミング言語により記述されたアプリケーションプログラムを格納し、実行する。
図2は、ファイル管理装置100の機能ブロック200の実施形態を示す。ファイル管理装置100の機能ブロック200は、CPU102が各種プログラムを実行して、ファイル管理装置100上に各機能ブロックを実現することにより構成される。図2に示すように、機能ブロック200は、ファイル管理装置100の実行全般を管理するOS202と、OS上に、コンパイラ、リンカ、アセンブラなどを含んで実現される、例えばVisualC++、バイトコード、インタプリタなどにより各種機能を提供するJAVA(登録商標)などのプログラミング言語モジュール204とを含んでいる。
プログラミング言語モジュール204は、いわゆるオブジェクト指向プログラムの実行を可能とし、マルチウィンドウ表示を可能としている。このため、プログラミング言語モジュール204は、ウィンドウ生成、レイアウト変更、ウィンドウ削除などを管理するための表示領域コントローラ206を備えている。また、プログラミング言語モジュール204は、ウィンドウに形成された各種アイコン、ホットスポットなどの選択に応じて各種処理の実行を指令するデータ管理モジュール208を備えている。
プログラミング言語モジュール204は、後述するアプリケーションプログラム210、212、214などがディスプレイ上に形成したウィンドウからのマウスイベントやマウスイベントに対応するキーシーケンスイベントを受け取って、要求された処理を実行するためのオブジェクト呼出などを実行する。上述した表示領域コントローラ206は、例えば、Windowクラス、フレームクラス、スクロールクラスなどのウィンドウ制御モジュールが集合して構成される、機能モジュールを総称するものである。図2に示した実施形態では、表示領域コントローラ206は、ウィンドウを生成させるための表示領域生成モジュール206a、表示領域内に表示されたフレームと言った分割領域をさらに領域分割して、「分割フレーム」を生成する領域分割モジュール206b、および選択データ表示モジュール206cなどを含んで構成されているのが示されている。
ウィンドウ生成モジュール206aは、ディスプレイ画面上に、例えばマルチウィンドウ方式のウィンドウやメイン表示画面などとして参照される表示領域を生成し、ウィンドウ内に相対的な位置座標を割当て、フレーム(分割領域)生成を可能とする。領域分割モジュール206bは、ウィンドウ内で定義されたオリジナルフレーム(第2分割領域)を、データ選択やスクロール、改ページ処理などに対応して分割し、分割フレームを生成する処理を実行する。また、選択データ表示モジュール206cは、生成した分割フレームに割当てて表示するデータセットを選択し、分割フレームに割当てる処理を行う。
表示領域コントローラ206は、ディスプレイ114の表示画面上での操作を受けて処理を行い、ウィンドウ生成モジュール206a、領域分割モジュール206b、選択データ表示モジュール206cの各機能モジュールを制御して、階層化されたフォルダや、各ファイルのデータなどをグラフィカルにディスプレイ114に表示する処理を行う。
データ管理モジュール208は、ディスプレイ114の表示画面上での操作を受けて、各ファイルをフォルダに登録する処理や、フォルダの新規作成、移動、削除、複製(コピー)などの処理を行い、ハードディスク装置120に記憶させる処理を行う。
アプリケーションプログラム210、212、214は、プログラミング言語モジュール204のコンテキストに沿ってプログラミングされている限り、その処理の種類は特に制限されないが、本実施形態では、例えば、ブラウザアプリケーション210、文書管理アプリケーション212、ワードプロセッサアプリケーション214などを挙げることができる。この他、例えば、画像処理アプリケーション、グラフィックアプリケーションなどを適宜実装することができる。
ブラウザアプリケーション210は、例えば、Internet Exploler(商標)、Netscape Navigator(商標)、Mozilla、Operaなどを使用して実装することができ、HTMLパーサ、XMLパーサなどにより、ウェブサーバから送信される構造化文書を解析し、ウィンドウ上に構造化文書に基づいて表示を行っている。なお、ブラウザアプリケーション210は、例えばJAVA(登録商標)Script、JAVA(登録商標)Appletなどの処理が可能とされていて、ユーザからの指令に応じてウェブページを動的に変更することが可能とされていることが好ましい。
また、文書管理アプリケーション212は、情報処理装置に蓄積された文書データ、画像データなどの編集、検索などを実行する。文書管理アプリケーション212は、当該処理を、自己が管理するデータまたはネットワークを介して接続されたサーバのデータベースなどにアクセスして実行することもできる。ワードプロセッサアプリケーションは、文書データを作成し、ハードディスク装置または外部接続されたサーバのデータベースなどに登録させている。
各アプリケーションプログラムへの入出力は、入出力I/O216を介して行われる。各アプリケーションプログラムは、VGA、USB、IEEE802.Xなどを使用してディスプレイ218、キーボード220、マウス222との間でデータ送受信を行い、データ入出力を実行する。また、各アプリケーションプログラムは、ネットワークI/O224を介して、TCP/IPプロトコルなどを使用して、ネットワーク226へと接続され、LAN(ローカルエリアネットワーク)、インターネットなどに接続し、他の情報処理装置やサーバとの間のデータ送受信を行っている。
また、各機能モジュールは、バス228を介し、シグナル、ソケット通信などによるプロセス間通信を行っており、相互連携して、ファイル管理装置100を構成する為の各機能モジュールを実現させている。
図3は、管理するために用いるフォルダとファイルを表示した表示画面300を示す説明図である。図3に示すように、この表示画面300は、右側部分と左側部分の2つに分割されており、左側部分にハードディスク装置120に記憶された各フォルダ310が表示され、右側部分にこれらのフォルダ310に登録される例えば文書データなどの各ファイル320の一覧が表示されている。
この表示画面300に表示された各ファイル320やフォルダ310は、アイコンとして参照されるグラフィックシンボルで表示されており、これらのアイコンは、入力装置122を用いたユーザの操作でクリックによる選択操作や、ドラッグアンドドロップによる移動またはコピー、ダブルクリックによる設定操作などが行われる。
各ファイル320やフォルダ310の全体のうち、この表示画面300に表示されていない部分は、各ファイル320、フォルダ310の表示領域の端部に形成されたスクロールバーを操作して、これらの表示領域をスクロールさせることにより表示させることができる。
図4は、各フォルダ310のうち指定された分類フォルダ310aに対して、データ管理モジュール208の処理でこの分類フォルダ310a内に階層化されて作成されたフォルダ構造を示す説明図である。このフォルダ構造では、最も上位の階層である分類フォルダ310aが配置されている。この分類フォルダ310aには、下位の階層であることを示す接続線が伸びて分類木として表示されており、これらの木構造のさらに下位ノードとして、分類フォルダ310a内に含まれる第1階層の各フォルダ312が配置されている。また、同様に各フォルダ312には、更に接続線が伸びて木構造として表示されており、これらの木構造の下位ノードとして、各フォルダ312のそれぞれに含まれる第2階層の各フォルダ313が配置されている。
図4に示すように、第1階層の各フォルダ312には、「未処理」、「処理中」、「完了」などの名称が設定されており、第2階層の各フォルダ313には、「担当A」、「担当B」、「担当C」などの名称が設定されている。これらの名称は、ファイルに含まれる分類情報に基づいて、データ管理モジュール208の処理によって設定される。
図5は、ユーザの操作に従って、木構造の各階層に関する設定を行うための書誌項目510が記憶されたテーブル500のデータ構成を示す説明図である。このテーブル500は、本実施形態の文書管理アプリケーション212が管理し、プログラムと同様に、ハードディスク装置120に記憶されており、文書管理アプリケーション212の実行時、RAMなどの高速アクセス空間に読み込まれ、処理のために提供される。テーブル500には、分類情報に含まれる各書誌項目510と、書誌項目510のそれぞれに関する説明情報520とが関連付けて記憶されている。このテーブル500に記憶された各書誌項目510が、ユーザの操作に従って各階層の名称に設定され、各階層毎に木構造のフォルダが作成される。また、テーブル500に記憶された各書誌項目510は、ファイル内の分類情報に含まれている各書誌項目に相当しており、各書誌項目510のうちのいずれかがファイル内の分類情報に設定される。
図6は、表示画面300に表示された各フォルダ310のうち、データ管理モジュール208の処理で自動的にファイルを管理する対象となる分類フォルダ310aを指定するための操作画面600を示す説明図である。この操作画面600には、ファイルを管理する対象とならない「通常フォルダ」と、対象となる「分類フォルダ」とを選択するためのラジオボタンが設けられている。また、この対象となるフォルダ310内に階層化されたフォルダを作成するための「分類設定」や、各ラジオボタンでの選択を決定するための「OK」、選択を取り消すための「キャンセル」ボタンがそれぞれ設けられている。この操作画面600では、ユーザの操作に従って、各フォルダ310のうちファイルを管理する対象となるフォルダ310が指定される。
この操作画面600で指定されたフォルダ310は、分類フォルダ310aとなって分類フォルダ310a以外の通常のフォルダと異なる表示態様で表示される。分類情報が抽出される対象となるファイルが、この指定されたフォルダ310に登録されると、このファイルに対してデータ管理モジュール208の処理が実行される。図9は、表示画面300でフォルダ310が実際に分類フォルダ310aに指定された様子を示す説明図である。図9では、操作画面600でユーザの操作に従って、各フォルダ310のうち「フォルダ7」が分類フォルダ310aとして指定され、分類フォルダ310a以外の他のフォルダと異なる表示態様で表示されている。
図7は、分類フォルダ310a内に木構造の各階層に関する設定を行うための操作画面700を示す説明図である。この操作画面700には、テーブル500に記憶された各書誌項目510を表示した表示リストと、この表示リストに表示された書誌項目510を各階層に対応する名称として設定するための「設定」ボタンと、この設定を解除するための「解除」ボタンと、第1階層〜第4階層までの各階層に対応する名称を表示するための各表示ボックスがそれぞれ設けられている。操作画面700では、名称が設定される各階層が第1階層〜第4階層までとなっているが、これに限定されず第5階層以降も設定可能であっても良い。また、各階層に設定された名称を決定するための「OK」、設定を取り消すための「キャンセル」ボタンがそれぞれ設けられている。
この操作画面700では、ユーザによって表示リストが参照されて書誌項目510が選択され、名称を設定する階層の表示ボックスが選択されて「設定」ボタンが押下操作されると、この選択された階層に対して、選択された書誌項目510が名称として設定される。
また、ユーザの操作によって名称が設定された階層の表示ボックスが選択されて「設定」ボタンが押下操作されると、この選択された階層に対応する名称が解除され「なし」が表示ボックスに表示される。
図8は、操作画面700で分類フォルダ310a内に木構造の各階層に関する設定を実際に行った様子を示す説明図である。図8では、操作画面700でユーザの操作によって、第1階層の名称に「状態」、第2階層の名称に「担当者」が設定されている。
なお、名称が設定された階層よりも上位の階層の名称が「なし」となっている場合には、この上位の階層に名称が繰り上げて設定される。例えば図8で、操作画面700でユーザの操作によって、第2階層の名称が「なし」、第3階層の名称に「担当者」が設定された場合には、この第3階層の名称が繰り上げて第2階層に設定される。
続いて、本実施形態におけるファイル管理システムで、上述のようにして、分類フォルダ310a内に階層化されたフォルダで作成された状態で、この階層化されたフォルダを用いてファイルを管理する処理について図10に示すフローチャートを用いて説明する。
まず、表示領域コントローラ206は、各機能モジュールを制御しディスプレイ114の表示画面上に、図9に示すように、表示画面300を表示する。この状態で、ユーザの画面上での操作によって分類フォルダ310aとして指定されたフォルダ310に対して、文書や画像データなどのファイルが登録、複製または移動が行われると、ステップS1001で、データ管理モジュール208が複製または移動を検知する。
データ管理モジュール208は、この検知したファイルを解析して、このファイルに含まれる分類情報を抽出しこの分類情報に含まれる書誌項目を参照する。そして、ステップS1002で、ファイルの登録先として、この書誌項目に対応する名称が設定されているフォルダを特定する処理を行う。データ管理モジュール208は、書誌項目に含まれている名称のうち、第1階層に対応する名称に関連付けられたフォルダの名称に基づいて、分類フォルダ310a内の第1階層の各フォルダのうち登録先となるフォルダを特定する。また、データ管理モジュール208は、第2階層に対応する名称に関連付けられたフォルダの名称に基づいて、この特定した第1階層のフォルダ内の第2階層の各フォルダのうち登録先となるフォルダを特定する。次に、データ管理モジュール208は、第3階層に対応する名称に関連付けられたフォルダの名称に基づいて、同様にこの特定した第2階層のフォルダ内の第3階層の各フォルダのうち登録先となるフォルダを特定する。このような処理を各階層毎に順次繰り返し行ってフォルダを特定していき、最も下位の階層のフォルダ(サブフォルダパスA)まで特定する。
次に、ステップS1003、ステップS1004で、データ管理モジュール208は、ステップS1002において特定した各階層でのフォルダが分類フォルダ310a内で作成されているか否かを判定する処理を行う。データ管理モジュール208は、ハードディスク装置120に記憶された分類フォルダ310aを読み出し、この分類フォルダ310a内の各階層に対応する名称、フォルダを参照する。そして、データ管理モジュール208は、ステップS1002において特定した、書誌項目に含まれている名称に対応する各階層、各フォルダと、分類フォルダ310a内の各階層に対応する名称、フォルダとを比較し、ステップS1002において特定した各階層、各フォルダが分類フォルダ310a内に存在するか否かを判定する処理を行う。
データ管理モジュール208は、ステップS1004での判定の結果、分類フォルダ310a内に存在しない階層やフォルダがある場合には(No)、ステップS1002において特定したフォルダを各階層毎に階層化させて作成していき、ステップS1005で最も下位の階層のフォルダまで作成する。
ステップS1004での判定の結果、分類フォルダ310a内に存在する場合(Yes)、またはステップS1005において最も下位の階層までフォルダを作成した場合には、データ管理機能208は、ステップS1006で、この特定または作成した最も下位の階層のフォルダにファイルを登録し、ハードディスク装置120に記憶する。そして、データ管理モジュール208は、ステップS1007で、ディスプレイ114にメッセージを表示するなどによって、ユーザの画面上での操作に従ってファイルをフォルダに登録したことを通知する処理を行う。
図11は、例えば文書データなどのファイルが、階層化されたフォルダが未だ作成されていない分類フォルダ310aに登録された例を示す。この図11では、ユーザの画面上での操作によって分類フォルダ310aに対してファイル「文書1」が登録されるとデータ管理モジュール208がこれを検知する。データ管理モジュール208は、この検知したファイル「文書1」に含まれる分類情報を抽出し書誌項目を参照する。そして、第1階層に対応する名称「状態」に関連付けられたフォルダの名称「未処理」に基づいて、分類フォルダ310a内の第1階層のフォルダを特定する。また、第2階層に対応する名称「担当者」に関連付けられたフォルダの名称「担当A」に基づいて、この特定した第1階層のフォルダ内の第2階層のフォルダを特定する。
次に、データ管理モジュール208は、これらの特定したフォルダを各階層毎に作成していき、最も下位の階層のフォルダまで作成する。そして、この作成した最も下位の階層のフォルダ「担当A」にファイル「文書1」を登録し、ハードディスク装置120に記憶する。データ管理モジュール208は、ファイル「文書1」を登録したことを通知する。
図12は、例えば文書データなどのファイルが、階層化されたフォルダが既に作成されている分類フォルダ310aに登録された例を示す。この図12では、ユーザの画面上での操作によって分類フォルダ310aに対してファイル「文書2」が登録されるとデータ管理モジュール208がこれを検知する。データ管理モジュール208は、この検知したファイル「文書2」に含まれる分類情報を抽出し書誌項目を参照する。そして、第1階層に対応する名称「状態」に関連付けられたフォルダの名称「未処理」に基づいて、分類フォルダ310a内の第1階層のフォルダを特定する。また、第2階層に対応する名称「担当者」に関連付けられたフォルダの名称「担当A」に基づいて、この特定した第1階層のフォルダ内の第2階層のフォルダを特定する。
次に、データ管理モジュール208は、これらの特定したフォルダが分類フォルダ310a内に存在しているので、最も下位の階層のフォルダ「担当A」にファイル「文書2」を登録し、ハードディスク装置120に記憶する。データ管理モジュール208は、ファイル「文書2」を登録したことを通知する。
図13は、例えば文書データなどのファイルが、階層化されたフォルダが既に作成されている分類フォルダ310aに登録された他の例を示す。この図13では、ユーザの画面上での操作によって分類フォルダ310aに対してファイル「文書3」が登録されるとデータ管理モジュール208がこれを検知する。データ管理モジュール208は、この検知したファイル「文書3」に含まれる分類情報を抽出し書誌項目を参照する。そして、第1階層に対応する名称「状態」に関連付けられたフォルダの名称「未処理」に基づいて、分類フォルダ310a内の第1階層のフォルダを特定する。また、第2階層に対応する名称「担当者」に関連付けられたフォルダの名称「担当B」に基づいて、この特定した第1階層のフォルダ内の第2階層のフォルダを特定する。
次に、データ管理モジュール208は、これらの特定したフォルダのうち、最も下位の第2階層のフォルダ「担当B」が存在しないため、第2階層でフォルダ「担当B」を新たに作成する。そして、この作成した最も下位の階層のフォルダ「担当B」にファイル「文書3」を登録し、ハードディスク装置120に記憶する。データ管理モジュール208は、ファイル「文書3」を登録したことを通知する。
続いて、分類フォルダ310a内に階層化されたフォルダに登録されたファイルの分類情報が、更新された際の動作について図14に示すフローチャートを用いて説明する。
まず、分類フォルダ310a内に階層化されたフォルダにファイルが登録された状態で、ユーザの画面上での操作によって、登録されたファイルの内のいずれかに対して、分類情報や書誌項目の変更、追加などが行われて更新されると、ステップS1401でデータ管理モジュール208がこの更新を検出する。
データ管理モジュール208は、この更新を検出したファイルを解析して、このファイルに含まれる更新後の分類情報を抽出しこの分類情報に含まれる書誌項目を参照する。そして、ステップS1402で、ファイルの登録先として、この書誌項目に対応する名称が設定されているフォルダを特定する処理を行う。データ管理モジュール208は、書誌項目に含まれている名称のうち、第1階層に対応する名称に関連付けられたフォルダの名称に基づいて、分類フォルダ310a内の第1階層の各フォルダのうち登録先となるフォルダを特定する。また、データ管理モジュール208は、第2階層に対応する名称に関連付けられたフォルダの名称に基づいて、この特定した第1階層のフォルダ内の第2階層の各フォルダのうち登録先となるフォルダを特定する。次に、データ管理モジュール208は、第3階層に対応する名称に関連付けられたフォルダの名称に基づいて、同様にこの特定した第2階層のフォルダ内の第3階層の各フォルダのうち登録先となるフォルダを特定する。このような処理を各階層毎に順次繰り返し行ってフォルダを特定していき、最も下位の階層のフォルダ(サブフォルダパスB)まで特定する。
次に、ステップS1403でデータ管理モジュール208は、ステップS1402において特定した最も下位の階層のフォルダが、現在ファイルが登録されている分類フォルダ310a内のフォルダと同一であるか否か(サブフォルダパスBがAと同一であるか否か)を判定する処理を行う。判定した結果、同一である場合には(Yes)、処理を終了する。
判定した結果、同一でない場合には(No)、データ管理モジュール208は、ステップS1402において特定した各階層でのフォルダが分類フォルダ310a内で作成されているか否かを判定する処理を、ステップS1404およびステップS1405で実行する。データ管理モジュール208は、ハードディスク装置120に記憶された分類フォルダ310aを読み出し、この分類フォルダ310a内の各階層に対応する名称、フォルダを参照する。そして、データ管理モジュール208は、ステップS1402において特定した、書誌項目に含まれている名称に対応する各階層、各フォルダと、分類フォルダ310a内の各階層に対応する名称、フォルダとを比較し、ステップS1402において特定した各階層、各フォルダが分類フォルダ310a内に存在するか否かを判定する処理を行う。
データ管理モジュール208は、ステップS1405で判定した結果、分類フォルダ310a内に存在しない階層やフォルダがある場合には(No)、ステップS1406で、ステップS1402において特定したフォルダを各階層毎に階層化させて作成していき、最も下位の階層のフォルダまで作成する。
判定した結果、分類フォルダ310a内に存在する場合(Yes)、またはステップS1405において最も下位の階層までフォルダを作成した場合には、データ管理モジュール208は、ステップS1407で、この特定または作成した最も下位の階層のフォルダにファイルを移動させ、ハードディスク装置120に記憶する(ステップS1407)。そして、ステップS1408で、データ管理モジュール208は、ディスプレイ114にメッセージを表示するなどによって、ユーザの画面上での操作に従ってファイルをフォルダに登録したことを通知する処理を行う。
図15は、例えば文書データなどのファイルの分類情報が、分類フォルダ310a内の階層化されたフォルダに登録された後、更新された例を示す。この図15では、分類フォルダ310a内のフォルダにファイル「文書3」が登録された状態で、ユーザの画面上での操作によってファイル「文書3」の分類情報や書誌項目の変更、追加などが行われて更新されると、データ管理モジュール208がこの更新を検出する。データ管理モジュール208は、この更新を検出したファイル「文書3」に含まれる更新後の分類情報を抽出し書誌項目を参照する。そして、第1階層に対応する名称「状態」に関連付けられたフォルダの名称「処理中」に基づいて、分類フォルダ310a内の第1階層のフォルダを特定する。また、第2階層に対応する名称「担当者」に関連付けられたフォルダの名称「担当B」に基づいて、この特定した第1階層のフォルダ内の第2階層のフォルダを特定する。
次に、データ管理モジュール208は、特定した最も下位の階層のフォルダが、現在ファイルが登録されているフォルダと同一でなく、これらの特定した第1階層のフォルダ「処理中」、第2階層のフォルダ「担当B」が存在しないため、第1階層でフォルダ「処理中」、このフォルダ「処理中」内に第2階層でフォルダ「担当B」を新たに作成する。そして、作成した最も下位の階層のフォルダ「担当B」にファイル「文書3」を移動し、ハードディスク装置120に記憶する。データ管理モジュール208は、ファイル「文書3」を登録したことを通知する。
以上のように、本実施の形態におけるファイル管理システムでは、ユーザの画面上での操作によって分類フォルダ310aに対してファイルが登録されると、データ管理モジュール208は、このファイルから分類情報を抽出しこの分類情報に含まれる書誌項目を参照する。そして、データ管理モジュール208は、ファイルの登録先として、この書誌項目に対応する名称が設定されているフォルダを分類フォルダ310a内の各階層毎に特定する処理を行い、これらの特定した各階層での各フォルダが分類フォルダ310a内に存在しない場合には各階層毎に作成していき、最も下位の階層のフォルダまで作成する。
データ管理モジュール208は、この特定または作成した最も下位の階層のフォルダにファイルを登録し、ハードディスク装置120に記憶する。
このため、ユーザが管理するファイルに含まれる分類情報、書誌項目に登録先となるフォルダを階層毎に順次特定していくための各階層や各フォルダに対応する名称を予め設定しておき処理実行時に抽出するので、階層化されたフォルダのうちで登録先を特定でき、自動的に登録を行うことが可能となる。
また、ディスプレイ114の画面上で分類フォルダ310aに登録させれば、自動的に複数階層に各階層化されたフォルダが分類フォルダ310a内で特定または作成されて登録されるので、複数階層のフォルダをユーザが予め作成する必要が無く、より効率的かつ適切にファイル、データの管理を行うことができる。
従来技術において、ユーザが各階層毎のフォルダを作成してからファイルの登録を行う作業から解放され、効率的にファイル、データの管理を行うことができる。
上述のように説明してきた表示領域コントローラ206、データ管理モジュール208での各処理は、ハードディスク装置120に記憶されたプログラムなどを実行することにより実現される。
上述の実施形態において、データ管理モジュール208は、分類情報に含まれる全ての書誌項目を参照して、登録先のフォルダの特定や作成を行ったが、この参照される対象となる書誌項目の範囲に対して、指定や限定などの設定が可能であっても良い。
また、上述の実施形態において、データ管理モジュール208は、書誌項目に対応する名称のフォルダを作成する階層を、複数階層のうちのいずれにするかが設定可能であっても良い。
これまで本発明を図1〜図15に示した本実施の形態をもって説明してきたが、本発明はこれに限定されるものではない。他の実施の形態、追加、変更、削除など、本発明の要旨を変更しない範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
100…ファイル管理装置、102…CPU、114…ディスプレイ、120…ハードディスク装置、122…入力装置、202…OS、204…プログラミング言語モジュール、206…表示領域コントローラ、208…データ管理モジュール、300…表示画面、310、311、312、313…フォルダ、310a…分類フォルダ、500…テーブル、600、700…操作画面