(57)【要約】【課題】複数のディレクトリツリーに基づいて単一のディレクトリツリーを仮想的に構築するファイル管理方法及びファイル管理システムにおいて、ユーザによるファイルへのアクセスをより容易化することである。【解決手段】検出手段（ＣＰＵ１４１等）はＰＣ１に接続された複数のＨＤＤ２を検出し、読出手段（ＣＰＵ１４１等）は検出された複数のＨＤＤ２の各々からディレクトリツリーを読み出し、作成手段（ＣＰＵ１４１等）はディレクトリツリーにおいて最上位階層から順に同一階層内における同名フォルダを検索し、検索された同一階層内における同名フォルダを一つのフォルダとし、当該フォルダ内に当該フォルダに対応付けられた下位階層のフォルダを書き込む動作を繰り返して仮想ディレクトリツリーを作成し、管理手段は（ＣＰＵ１４１等）仮想ディレクトリツリーに基づいてファイルへのアクセスを管理する。【選択図】図２
2008226137.tif 000002
【特許請求の範囲】
【請求項１】
電子機器に対して、ルートディレクトリが互いに異なるディレクトリツリーを有する複数の記録装置を接続してファイルを管理するファイル管理システムにおいて、
前記複数の記録装置は、一のマスタハードディスクドライブ、及び一又は複数の外付ハードディスクドライブにより構成され、
前記電子機器に接続された前記複数の記録装置を検出する検出手段と、
前記検出手段により検出された前記複数の記録装置の各々から、前記ディレクトリツリーを読み出す読出手段と、
前記読出手段により読み出された前記ディレクトリツリーにおいて、最上位階層から順に、同一階層内における同名フォルダを検索し、検索された同一階層内における同名フォルダを一つのフォルダとし、当該フォルダ内に当該フォルダに対応付けられた下位階層のフォルダを書き込む動作を繰り返して仮想ディレクトリツリーを作成する作成手段と、
前記作成手段により作成された前記仮想ディレクトリツリーを前記マスタハードディスクドライブに記憶させる記憶制御手段と、
前記マスタハードディスクドライブに記憶された前記仮想ディレクトリツリーに基づいて、前記複数の記録装置に記憶されたファイルへのアクセスを管理する管理手段と、
前記電子機器に、新規の記録装置が接続されたことを検出する接続検出手段と、
前記接続検出手段により、前記新規の記録装置が接続されたことが検出された場合に、キー操作部におけるキー操作に基づいて、当該新規の記録装置のディレクトリツリーを、前記作成手段により作成された前記仮想ディレクトリツリーに統合するか否かをユーザに選択させる選択手段と、
前記選択手段により、前記新規の記録装置のディレクトリツリーを前記仮想ディレクトリツリーに統合すると選択された場合に、当該新規の記録装置がフォーマット済みであるか否かを判別する判別手段と、
前記判別手段により、前記新規の記録装置がフォーマット済みであると判別された場合に、当該新規の記録装置のファイルシステムを判別し、当該新規の記録装置のファイルシステムが、前記仮想ディレクトリツリーのファイルシステムと同一であるか否かを判断する判断手段と、
前記判断手段により、前記新規の記録装置のファイルシステムが、前記仮想ディレクトリツリーのファイルシステムと同一でないと判断された場合に、当該新規の記録装置のディレクトリツリーを仮想ディレクトリツリーに統合させることが不可能である旨を報知する報知手段と、
を備え、
前記作成手段は、
前記判断手段により、前記新規の記録装置のファイルシステムが、前記仮想ディレクトリツリーのファイルシステムと同一であると判断された場合に実行されることを特徴とするファイル管理システム。
【請求項２】
電子機器に対して、ルートディレクトリが互いに異なるディレクトリツリーを有する複数の記録媒体を接続してファイルを管理するファイル管理システムにおいて、
前記電子機器に接続された前記複数の記録媒体を検出する検出手段と、
前記検出手段により検出された前記複数の記録媒体の各々から、前記ディレクトリツリーを読み出す読出手段と、
前記読出手段により読み出された前記ディレクトリツリーにおいて、最上位階層から順に、同一階層内における同名フォルダを検索し、検索された同一階層内における同名フォルダを一つのフォルダとし、当該フォルダ内に当該フォルダに対応付けられた下位階層のフォルダを書き込む動作を繰り返して仮想ディレクトリツリーを作成する作成手段と、
前記作成手段により作成された前記仮想ディレクトリツリーに基づいて、前記複数の記録媒体に記憶されたファイルへのアクセスを管理する管理手段と、
を備えることを特徴とするファイル管理システム。
【請求項３】
前記電子機器に、新規の記録媒体が接続されたことを検出する接続検出手段と、
前記接続検出手段により、前記新規の記録媒体が接続されたことが検出された場合に、キー操作部におけるキー操作に基づいて、当該新規の記録媒体のディレクトリツリーを、前記作成手段により作成された前記仮想ディレクトリツリーに統合するか否かをユーザに選択させる選択手段と、を備え、
前記作成手段は、
前記選択手段により、前記新規の記録媒体のディレクトリツリーを前記仮想ディレクトリツリーに統合すると選択された場合に実行することを特徴とする請求項２に記載のファイル管理システム。
【請求項４】
前記選択手段により、前記新規の記録媒体のディレクトリツリーを前記仮想ディレクトリツリーに統合すると選択された場合に、当該新規の記録媒体がフォーマット済みであるか否かを判別する判別手段と、
前記判別手段により、前記新規の記録媒体がフォーマット済みであると判別された場合に、当該新規の記録媒体のファイルシステムを判別し、当該新規の記録媒体のファイルシステムが、前記仮想ディレクトリツリーのファイルシステムと同一であるか否かを判断する判断手段と、
前記判断手段により、前記新規の記録媒体のファイルシステムが、前記仮想ディレクトリツリーのファイルシステムと同一でないと判断された場合に、当該新規の記録媒体のディレクトリツリーを仮想ディレクトリツリーに統合させることが不可能である旨を報知する報知手段と、
を備えることを特徴とする請求項３に記載のファイル管理システム。
【請求項５】
電子機器に対して、ルートディレクトリが互いに異なるディレクトリツリーを有する複数の記録媒体を接続してファイルを管理するファイル管理方法において、
前記電子機器に接続された前記複数の記録媒体を検出し、
次いで、前記検出された前記複数の記録媒体の各々から、前記ディレクトリツリーを読み出し、
次いで、最上位階層から順に、同一階層内における同名フォルダを、読み出した前記ディレクトリツリーから検索し、検索された同一階層内における同名フォルダを一つのフォルダとし、当該フォルダ内に当該フォルダに対応付けられた下位階層のフォルダを書き込む動作を繰り返して仮想ディレクトリツリーを作成し、
次いで、作成した前記仮想ディレクトリツリーに基づいて、前記複数の記録媒体に記憶されたファイルへのアクセスを管理することを特徴とするファイル管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器に対してディレクトリツリー構造の異なる複数の記録媒体を接続し、単一のディレクトリツリーを仮想的に構築するファイル管理方法及びファイル管理システムに関する。
【背景技術】
【０００２】
従来から、複数のディレクトリツリーに基づいて１つのディレクトリツリーを仮想的に構築し、ユーザによるファイルのアクセスを容易にすることができるファイル管理方法、ファイル管理装置が開示されている。
【０００３】
例えば、特許文献１には、複数のディレクトリツリーをレイヤのように重ね合わせて仮想ディレクトリを構成し、複数のディスレクトリツリーをアプリケーションからは単一のディレクトリのように見せ、ファイルを更新する際は、更新用のレイヤに書き込むことで論理的な上書きを可能とし、さらに予め他のディレクトリ以下に上書きしたいファイルを用意しておき、仮想ディレクトリの最上位レイヤへ配備するファイル管理装置・ファイル管理方法が開示されている。これによれば、過去のある時点のスナップショットの取得やマスターファイルの保持が可能であり、複数のファイルの同時追加についてもアトミックに行うことが可能となる。
また、例えば、特許文献２には、設置済ネットワークストレージが仮想一元化機能を使用せずに運用している状況で、新しいネットワークストレージを増設した場合であっても、設置済ネットワークストレージのディレクトリツリー構造を継承しつつ、その容量を拡張することができる仮想一元化方法が開示されている。
また、例えば、特許文献３には、新規ファイル格納時やファイル編集時に、記録媒体の容量が足りなかったとき、新しい記録媒体上のルートディレクトリ以下に、元の記録媒体上のディレクトリと同じパスのサブディレクトリを増設し、そこにファイルを格納するファイル管理装置及びファイル管理方法が開示されている。これによれば、ユーザから見たディレクトリの木構造を変化させずに記録媒体を追加して記憶容量を増加させることが可能となる。
【特許文献１】特開２００６−２６８４５６号公報
【特許文献２】特開２００４−０４６６６１号公報
【特許文献３】特開２００２−２４４９０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、仮想ディレクトリツリーに統合する複数の記録媒体に、ファイル名が共通する同名フォルダが存在している場合がある。しかしながら、上記特許文献１〜３には、仮想ディレクトリツリー作成時における当該同名フォルダの扱いについて何ら記載されておらず、複数の記録媒体に同名フォルダが存在している場合には、構築した仮想ディレクトリツリーに同名のフォルダが存在することとなってしまう。そのため、仮想ディレクトリツリーに統合する複数の記録媒体に同名フォルダが存在している場合に、上記特許文献１〜３のファイル管理技術では、ユーザから見た仮想ディレクトリツリーが煩雑となってしまい、所望のファイルへ容易にアクセスできないという問題があった。
【０００５】
本発明の課題は、複数のディレクトリツリーに基づいて単一のディレクトリツリーを仮想的に構築するファイル管理方法及びファイル管理システムにおいて、ユーザによるファイルへのアクセスをより容易化することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、請求項１に記載の発明は、電子機器に対して、ルートディレクトリが互いに異なるディレクトリツリーを有する複数の記録装置を接続してファイルを管理するファイル管理システムにおいて、
前記複数の記録装置は、一のマスタハードディスクドライブ及び一又は複数の外付ハードディスクドライブにより構成され、
前記電子機器に接続された前記複数の記録装置を検出する検出手段と、
前記検出手段により検出された前記複数の記録装置の各々から、前記ディレクトリツリーを読み出す読出手段と、
前記読出手段により読み出された前記ディレクトリツリーにおいて、最上位階層から順に、同一階層内における同名フォルダを検索し、検索された同一階層内における同名フォルダを一つのフォルダとし、当該フォルダ内に当該フォルダに対応付けられた下位階層のフォルダを書き込む動作を繰り返して仮想ディレクトリツリーを作成する作成手段と、
前記作成手段により作成された前記仮想ディレクトリツリーを前記マスタハードディスクドライブに記憶させる記憶制御手段と、
前記マスタハードディスクドライブに記憶された前記仮想ディレクトリツリーに基づいて、前記複数の記録装置に記憶されたファイルへのアクセスを管理する管理手段と、
前記電子機器に、新規の記録装置が接続されたことを検出する接続検出手段と、
前記接続検出手段により、前記新規の記録装置が接続されたことが検出された場合に、キー操作部におけるキー操作に基づいて、当該新規の記録装置のディレクトリツリーを、前記作成手段により作成された前記仮想ディレクトリツリーに統合するか否かをユーザに選択させる選択手段と、
前記選択手段により、前記新規の記録装置のディレクトリツリーを前記仮想ディレクトリツリーに統合すると選択された場合に、当該新規の記録装置がフォーマット済みであるか否かを判別する判別手段と、
前記判別手段により、前記新規の記録装置がフォーマット済みであると判別された場合に、当該新規の記録装置のファイルシステムを判別し、当該新規の記録装置のファイルシステムが、前記仮想ディレクトリツリーのファイルシステムと同一であるか否かを判断する判断手段と、
前記判断手段により、前記新規の記録装置のファイルシステムが、前記仮想ディレクトリツリーのファイルシステムと同一でないと判断された場合に、当該新規の記録装置のディレクトリツリーを仮想ディレクトリツリーに統合させることが不可能である旨を報知する報知手段と、
を備え、
前記作成手段は、
前記判断手段により、前記新規の記録装置のファイルシステムが、前記仮想ディレクトリツリーのファイルシステムと同一であると判断された場合に実行されることを特徴とする。
【０００７】
請求項２に記載の発明は、電子機器に対して、ルートディレクトリが互いに異なるディレクトリツリーを有する複数の記録媒体を接続してファイルを管理するファイル管理システムにおいて、
前記電子機器に接続された前記複数の記録媒体を検出する検出手段と、
前記検出手段により検出された前記複数の記録媒体の各々から、前記ディレクトリツリーを読み出す読出手段と、
前記読出手段により読み出された前記ディレクトリツリーにおいて、最上位階層から順に、同一階層内における同名フォルダを検索し、検索された同一階層内における同名フォルダを一つのフォルダとし、当該フォルダ内に当該フォルダに対応付けられた下位階層のフォルダを書き込む動作を繰り返して仮想ディレクトリツリーを作成する作成手段と、
前記作成手段により作成された前記仮想ディレクトリツリーに基づいて、前記複数の記録媒体に記憶されたファイルへのアクセスを管理する管理手段と、
を備えることを特徴とする。
【０００８】
請求項３に記載の発明は、請求項２に記載のファイル管理システムにおいて、前記電子機器に、新規の記録媒体が接続されたことを検出する接続検出手段と、
前記接続検出手段により、前記新規の記録媒体が接続されたことが検出された場合に、キー操作部におけるキー操作に基づいて、当該新規の記録媒体のディレクトリツリーを、前記作成手段により作成された前記仮想ディレクトリツリーに統合するか否かをユーザに選択させる選択手段と、を備え、
前記作成手段は、
前記選択手段により、前記新規の記録媒体のディレクトリツリーを前記仮想ディレクトリツリーに統合すると選択された場合に実行することを特徴とする。
【０００９】
請求項４に記載の発明は、請求項３に記載のファイル管理システムにおいて、前記選択手段により、前記新規の記録媒体のディレクトリツリーを前記仮想ディレクトリツリーに統合すると選択された場合に、当該新規の記録媒体がフォーマット済みであるか否かを判別する判別手段と、
前記判別手段により、前記新規の記録媒体がフォーマット済みであると判別された場合に、当該新規の記録媒体のファイルシステムを判別し、当該新規の記録媒体のファイルシステムが、前記仮想ディレクトリツリーのファイルシステムと同一であるか否かを判断する判断手段と、
前記判断手段により、前記新規の記録媒体のファイルシステムが、前記仮想ディレクトリツリーのファイルシステムと同一でないと判断された場合に、当該新規の記録媒体のディレクトリツリーを仮想ディレクトリツリーに統合させることが不可能である旨を報知する報知手段と、
を備えることを特徴とする。
【００１０】
請求項５に記載の発明は、電子機器に対して、ルートディレクトリが互いに異なるディレクトリツリーを有する複数の記録媒体を接続してファイルを管理するファイル管理方法において、
前記電子機器に接続された前記複数の記録媒体を検出し、
次いで、前記検出された前記複数の記録媒体の各々から、前記ディレクトリツリーを読み出し、
次いで、最上位階層から順に、同一階層内における同名フォルダを、読み出した前記ディレクトリツリーから検索し、検索された同一階層内における同名フォルダを一つのフォルダとし、当該フォルダ内に当該フォルダに対応付けられた下位階層のフォルダを書き込む動作を繰り返して仮想ディレクトリツリーを作成し、
次いで、作成した前記仮想ディレクトリツリーに基づいて、前記複数の記録媒体に記憶されたファイルへのアクセスを管理することを特徴とする。
【発明の効果】
【００１１】
請求項１に記載の発明によれば、複数の記録装置は、一のマスタハードディスクドライブ及び一又は複数の外付ハードディスクドライブにより構成され、検出手段により、電子機器に接続された複数の記録装置が検出され、読出手段により、検出手段により検出された複数の記録装置の各々から、ディレクトリツリーが読み出され、作成手段により、読出手段により読み出されたディレクトリツリーにおいて、最上位階層から順に、同一階層内における同名フォルダが検索され、検索された同一階層内における同名フォルダが一つのフォルダとされ、当該フォルダ内に当該フォルダに対応付けられた下位階層のフォルダを書き込む動作が繰り返されて仮想ディレクトリツリーが作成され、記憶制御手段により、作成手段により作成された仮想ディレクトリツリーがマスタハードディスクドライブに記憶され、管理手段により、マスタハードディスクドライブに記憶された仮想ディレクトリツリーに基づいて、複数の記録装置に記憶されたファイルへのアクセスが管理される。
したがって、複数の記録装置のディレクトリツリーにおける同一階層内に同名フォルダが存在する場合であっても、仮想ディレクトリツリーにおいて当該同名フォルダが一つのフォルダに統合されこととなるため、ユーザから見た仮想ディレクトリツリー構造が煩雑になることなく、ユーザが容易にアクセスすることができるファイル管理システムを提供することができる。
また、接続検出手段により、電子機器に、新規の記録装置が接続されたことが検出され、選択手段により、接続検出手段により、新規の記録装置が接続されたことが検出された場合に、キー操作部におけるキー操作に基づいて、新規の記録装置のディレクトリツリーが、作成手段により作成された仮想ディレクトリツリーに統合するか否かがユーザに選択され、判別手段により、選択手段により、新規の記録装置のディレクトリツリーが仮想ディレクトリツリーに統合すると選択された場合に、新規の記録装置がフォーマット済みであるか否かが判別され、判断手段により、判別手段により、新規の記録装置がフォーマット済みであると判別された場合に、当該新規の記録装置のファイルシステムが判別され、当該新規の記録装置のファイルシステムが、仮想ディレクトリツリーのファイルシステムと同一であるか否かが判断され、報知手段により、判断手段により、新規の記録装置のファイルシステムが、仮想ディレクトリツリーのファイルシステムと同一でないと判断された場合に、新規の記録装置のディレクトリツリーを仮想ディレクトリツリーに統合させることが不可能である旨が報知され、作成手段は、判断手段により新規の記録装置のファイルシステムが、仮想ディレクトリツリーのファイルシステムと同一であると判断された場合に実行される。
したがって、仮想ディレクトリツリー作成後であっても、新規の記録装置のディレクトリツリーを、簡単な操作で仮想ディレクトリツリーに統合することができるとともに、新規の記録装置のディレクトリツリーを仮想ディレクトリツリーに統合できない場合には、ユーザはその旨を確実に把握できることとなる。
【００１２】
請求項２に記載の発明によれば、検出手段により、電子機器に接続された複数の記録媒体が検出され、読出手段により、検出手段により検出された複数の記録媒体の各々から、ディレクトリツリーが読み出され、作成手段により、読出手段により読み出されたディレクトリツリーにおいて、最上位階層から順に、同一階層内における同名フォルダが検索され、検索された同一階層内における同名フォルダが一つのフォルダとされ、当該フォルダ内に当該フォルダに対応付けられた下位階層のフォルダを書き込む動作が繰り返されて仮想ディレクトリツリーが作成され、管理手段により、作成手段により作成された仮想ディレクトリツリーに基づいて、複数の記録媒体に記憶されたファイルへのアクセスが管理される。
したがって、複数の記録媒体のディレクトリツリーにおける同一階層内に同名フォルダが存在する場合であっても、仮想ディレクトリツリーにおいて当該同名フォルダが一つのフォルダに統合されこととなるため、ユーザから見た仮想ディレクトリツリー構造が煩雑になることなく、ユーザが容易にアクセスすることができるファイル管理システムを提供することができる。
【００１３】
請求項３に記載の発明によれば、請求項２に記載の発明と同様の効果が得られるのは無論のこと、接続検出手段により、電子機器に、新規の記録媒体が接続されたことが検出され、選択手段により、接続検出手段により、新規の記録媒体が接続されたことが検出された場合に、キー操作部におけるキー操作に基づいて、当該新規の記録媒体のディレクトリツリーを、作成手段により作成された仮想ディレクトリツリーに統合するか否かがユーザにより選択され、作成手段は、選択手段により、新規の記録媒体のディレクトリツリーを前記仮想ディレクトリツリーに統合すると選択された場合に実行される。
したがって、仮想ディレクトリツリー作成後であっても、新規の記録媒体のディレクトリツリーを、簡単な操作で仮想ディレクトリツリーに統合することができる。
【００１４】
請求項４に記載の発明によれば、請求項３に記載の発明と同様の効果が得られるのは無論のこと、判別手段により、選択手段により、新規の記録媒体のディレクトリツリーを仮想ディレクトリツリーに統合すると選択された場合に、当該新規の記録媒体がフォーマット済みであるか否かが判別され、判断手段により、判別手段により、新規の記録媒体がフォーマット済みであると判別された場合に、新規の記録媒体のファイルシステムが判別され、新規の記録媒体のファイルシステムが、仮想ディレクトリツリーのファイルシステムと同一であるか否かが判断され、報知手段により、判断手段により、新規の記録媒体のファイルシステムが、仮想ディレクトリツリーのファイルシステムと同一でないと判断された場合に、新規の記録媒体のディレクトリツリーを仮想ディレクトリツリーに統合させることが不可能である旨が報知される。
したがって、新規の記録媒体のディレクトリツリーを仮想ディレクトリツリーに統合できない場合には、ユーザはその旨を確実に把握できることとなる。
【００１５】
請求項５に記載の発明は、電子機器に接続された複数の記録媒体が検出され、次いで、検出された複数の記録媒体の各々から、ディレクトリツリーが読み出され、次いで、最上位階層から順に、同一階層内における同名フォルダが、読み出されたディレクトリツリーから検索され、検索された同一階層内における同名フォルダが一つのフォルダとされ、当該フォルダ内に当該フォルダに対応付けられた下位階層のフォルダが書き込む動作を繰り返して仮想ディレクトリツリーが作成され、次いで、作成された仮想ディレクトリツリーに基づいて、複数の記録媒体に記憶されたファイルへのアクセスが管理される。
したがって、複数の記録媒体のディレクトリツリーにおける同一階層内に同名フォルダが存在する場合であっても、仮想ディレクトリツリーにおいて当該同名フォルダが一つのフォルダに統合されることとなるため、ユーザから見た仮想ディレクトリツリー構造が煩雑になることなく、ユーザが容易にアクセスすることができるファイル管理方法を提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態を、図面を参照しながら詳細に説明する。
本実施形態では、本発明のファイル管理システムを、パーソナルコンピュータ(Personal Computer: PC)システムに適用した形態について説明する。
【００１７】
図１は、本実施形態におけるファイル管理システム１００の全体構成を示す図である。
本実施形態のファイル管理システム１００は、例えば、図１に示すように、電子機器としてのパーソナルコンピュータ（以下、「ＰＣ」という）１に、複数の記録装置（記録媒体）が接続されている。記録装置は、例えば、磁気ディスクに対してデータの読み書きを行うハードディスクドライブ（以下、「ＨＤＤ」とする）２である。
具体的には、ＰＣ１には、例えば、一のマスタハードディスクドライブ（以下、「マスタＨＤＤ」とする）２１と、一又は複数の（本実施形態では、例えば、１つ）の着脱可能な外付ハードディスクドライブ（以下、「外付ＨＤＤ」とする）２２とが接続され、マスタＨＤＤ２１及び外付ＨＤＤ２２のそれぞれには、ルートディレクトリが互いに異なるディレクトリツリー構造を有するファイル群が記憶されている。
なお、マスタＨＤＤ２１はＰＣ１の筐体に内蔵されていても良く、又は、ハードディスクケース等によりＰＣ１の筐体に外付けされていても良い。また、外付ＨＤＤ２２の数も限定されず、２つ以上であっても良い。さらに、マスタＨＤＤ２１・外付ＨＤＤ２２等の種別は区別しなくても良い。
【００１８】
図２は、図１におけるファイル管理システム１００の要部構成を例示するブロック図である。
ＰＣ１は、図２に示すように、ユーザがキー操作を行って、各種指示を入力するためのキー操作部１１と、各種表示データを表示する表示部１２と、マスタＨＤＤ２１及び外付ＨＤＤ２２をＰＣ１に接続して、当該機器間におけるデータの送受信を行うＩ／Ｆ部１３と、ＰＣ１全体を統括制御するための制御部１４等を備えて構成される。
【００１９】
キー操作部１１は、カーソルキー、数字キー、各種機能キー等を備えるキーボードや、マウス等により構成され、キーボード及びマウスにおいて押下されたキーに基づく入力操作信号を制御部１４に対して出力する。
【００２０】
表示部１２は、ＬＣＤ(Liquid Display Panel)等の図示しないディスプレイを備えて構成され、ＣＰＵ１４１による制御に従い、各種の表示データをディスプレイに表示させる。
【００２１】
Ｉ／Ｆ部１３は、例えば、ＡＴＡ(AT Attachment)規格等が採用されたインターフェースであり、ＰＣ１に接続されたマスタＨＤＤ２１・外付ＨＤＤ２２との間で各種情報を送受信する。
具体的には、Ｉ／Ｆ部１３は、例えば、制御部１４から制御に従って、ＰＣ１に接続されたＨＤＤ２から、後述のファイル管理情報２１１、２２１や各種ファイル等を送受信する。
【００２２】
制御部１４は、例えば、ＣＰＵ（Central Processing Unit）１４１、メモリ部１４２、ＲＯＭ（Read Only Memory）１４３等を備えて構成されている。
【００２３】
ＣＰＵ１４１は、ＰＣ１の各部から入力された入力信号や、キー操作部１１における各種キーの押下操作によって入力された入力操作信号等に応じて、ＲＯＭ１４３に格納された各種プログラムを実行するとともに、実行にかかるプログラムに基づいてＰＣ１の各部に出力信号を出力することにより、ファイル管理システム１００の動作全般を統括制御する。
【００２４】
メモリ部１４２は、例えば、ＲＡＭ（Random Access Memory）等の揮発性メモリからなるワークエリア１４２１を備えており、ＣＰＵ１４１によって各種プログラムが実行される際に生じる処理結果や、入力されたデータ等をこのワークエリア１４２１に記憶させる。
【００２５】
また、メモリ部１４２は、ＥＰＲＯＭ（Erasable Programmable ROM）等の不揮発性メモリからなるデータエリア１４２２を備えている。データエリア１４２２は、例えば、接続情報管理テーブル１４２２ａと、領域管理テーブル１４２２ｂ等を備えている。
【００２６】
接続情報管理テーブル１４２２ａは、例えば、ＰＣ１に接続されているＨＤＤ２を管理するための情報である。具体的には、接続情報管理テーブル１４２２ａは、図３に示すように、ＰＣ１に接続されたＨＤＤ２毎に、機器ＩＤと、マスタＨＤＤであるか或いは外付ＨＤＤであるかを示す種別情報と、仮想ディレクトリツリーに統合するＨＤＤ２であるか否かを示すメンバ登録情報等を対応付けて記憶している。
【００２７】
領域管理テーブル１４２２ｂは、例えば、ＰＣ１に接続されたそれぞれのＨＤＤ２における記録済み領域、未記録領域、空き容量等を記憶しており、新規のデータを何れかのＨＤＤ２に記録する際に、この領域管理テーブル１４２２ｂが参照されて、記録先のＨＤＤ２と、記録先のアドレスが決定される。
【００２８】
ＲＯＭ１４３は、例えば、不揮発性メモリから成るプログラム格納エリアを有しており、具体的には、検出プログラム１４３ａ、読出プログラム１４３ｂ、作成プログラム１４３ｃ、記憶制御プログラム１４３ｄ、管理プログラム１４３ｅ、接続検出プログラム１４３ｆ、選択プログラム１４３ｇ、判別プログラム１４３ｈ、判断プログラム１４３ｉ、報知プログラム１４３ｊ等を格納している。
【００２９】
検出プログラム１４３ａは、例えば、ＣＰＵ１４１に、ＰＣ１に接続された複数のＨＤＤ２を検出する機能を実現させるためのプログラムである。
具体的には、ＣＰＵ１４１は、キー操作部１１におけるキー操作により、仮想ディレクトリツリーを作成する旨の指示がなされた場合等の所定のタイミングで、仮想ディレクトリツリー作成処理を開始する。
ＣＰＵ１４１は、仮想ディレクトリツリー作成処理を開始すると、まず始めに、Ｉ／Ｆ部１３において、ＰＣ１に接続されたＨＤＤ２を検出させ、検出されたＨＤＤ２の機器ＩＤ、種別情報等を取得して、図４に示すように、表示部１２のディスプレイに仮想ディレクトリツリー設定画面を表示させる。仮想ディレクトリ設定画面では、ＰＣ１に接続された接続されたＨＤＤ２（例えば、マスタＨＤＤ２１及び外付ＨＤＤ２２）のそれぞれについて、仮想ディレクトリツリーに統合するか否かが選択できるようになっており、キー操作部１１におけるキー操作により、統合する／しないがユーザにより選択されると、ＣＰＵ１４１は、接続情報管理テーブル１４２２ａに、ＰＣ１に接続されていると認識されたＨＤＤ２の各々について、ＨＤＤ２のＩＤ情報と、マスタＨＤＤであるか或いは外付ＨＤＤであるかを示す種別情報と、仮想ディレクトリツリーに統合するＨＤＤ２であるか否かを示すメンバ登録情報を登録する。
ＣＰＵ１４１は、かかる検出プログラム１４３ａを実行することにより、検出手段として機能する。
【００３０】
読出プログラム１４３ｂは、例えば、ＣＰＵ１４１に、前述の検出プログラム１４３ａの実行により検出された複数のＨＤＤ２の各々から、ディレクトリツリーを読み出す機能を実現させるためのプログラムである。
具体的には、検出プログラム１４３ａの実行においてＰＣ１に接続されたＨＤＤ２が検出され、その中から仮想ディレクトリツリーに統合するＨＤＤ２がユーザにより選択されると、ＣＰＵ１４１は、仮想ディレクトリツリーに統合するＨＤＤ２（例えば、マスタＨＤＤ２１及び外付ＨＤＤ２２）のそれぞれから、そのＨＤＤ２に記録されているディレクトリツリーとしてのファイル管理情報２１１、２２１を読み出す。
ＣＰＵ１４１は、かかる読出プログラム１４３ｂを実行することにより、読出手段として機能する。
【００３１】
ここで、図５及び図６を参照しながら、マスタＨＤＤ２１及び外付ＨＤＤ２２に記憶されるファイルとその階層構造について説明する。
図５において、図５（ａ）は、マスタＨＤＤ２１に格納されているファイル管理情報２１１であり、図５（ｂ）は、外付ＨＤＤ２２に格納されているファイル管理情報２２１である。また、図６において、図６（ａ）は、マスタＨＤＤ２１に記憶されているファイルの階層構造を示し、図６（ｂ）は、外付ＨＤＤ２２に記憶されているファイルの階層構造を示す。
【００３２】
各ＨＤＤ２１、２２に格納されたファイル管理情報２１１、２２１は、そのＨＤＤ２１、２２に格納された各ファイルに関する情報と、当該ファイルのデータ構造であるディレクトリツリーに関する情報を記憶している。
具体的には、ファイル管理情報２１１、２２１は、図５に示すように、そのＨＤＤ２に格納されているファイル毎に、ファイル名、磁気ディスクにおいてファイルが記憶された領域の先頭論理ブロックアドレス、ファイルサイズ、ファイルの格納場所を示すパス（絶対パス）、ファイルの作成日時、ファイルの更新日時等を対応づけて記憶している。
パスは、そのＨＤＤ２のディレクトリツリーにおける各ファイルの位置を示しており、以下の説明では、当該パスを、後述の仮想パスと区別するため「実パス」という。実パスは、“ルートディレクトリ／フォルダ名／…／ファイル名”という形式で表現され、例えば、マスタＨＤＤ２１に記憶された「ｆｉｌｅ１０１」というファイルにアクセスするためには、「Ｃ：（ルートディレクトリ）→ｆｏｌｄ．ａ→ｆｏｌｄ．ｄ→ｆｉｌｅ１０１」というルートを辿ることとなる。
【００３３】
作成プログラム１４３ｃは、例えば、ＣＰＵ１４１に、前述の読出プログラム１４３ｂの実行により読み出されたディレクトリツリーにおいて、最上位階層から順に、同一階層内における同名フォルダを検索し、検索された同一階層内における同名フォルダを一つのフォルダとし、当該フォルダ内に当該フォルダに対応付けられた下位階層のフォルダを順に書き込む動作を繰り返して仮想ディレクトリツリーを作成する機能を実現させるためのプログラムである。
具体的には、ＣＰＵ１４１は、ＰＣ１に接続されたＨＤＤ２（例えば、マスタＨＤＤ２１及び外付ＨＤＤ２２）のそれぞれから、ディレクトリツリー構造のファイル群を管理するファイル管理情報２１１、２２１を読み出すと、各ＨＤＤ２から読み出したファイル管理情報２１１、２２１に記憶されている各ファイルの実パスに基づいて、各ディレクトリツリーの各階層におけるファイルを走査して仮想ディレクトリツリーの構築を行う。さらに、ＣＰＵ１４１は、構築した仮想ディレクトリツリーにおける各ファイルの位置を示す仮想パスを決定し、決定した各ファイルの仮想パスに基づいて仮想ディレクトリツリー情報２１２を作成することにより、仮想ディレクトリツリーを作成する。
【００３４】
ここで、図７及び図８を参照しながら、作成プログラム１４３ｃの実行における複数のディレクトリツリーを統合する処理の具体例について説明する。
図７は、図５（ａ）・図６（ａ）に示すマスタＨＤＤ２１のディレクトリツリーと、図５（ｂ）・図６（ｂ）に示す外付ＨＤＤ２２のディレクトリツリーに基づいて、仮想ディレクトリツリー作成処理が行われた場合に作成される仮想ディレクトリツリー情報２１２を例示する図である。また、図８は、図５（ａ）・図６（ａ）に示すマスタＨＤＤ２１のディレクトリツリーと、図５（ａ）・図６（ｂ）に示す外付ＨＤＤ２２のディレクトリツリーに基づいて、仮想ディレクトリツリー作成処理が行われた場合に作成される仮想ディレクトリツリーの階層構造を例示する図である。
【００３５】
具体的には、図５及び図６に例示するマスタＨＤＤ２１のディレクトリツリー及び外付ＨＤＤ２２のディレクトリツリーを統合して、仮想ディレクトリツリーを作成する場合、ＣＰＵ１４１は、まず、マスタＨＤＤ２１のルートディレクトリ（即ち、例えば、「Ｃ：」）を仮想ディレクトリツリーのルートディレクトリと決定する。
次に、各ディレクトリツリーにおけるルートディレクトリ直下の階層（なお、ルートディレクトリ直下の階層を「最上位階層」又は「第１階層」とし、ルートディレクトリを「第０階層」とする）を走査して、複数のディレクトリツリーの第１階層において、フォルダ名が共通する同名フォルダを検索する。複数のディレクトリツリーの第１階層に同名フォルダが存在する場合には、ＣＰＵ１４１は、これらの同名フォルダを１つに統合して、仮想ディレクトリツリーの第１階層におけるフォルダとするとともに、同名フォルダ以外のフォルダのそれぞれを、仮想ディレクトリツリーの第１階層におけるフォルダとする。
【００３６】
例えば、マスタＨＤＤ２１のディレクトリツリーの第１階層に「ｆｏｌｄ．ａ」「ｆｏｌｄ．ｂ」「ｆｏｌｄ．ｃ」が存在し、外付ＨＤＤ２２のディレクトリツリーの第１階層に「ｆｏｌｄ．ａ」「ｆｏｌｄ．ｃ」「ｆｏｌｄ．ｄ」が存在する場合には、ＣＰＵ１４１は、それぞれのディレクトリツリーの第１階層に共通して存在する「ｆｏｌｄ．ａ」と「ｆｏｌｄ．ｃ」のそれぞれを、仮想ディレクトリツリーの第１階層における１つのフォルダとするともに、マスタＨＤＤ２１の第１階層のみに存在する「ｆｏｌｄ．ｄ」と、外付ＨＤＤ２２の第１階層のみに存在する「ｆｏｌｄ．ｄ」のそれぞれを、仮想ディレクトリツリーの第１階層におけるフォルダとする。
【００３７】
仮想ディレクトリツリーの第１階層のフォルダが決定されると、次に、ＣＰＵ１４１は、仮想ディレクトリツリーの第１階層に存在するフォルダの中で最下位階層でないフォルダ（すなわち、「ｆｏｌｄ．ａ」「ｆｏｌｄ．ｃ」「ｆｏｌｄ．ｄ」のように、下位階層にフォルダが存在しないフォルダ）のうち、１つのフォルダ内を検索する。
具体的には、ＣＰＵ１４１は、第１階層における最下位階層でなく且つ未検索のフォルダの一つを検索対象として、複数のディレクトリツリーにおいて、当該検索中のフォルダ内における１つ下位の階層（第１階層の１つ下位の階層を「第２階層」とする）を走査し、フォルダ名が共通する同名フォルダを検索する。すなわち、ＣＰＵ１４１は、検索中のフォルダが実際に存在するディレクトリツリーを参照し、それらのディレクトリツリーにおける当該検索中のフォルダ内の第２階層を走査する。検索中のフォルダが複数のディレクトリツリーに存在し、複数のディレクトリツリーにおける当該検索中のフォルダ内の第２階層に、フォルダ名が共通する同名フォルダが存在する場合には、ＣＰＵ１４１は、これらの同名フォルダを１つに統合して、仮想ディレクトリツリーにおける検索中のフォルダ内における第２階層のフォルダとするとともに、同名フォルダ以外のフォルダのそれぞれを、仮想ディレクトリツリーにおける検索中のフォルダ内における第２階層のフォルダとする。
【００３８】
例えば、仮想ディレクトリツリーの第１階層の「ｆｏｌｄ．ａ」内を検索する場合、ＣＰＵ１４１は、当該「ｆｏｌｄ．ａ」が第１階層に存在するマスタＨＤＤ２１のディレクトリツリー及び外付ＨＤＤ２２のディレクトリツリーをそれぞれ参照して、各ディレクトリツリーの第１階層に存在する「ｆｏｌｄ．ａ」の１つ下位の第２階層を走査して、マスタＨＤＤ２１のディレクトリツリーと外付ＨＤＤ２２のディレクトリツリーに共通して存在する同名フォルダを検索する。マスタＨＤＤ２１のディレクトリツリーの「ｆｏｌｄ．ａ」内の第２階層に「ｆｏｌｄ．ｄ」と「ｆｏｌｄ．ｆ」が存在し、外付ＨＤＤ２２のディレクトリツリーの「ｆｏｌｄ．ａ」内の第２階層に「ｆｏｌｄ．ｆ」が存在する場合には、ＣＰＵ１４１は、それぞれのディレクトリツリーの「ｆｏｌｄ．ａ」内の第２階層に共通して存在する「ｆｏｌｄ．ｆ」を、仮想ディレクトリツリーの「ｆｏｌｄ．ａ」内の第２階層における１つのフォルダとするとともに、マスタＨＤＤ２１の第２階層のみに存在する「ｆｏｌｄ．ｄ」を、仮想ディレクトリツリーの「ｆｏｌｄ．ａ」内の第２階層におけるフォルダとする。
【００３９】
ＣＰＵ１４１は、上述の処理を上位の階層から下位の階層の順番で、最下位階層のフォルダ内の検索が終了するまで繰り返し行うとともに、最下位階層のフォルダ内の検索が終了すると、１つ上位の階層に戻って当該処理を繰り返し、さらに、各ディレクトリツリーにおける全階層の検索が終了するまでこの処理を繰り返す。すなわち、ＣＰＵ１４１は、各ディレクトリツリーにおける片側から順に（例えば、左側から右側の順番で）走査することとなる。
【００４０】
ＣＰＵ１４１は、上記の処理により、各ディレクトリツリーにおける全階層の走査が終了して、１つの仮想ディレクトリツリーが構築されると、構築された仮想ディレクトリツリーにおける各ファイルの位置を示す仮想パスを決定する。当該仮想パスは、ＨＤＤ２のディレクトリツリーにおけるファイルの実際の位置を示す実パスとは異なり、仮想的に構築された仮想ディレクトリツリーにおけるファイルの位置を示している。
各ファイルの仮想パスが決定されると、ＣＰＵ１４１は、これらを仮想ディレクトリツリー情報２１２に記憶させる。
仮想ディレクトリツリー情報２１２は、例えば、図７に示すように、仮想ディレクトリツリーに統合した複数のディレクトリツリーにおけるファイルのそれぞれに、ファイル名、決定されたファイルの仮想パス、ファイルを格納しているＨＤＤ２を識別する機器ＩＤ、ファイルの実際の位置を示す実パス、磁気ディスクにおいてファイルが記憶された先頭論理ブロックアドレス、ファイルサイズ、等を記憶している。
ＣＰＵ１４１は、かかる作成プログラム１４３ｃを実行することにより、作成手段として機能する。
【００４１】
記憶制御プログラム１４３ｄは、例えば、ＣＰＵ１４１に、前述の作成プログラム１４３ｃの実行により作成された仮想ディレクトリツリーをマスタＨＤＤ２１に記憶させる機能を実現させるためのプログラムである。
具体的には、ＣＰＵ１４１は、作成プログラム１４３ｃの実行において、仮想ディレクトリツリーを構築して、仮想ディレクトリツリーにおける各ファイルのファイル名、仮想パス、実パス等を記憶する仮想ディレクトリツリー情報２１２を作成すると、作成した仮想ディレクトリツリー情報２１２を、Ｉ／Ｆ部１３を介してＰＣ１に接続されたマスタＨＤＤ２１に格納する。
ＣＰＵ１４１は、かかる記憶制御プログラム１４３ｄを実行することにより、記憶制御手段として機能する。
【００４２】
管理プログラム１４３ｅは、例えば、ＣＰＵ１４１に、マスタＨＤＤ２１に記憶された仮想ディレクトリツリーに基づいて、複数のＨＤＤ２に記憶されたファイルのアクセスを管理する機能を実現させるためのプログラムである。
ＣＰＵ１４１は、キー操作部１１におけるキー操作により、仮想ディレクトリツリーに統合されたファイルに関するファイル情報の表示要求が行われると、マスタＨＤＤ２１に記憶させた仮想ディレクトリツリー情報２１２を読み出し、読み出した仮想ディレクトリツリー情報２１２に基づいて表示部１２にファイル情報を表示させる。
また、ＣＰＵ１４１は、キー操作部１１におけるキー操作により、仮想ディレクトリツリーに統合されたファイルのうち、一のファイルに対して読み出し要求が行われると、マスタＨＤＤ２１に記憶された仮想ディレクトリツリー情報２１２を読み出し、読み出した仮想ディレクトリツリー情報２１２から、読み出し要求のなされたファイルの格納されたＨＤＤ２の識別ＩＤ及び実パスを取得し、取得した識別ＩＤ及び実パスに基づいて、当該読み出し要求のなされたファイルが実際に格納されているＨＤＤ２にアクセスし、このファイルを読み出して表示部１２に表示させる。
さらに、ＣＰＵ１４１は、キー操作部１１におけるキー操作により、仮想ディレクトリツリーに統合されたファイルのうち、一のファイルに対して削除要求や変更要求等が行われると、マスタＨＤＤ２１に記憶された仮想ディレクトリツリー情報２１２を読み出し、読み出した仮想ディレクトリツリー情報２１２から、削除・変更要求等がなされたファイルの格納されたＨＤＤ２の識別ＩＤ及び実パスを取得し、取得した識別ＩＤ及び実パスに基づいて、当該削除・変更要求等のなされたファイルが実際に格納されているＨＤＤ２にアクセスし、削除や変更等を行う。さらに、ＣＰＵ１４１は、ファイルに対して削除・変更等が行なわれた場合には、当該ファイルが実際に記憶されたＨＤＤ２のファイル管理情報（例えば、２１１、２２１）を更新するととともに、これに適合するよう、マスタＨＤＤ２１に記憶された仮想ディレクトリツリー情報２１２を更新する。
ＣＰＵ１４１は、かかる管理プログラム１４３ｅを実行することにより、管理手段として機能する。
【００４３】
上述の管理プログラム１４３ｅの実行において、複数のＨＤＤ２に記憶されたファイルは、単一の仮想ディレクトリツリー構造で表示されることとなる。
すなわち、ユーザがファイルにアクセスする際に、実際には複数のＨＤＤ２１、２２に分散されて格納されているフォルダが、ユーザには、一つのディレクトリツリーに統合されているように見える。すると、例えば、ユーザが、外付ＨＤＤ２２に格納された「ｆｉｌｅ１９−１１１０」というファイルを読み出したい場合に、単一の仮想ディレクトリツリーにおける「ｆｉｌｅ１９−１１１０」に対してアクセス要求を行えば、ユーザが実際のデータが何れのＨＤＤ２に格納されているかを認識していない場合であっても、当該ファイルの実パス「Ｅ：／ｆｏｌｄ．ａ／ｆｏｌｄ．ｆ／ｆｏｌｄ．１９−１１１０」に基づいて、このファイルを実際に記憶する外付ＨＤＤ２２から当該ファイルが読み出されることとなり、容易にファイルに対してアクセスできることとなる。
また、同一階層内に同名フォルダが存在する場合であっても、仮想ディレクトリツリーでは、当該同名フォルダが一つのフォルダに統合されこととなるため、ユーザから見た仮想ディレクトリツリー構造が煩雑になることなく、ファイルに対して更に容易にアクセスすることができる。すなわち、例えば、マスタＨＤＤ２１のディレクトリツリーの「ｆｏｌｄ．ａ」内の第２階層に「ｆｏｌｄ．ｄ」と「ｆｏｌｄ．ｆ」が存在し、外付ＨＤＤ２２のディレクトリツリーの「ｆｏｌｄ．ａ」内の第２階層に「ｆｏｌｄ．ｆ」が存在する場合であっても、ユーザには、仮想ディレクトリツリーの第１階層の「ｆｏｌｄ．ａ」内の第２階層に「ｆｏｌｄ．ｆ」と「ｆｏｌｄ．ｄ」の２つのフォルダのみが存在しているように見えることとなって、ユーザにとって見易いツリー構造となる。
【００４４】
接続検出プログラム１４３ｆは、例えば、ＣＰＵ１４１に、ＰＣ１に新規のＨＤＤ２が接続されたことを検出する機能を実現させるためのプログラムである。
ＣＰＵ１４１は、かかる接続検出プログラム１４３ｆを実行することにより、接続検出手段として機能する。
【００４５】
選択プログラム１４３ｇは、例えば、ＣＰＵ１４１に、前述の接続検出プログラム１４３ｆの実行により、新規のＨＤＤ２が接続されたことが検出された場合に、キー操作部１１におけるキー操作に基づいて、当該新規のＨＤＤ２のディレクトリツリーを、作成プログラム１４３ｃの実行により作成された仮想ディレクトリツリーに統合するか否かをユーザに選択させる機能を実現させるためのプログラムである。
具体的には、ＣＰＵ１４１は、ＰＣ１に新規のＨＤＤ２が接続されたことが検出されると、メモリ部１４２等の所定の領域に記憶された新規ＨＤＤ設定画面用のデータを読み出して表示部１２のディスプレイに表示させる。
図９は、表示部１２のディスプレイに表示される新規ＨＤＤ設定画面を例示する図である。図９に示すように、新規ＨＤＤ設定画面は、ＰＣ１に接続された新規のＨＤＤ２に記憶されているディレクトリツリー構造のファイルを、作成プログラム１４３ｃの実行により作成される仮想ディレクトリツリーに統合するか否かをユーザに選択させる。
ＣＰＵ１４１は、かかる選択プログラム１４３ｇを実行することにより、選択手段として機能する。
【００４６】
判別プログラム１４３ｈは、例えば、ＣＰＵ１４１に、前述の選択プログラム１４３ｇの実行により、新規のＨＤＤ２のディレクトリツリーを仮想ディレクトリツリーに統合すると選択された場合に、当該新規のＨＤＤ２がフォーマット済みであるか否かを判別する機能を実現させるためのプログラムである。
具体的には、前述の選択プログラム１４３ｇの実行において表示部１２のディスプレイに表示される新規ＨＤＤ設定画面において、ユーザが、新規のＨＤＤ２におけるディレクトリツリーを仮想ディレクトリツリーに統合すると選択した場合に、ＣＰＵ１４１は、当該新規のＨＤＤ２がフォーマット済みであるか否かを判別し、未フォーマットの場合には、このＨＤＤ２に対して、初期化データを書き込むフォーマット処理を行う。
ＣＰＵ１４１は、かかる判別プログラム１４３ｈを実行することにより、判別手段として機能する。
【００４７】
判断プログラム１４３ｉは、例えば、ＣＰＵ１４１に、前述の判別プログラム１４３ｈの実行により、新規のＨＤＤ２がフォーマット済みであると判別された場合に、当該新規のＨＤＤ２のファイルシステムを判別し、当該新規のＨＤＤ２のファイルシステムが、仮想ディレクトリツリーのファイルシステムと同一であるか否かを判断する機能を実現させるためのプログラムである。
具体的には、ＣＰＵ１４１は、判別プログラム１４３ｈの実行において、新規のＨＤＤ２がフォーマット済みであると判別された場合、又は、未フォーマットであると判別されてフォーマット処理が行われた場合に、ＣＰＵ１４１は、新規ＨＤＤ２のファイルシステム（例えば、Windows（登録商標）のFAT（File Allocation System）・NTFS（NT File System）等）が、仮想ディレクトリツリーのファイルシステムと同一であるか否かを判断して、仮想ディレクトリツリーに統合できるか否かを判断する。ＣＰＵ１４１は、新規ＨＤＤ２のファイルシステムが仮想ディレクトリツリーのファイルシステムと異なると判断し、且つ、これらのファイルシステム間に互換性がない場合には、ＣＰＵ１４１は、当該新規のＨＤＤ２のディレクトリツリーを、仮想ディレクトリツリーに統合できないと判断する。
ＣＰＵ１４１は、かかる判断プログラム１４３ｉを実行することにより、判断手段として機能する。
【００４８】
報知プログラム１４３ｊは、例えば、ＣＰＵ１４１に、前述の判断プログラム１４３ｉの実行により、新規のＨＤＤ２のファイルシステムが、仮想ディレクトリツリーのファイルシステムと同一でないと判断された場合に、新規のＨＤＤ２のディレクトリツリーを仮想ディレクトリツリーに統合させることが不可能である旨を報知する機能を実現させるためのプログラムである。
具体的には、新規のＨＤＤ２のファイルシステムが、仮想ディレクトリツリーのファイルシステムと同一でなく、且つ、これらのファイルシステム同士に互換性が無く、新規ＨＤＤ２のディレクトリツリーを仮想ディレクトリツリーに統合できないと判断すると、ＣＰＵ１４１は、メモリ部１４２等の所定の領域に記憶された報知画面用のデータを読み出して、図１０に示すように、表示部１２のディスプレイに新規のＨＤＤ２のディレクトリツリーを仮想ディレクトリツリーに統合させることができない旨の報知画面を表示させ、ユーザに報知する。
ＣＰＵ１４１は、かかる報知プログラム１４３ｊを実行することにより、報知手段として機能する。
【００４９】
さらに、ＣＰＵ１４１は、ＰＣ１に接続された新規のＨＤＤ２について、識別ＩＤと、マスタＨＤＤであるか或いは外付ＨＤＤであるかの種別情報と、仮想ディレクトリツリーに統合するか否かのメンバ登録情報と、をデータエリア１４２２に格納された接続情報管理テーブル１４２２ａに記憶させる。
【００５０】
また、前述の判断プログラム１４３ｉの実行により、前述の判断プログラム１４３ｉの実行により、新規のＨＤＤ２のファイルシステムが、仮想ディレクトリツリーのファイルシステムと同一である又は互換性があるとされて、仮想ディレクトリツリーに統合可能と判断された場合には、前述した作成プログラム１４３ｃが実行されることとなる。すなわち、ＣＰＵ１４１は、新規のＨＤＤ２からディレクトリツリー構造のファイルを管理するファイル管理情報を読み出して、読み出したファイル管理情報に基づいて、新規ＨＤＤ２のディレクトリツリーをマスタＨＤＤ２１に記憶されている仮想ディレクトリツリーに統合する処理を行う。
【００５１】
次に、図１１のフローチャートを参照しながら、複数のディレクトリツリーに基づいて、単一のディレクトリツリーを仮想的に構築する仮想ディレクトリツリー作成処理について説明する。
まず、ステップＳ１において、ＣＰＵ１４１は、キー操作部１１におけるキー操作等により、仮想ディレクトリツリーの作成を指示する入力が有るか否かを判断し、仮想ディレクトリツリーの作成を指示する入力が有ると判断すると（ステップＳ１；Ｙｅｓ）、仮想ディレクトリツリー作成処理を開始する。ステップＳ２において、ＣＰＵ１４１は、ＰＣ１に接続されたＨＤＤ２を検出し、ステップＳ３において、表示部１２のディスプレイに仮想ディレクトリツリー設定画面を表示させて、ＰＣ１に接続されたそれぞれのＨＤＤ２について、仮想ディレクトリツリーに統合するか否かをユーザに選択させる。ステップＳ４において、ＣＰＵ１４１は、接続情報管理テーブル１４２２ａに、ＰＣ１に接続されていると検出された各ＨＤＤ２について、ＨＤＤ２のＩＤ情報と、マスタＨＤＤであるか或いは外付ＨＤＤであるかを示す種別情報と、仮想ディレクトリツリーに統合するＨＤＤ２であるか否かを示すメンバ登録情報等を登録する。
【００５２】
次に、ステップＳ５において、ＣＰＵ１４１は、ＰＣ１に接続されたＨＤＤ２のうち、仮想ディレクトリツリーに統合すると選択されたＨＤＤ２のそれぞれから、ディレクトリツリーとしてのファイル管理情報（例えば、２１１、２２１）を読み出す。各ＨＤＤ２からディレクトリツリーを読み出すと、ＣＰＵ１４１は、まず始めに、ステップＳ６において、マスタＨＤＤ２１のルートディレクトリを、仮想ディレクトリツリーのルートディレクトリとする。さらに、ステップＳ７において、ＣＰＵ１４１は、Ｎを１とし、ステップＳ８において、それぞれのＨＤＤ２から読み出した各ディレクトリツリーの第（Ｎ−１）階層において、最下位階層でなく且つ未検索（或いは、第（Ｎ−１）階層がルートディレクトリである場合には、検索未完了）のフォルダのうちの、１つのフォルダの下位に存在する第Ｎ階層を検索する。
ステップＳ９において、ＣＰＵ１４１は、第（Ｎ−１）階層における検索中のフォルダ内の第Ｎ階層において、複数のディレクトリツリーに共通して同名フォルダが存在するか否かを判断する。ＣＰＵ１４１は、検索中のフォルダ内の第Ｎ階層において、同名フォルダが存在すると判断すると（ステップＳ９；Ｙｅｓ）、ステップＳ１０において、同名フォルダを１つのフォルダとして、検索中の第Ｎ階層における各フォルダを、仮想ディレクトリツリーにおける第Ｎ階層のフォルダとする。また、ＣＰＵ１４１は、検索中のフォルダ内の第Ｎ階層において、同名フォルダが存在しないと判断すると（ステップＳ９；Ｎｏ）、ステップＳ１１において、複数のディレクトリツリーにおいて、検索中のフォルダ内の第Ｎ階層における各フォルダを、仮想ディレクトリツリーにおける第Ｎ階層のフォルダとする。
【００５３】
さらに、ステップＳ１２において、ＣＰＵ１４１は、検索中のフォルダ内の第Ｎ階層に、最下位階層でなく且つ未検索のフォルダが存在するか否かを判断する。ＣＰＵ１４１は、ステップＳ１２において、検索中の第Ｎ階層に、最下位階層でなく且つ未検索のフォルダが存在すると判断すると（ステップＳ１２；Ｙｅｓ）、ステップＳ１３において、Ｎをインクリメントするとともに、ステップＳ８に戻って以上の処理を繰り返す。一方、ＣＰＵ１４１は、ステップＳ１２において、検索中のフォルダ内の第Ｎ階層に、最下位階層でなく且つ未検索のフォルダが存在しないと判断すると（ステップＳ１２；Ｎｏ）、ステップＳ１４に進む。
ここで、例えば、図６（a）のディレクトリツリーと図６（ｂ）のディレクトリツリーに基づいて仮想ディレクトリツリーを作成する場合を例に説明する。
例えば、Ｎ=１である場合、ステップＳ１２において、第１階層に存在する「ｆｏｌｄ.ａ」「ｆｏｌｄ.ｂ」「ｆｏｌｄ.ｃ」「ｆｏｌｄ.ｄ」の中で、最下位階層でないフォルダ（すなわち、「ｆｏｌｄ．ａ」「ｆｏｌｄ．ｃ」「ｆｏｌｄ．ｄ」）のうち、全てのフォルダ内の走査が終了していない段階では、最下位階層でなく且つ未検索のフォルダが存在する（ステップＳ１２；Ｙｅｓ）と判断されることとなる。
一方、第１階層の「ｆｏｌｄ.ａ」「ｆｏｌｄ.ｂ」「ｆｏｌｄ.ｃ」「ｆｏｌｄ.ｄ」の中で、最下位階層でないフォルダ（すなわち、「ｆｏｌｄ．ａ」「ｆｏｌｄ．ｃ」「ｆｏｌｄ．ｄ」）の全てのフォルダ内の検索が既に終了している場合には、最下位階層でなく且つ未検索のフォルダは存在しないと判断されることとなる（ステップＳ１２；Ｎｏ）。
【００５４】
ステップＳ１４において、ＣＰＵ１４１は、Ｎをデクリメントし、ステップＳ１５において、Ｎ＝０（すなわち、ルートディレクトリ）であるか否かを判断する。ＣＰＵ１４１は、ステップＳ１５において、Ｎ＝０でないと判断すると（ステップＳ１５；Ｎｏ）、ステップＳ１２に戻って以上の処理を繰り返し、一方、ステップＳ１５において、Ｎ＝０であると判断すると（ステップＳ１５；Ｙｅｓ）、仮想ディレクトリツリーの作成が完了したとして、各ファイルの仮想パスを決定して仮想ディレクトリツリー情報２１２を作成し、ステップＳ１６において、作成した仮想ディレクトリツリー情報２１２をマスタＨＤＤ２１に記憶させて、本処理を終了する。
【００５５】
次に、図１２のフローチャートを参照しながら、ＰＣ１に新規のＨＤＤ２が接続された場合に実行される処理について説明する。
まず、ステップＳ２１において、ＣＰＵ１４１は、ＰＣ１に新規のＨＤＤ２が接続されたか否かを判断し、新規ＨＤＤ２の接続有りと判断すると（ステップＳ２１；Ｙｅｓ）、ステップＳ２２において、ユーザによるキー操作部１１のキー操作に基づいて、当該新規のＨＤＤ２を仮想ディレクトリツリーに統合するか否かを判断する。ＣＰＵ１４１は、ステップＳ２２において、新規ＨＤＤ２を仮想ディレクトリツリーに統合しないと判断すると（ステップＳ２２；Ｎｏ）、ステップＳ２９に進み、一方、新規ＨＤＤ２を仮想ディレクトリツリーに統合すると判断すると（ステップＳ２２；Ｙｅｓ）、続くステップＳ２３において、新規のＨＤＤ２がフォーマット済みであるか否かを判断する。ＣＰＵ１４１は、ステップＳ２３において、新規ＨＤＤ２がフォーマット済みでないと判断すると（ステップＳ２３；Ｙｅｓ）、ステップＳ２４において、新規ＨＤＤ２に初期化データを書き込むフォーマット処理を行い、一方、新規ＨＤＤ２がフォーマット済みであると判断すると（ステップＳ２３；Ｙｅｓ）、ステップＳ２５に進む。
【００５６】
ステップＳ２５において、ＣＰＵ１４１は、新規ＨＤＤ２のファイルシステムが、仮想ディレクトリツリーに統合可能なファイルシステムであるか否かを判断する。ＣＰＵ１４１は、ステップＳ２５において、新規ＨＤＤ２のファイルシステムが、仮想ディレクトリツリーのファイルシステムと異なり、且つ、仮想ディレクトリツリーのファイルシステムと互換不可能な場合等に、仮想ディレクトリツリーに統合できないと判断すると（ステップＳ２５；Ｎｏ）、ステップＳ２６において、表示部１２のディスプレイに、新規ＨＤＤ２のディレクトリツリーを仮想ディレクトリツリーに統合することが不可能である旨の報知を行わせ、ステップＳ２９に進む。一方、ＣＰＵ１４１は、ステップＳ２５において、新規ＨＤＤ２のファイルシステムが、仮想ディレクトリツリーのファイルシステムと同一である場合、又は、新規ディレクトリツリーのファイルシステムと互換性を有するファイルシステムである場合等に、仮想ディレクトリツリーに統合可能なファイルシステムであると判断すると（ステップＳ２５；Ｙｅｓ）、ステップＳ２７において、当該新規のＨＤＤ２に、フォルダ・ファイル等のデータが記憶されているか否かを判断する。そして、ＣＰＵ１４１は、ステップＳ２７において、新規ＨＤＤ２にデータが記憶されていると判断すると（ステップＳ２７；Ｙｅｓ）、ステップＳ２８において、当該ＨＤＤ２に記憶されたフォルダ・ファイル等を、マスタＨＤＤ２１に記憶されている仮想ディレクトリツリーに統合させる処理を行い、仮想ディレクトリツリー情報２１２を更新して、ステップＳ２９に進む。
ステップＳ２９において、ＣＰＵ１４１は、メモリ部１４２のデータエリア１４２２に格納された接続情報管理テーブル１４２２ａに、当該新規のＨＤＤ２の識別ＩＤ、マスタＨＤＤであるか或いは外付ＨＤＤであるかの種別情報、仮想ディレクトリツリーに統合するＨＤＤ２であるか否かを示すメンバ登録情報等を登録し、接続情報管理テーブル１４２２ａを更新して、本処理を終了する。
【００５７】
以上説明した本実施形態におけるファイル管理システム１００によれば、ＣＰＵ１４１による検出プログラム１４３ａの実行により、ＰＣ１に接続された複数のＨＤＤ２が検出され、読出プログラム１４３ｂの実行により、検出プログラム１４３ａの実行により検出された複数のＨＤＤ２の各々から、ディレクトリツリーが読み出され、作成プログラム１４３ｃの実行により、読出プログラム１４３ｂの実行により読み出されたディレクトリツリーにおいて、最上位階層から順に、同一階層内における同名フォルダが検索され、検索された同一階層内における同名フォルダが一つのフォルダとされ、当該フォルダ内に当該フォルダに対応付けられた下位階層のフォルダを書き込む動作が繰り返されて仮想ディレクトリツリーが作成され、記憶制御プログラム１４３ｄの実行により、作成プログラム１４３ｃの実行により作成された仮想ディレクトリツリーがマスタＨＤＤ２１に記憶され、管理プログラム１４３ｅの実行により、マスタＨＤＤ２１に記憶された仮想ディレクトリツリーに基づいて、複数のＨＤＤ２に記憶されたファイルへのアクセスが管理される。
したがって、複数のＨＤＤ２のディレクトリツリーにおける同一階層内に同名フォルダが存在する場合であっても、仮想ディレクトリツリーにおいて当該同名フォルダが一つのフォルダに統合されこととなるため、ユーザから見た仮想ディレクトリツリー構造が煩雑になることなく、ユーザが容易にアクセスすることができるファイル管理システム１００を提供することができる。
【００５８】
また、ＣＰＵ１４１による接続検出プログラム１４３ｆの実行により、ＰＣ１に、新規のＨＤＤ２が接続されたことが検出され、選択プログラム１４３ｇの実行により、接続検出プログラム１４３ｆの実行により、新規のＨＤＤ２が接続されたことが検出された場合に、キー操作部１１におけるキー操作に基づいて、新規のＨＤＤ２のディレクトリツリーが、作成プログラム１４３ｃの実行により作成された仮想ディレクトリツリーに統合するか否かがユーザに選択され、判別プログラム１４３ｈの実行により、選択プログラム１４３ｇの実行により、新規のＨＤＤ２のディレクトリツリーが仮想ディレクトリツリーに統合すると選択された場合に、新規のＨＤＤ２がフォーマット済みであるか否かが判別され、判断プログラム１４３ｉの実行により、判別プログラム１４３ｈの実行により新規のＨＤＤ２がフォーマット済みであると判別された場合に、当該新規のＨＤＤ２のファイルシステムが判別されて、当該新規のＨＤＤ２のファイルシステムが仮想ディレクトリツリーのファイルシステムと同一であるか否かが判断され、報知プログラム１４３ｊの実行により、判断プログラム１４３ｉの実行により、新規のＨＤＤ２のファイルシステムが、仮想ディレクトリツリーのファイルシステムと同一でないと判断された場合に、新規のＨＤＤ２のディレクトリツリーを仮想ディレクトリツリーに統合させることが不可能である旨が報知され、判断プログラム１４３ｉの実行により新規のＨＤＤ２のファイルシステムが仮想ディレクトリツリーのファイルシステムと同一であると判断された場合に、作成プログラム１４３ｃが実行される。
したがって、仮想ディレクトリツリー作成後であっても、新規のＨＤＤ２のディレクトリツリーを、簡単な操作で仮想ディレクトリツリーに統合することができるとともに、新規のＨＤＤ２のディレクトリツリーが仮想ディレクトリツリーに統合できない場合には、ユーザはその旨を確実に把握できることとなる。
【００５９】
なお、本発明は、上記実施の形態に限られることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
【００６０】
例えば、記録媒体及び記録装置は、ハードディスク・ハードディスクドライブに限られることなく、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＷ等の光ディスク、光磁気ディスク（MO: Magneto-Optical disk）、ＦＤ(Floppy（登録商標） Disk)等の磁気ディスク、ＰＣカード等のメモリカードであっても良い。
また、本発明のファイル管理システム１００を実現するためのプログラム（例えば、作成プログラム１４３ｃ等）が、ＰＣ１ではなくＨＤＤ２側に備わる構成であっても良い。
また、作成した仮想ディレクトリツリーは、必ずしもマスタＨＤＤ２１に記憶させなくても良く、ＰＣ１や、他のＨＤＤ２に記憶させても良い。また、記憶場所をユーザが選択できる構成となっていても良い。
また、仮想ディレクトリツリーを記憶する方法は、上記実施の形態で例示した方法に限られない。
【図面の簡単な説明】
【００６１】
【図１】本実施形態におけるファイル管理システムの全体構成を示す図である。
【図２】本実施形態におけるファイル管理システムの要部構成を例示するブロック図である。
【図３】接続情報管理テーブルの例示である。
【図４】表示部のディスプレイに表示される仮想ディレクトリ設定画面の例示である。
【図５】図５（ａ）は、マスタＨＤＤに格納されているファイル管理情報を例示する図であり、図５（ｂ）は、外付ＨＤＤに格納されているファイル管理情報を例示する図である。
【図６】図６（ａ）は、マスタＨＤＤに記憶されているファイルの階層構造を例示する図であり、図６（ｂ）は、外付ＨＤＤに記憶されているファイルの階層構造を例示する図である。
【図７】図５（ａ）・図６（ａ）におけるマスタＨＤＤのディレクトリツリーと、図５（ｂ）・図６（ｂ）における外付ＨＤＤのディレクトリツリーに基づいて、仮想ディレクトリツリー作成処理が行われた場合に作成される仮想ディレクトリツリー情報を例示する図である。
【図８】図５（ａ）・図６（ａ）におけるマスタＨＤＤのディレクトリツリーと、図５（ａ）・図６（ｂ）における外付ＨＤＤのファイルのディレクトリツリーに基づいて、仮想ディレクトリツリー作成処理が行われた場合に作成される仮想ディレクトリツリーの階層構造を例示する図である。
【図９】表示部のディスプレイに表示される新規ＨＤＤ設定画面を例示する図である。
【図１０】表示部のディスプレイに表示される新規ＨＤＤのディレクトリツリーを仮想ディレクトリツリーに統合させることが不可能である旨の報知画面を例示する図である。
【図１１】仮想ディレクトリツリー作成処理を示すフローチャートである。
【図１２】ＰＣに新規のＨＤＤが接続された場合に実行される処理を示すフローチャートである。
【符号の説明】
【００６２】
１００    ファイル管理システム
１        パーソナルコンピュータ（電子機器）
２        ハードディスクドライブ（記録媒体、記録装置）
２１      マスタハードディスクドライブ
１１      キー操作部
１４１    ＣＰＵ（検出手段、読出手段、作成手段、記録制御手段、管理手段、接続検出手段、選択手段、判別手段、判断手段、報知手段）
１４３ａ  検出プログラム（検出手段）
１４３ｂ  読出プログラム（読出手段）
１４３ｃ  作成プログラム（作成手段）
１４３ｄ  記憶制御プログラム（記録制御手段）
１４３ｅ  管理プログラム（管理手段）
１４３ｆ  接続検出プログラム（接続検出手段）
１４３ｇ  選択プログラム（選択手段）
１４３ｈ  判別プログラム（判別手段）
１４３ｉ  判断プログラム（判断手段）
１４３ｊ  報知プログラム（報知手段）
【図１】
2008226137.tif 000003
【図２】
2008226137.tif 000004
【図３】
2008226137.tif 000005
【図４】
2008226137.tif 000006
【図５】
2008226137.tif 000007
【図６】
2008226137.tif 000008
【図７】
2008226137.tif 000009
【図８】
2008226137.tif 000010
【図９】
2008226137.tif 000011
【図１０】
2008226137.tif 000012
【図１１】
2008226137.tif 000013
【図１２】
2008226137.tif 000014