(57)【要約】【課題】記録媒体にロング名のみで格納されているファイルをＦＡＴ形式準拠のショート名を有しているファイルとして取り扱うことのできるファイル管理装置および方法を提供する。【解決手段】実施形態のファイル管理装置１は、ファイル名取得部１０が、ｅｘＦＡＴ形式で記録媒体２０００に格納されたファイルのショート名取得を要求されたときに、そのファイルの格納位置情報および拡張子にもとづいてＦＡＴ形式ショート名準拠の疑似ショート名を生成し、要求元のアプリケーションソフト１０００へ回答する。また、このファイル管理装置１は、ファイルアクセス部２０が、要求元のアプリケーションソフト１０００から疑似ショート名によるファイルアクセス要求があったときは、その疑似ショート名からファイルの格納位置情報を抽出し、記録媒体２０００の該当する格納位置のファイルにアクセスする。【選択図】  図１
2013105194.tif 000002
【特許請求の範囲】
【請求項１】
ｅｘＦＡＴ形式で記録媒体に格納されたファイルのショート名取得を要求されたときに、前記ファイルの格納位置情報および拡張子にもとづいてＦＡＴ形式ショート名準拠の疑似ショート名を生成し、要求元へ回答するファイル名取得部と、
前記要求元から前記疑似ショート名によるファイルアクセス要求があったときは、その疑似ショート名から前記格納位置情報を抽出し、前記記録媒体の該当する格納位置のファイルにアクセスするファイルアクセス部と
を備えることを特徴とするファイル管理装置。
【請求項２】
前記ファイル名取得部が、
前記記録媒体から各ファイルのファイル名を取得し、前記ファイル名が格納されたディレクトリエントリのセクタ番号およびバイトオフセット番号を前記格納位置情報として取得する格納位置情報取得部と、
前記ファイル名から拡張子を抽出する拡張子抽出部と、
前記格納位置情報をファイル名記載領域に記載し、前記拡張子を拡張子記載領域に記載したショート名を前記疑似ショート名として生成する疑似ショート名生成部と
を備えることを特徴とする請求項１に記載のファイル管理装置。
【請求項３】
前記疑似ショート名生成部は、
前記ファイル名記載領域に、ファイル名が疑似ショート名であることを示すフラグを記すフラグ領域を設け、前記格納位置情報の文字の中に名前終端を表す文字またはディレクトリ区切りを示す文字が含まれるときは、それぞれの文字を別の文字に置換し、前記置換の実行を示す置換フラグを前記フラグ領域に記す
ことを特徴とする請求項２に記載のファイル管理装置。
【請求項４】
前記ファイルアクセス部は、
前記要求元から送付されたショート名の前記フラグ領域を解析し、そのショート名が疑似ショート名であるかどうかを解析するショート名解析部と、
前記解析により前記送付されたショート名が疑似ショート名と判別したときは、その疑似ショート名から前記格納位置情報を抽出し、前記記録媒体上のアクセス位置を決定するアクセス位置決定部と
を備えることを特徴とする請求項４に記載のファイル管理装置。
【請求項５】
ｅｘＦＡＴ形式で記録媒体に格納されたファイルのショート名取得を要求されたときに、前記ファイルの格納位置情報および拡張子にもとづいてＦＡＴ形式ショート名準拠の疑似ショート名を生成し、要求元へ回答するファイル名取得工程と、
前記要求元から前記疑似ショート名によるファイルアクセス要求があったときは、その疑似ショート名から前記格納位置情報を抽出し、前記記録媒体の該当する格納位置のファイルにアクセスするファイルアクセス工程と
を備えることを特徴とするファイル管理方法。
【請求項６】
前記ファイル名取得工程が、
前記記録媒体から各ファイルのファイル名を取得し、前記ファイル名が格納されたディレクトリエントリのセクタ番号およびバイトオフセット番号を前記格納位置情報として取得する格納位置情報取得工程と、
前記ファイル名から拡張子を抽出する拡張子抽出工程と、
前記格納位置情報をファイル名記載領域に記載し、前記拡張子を拡張子記載領域に記載したショート名を前記疑似ショート名として生成する疑似ショート名生成工程と
を備えることを特徴とする請求項５に記載のファイル管理方法。
【請求項７】
前記疑似ショート名生成工程は、
前記ファイル名記載領域に、ファイル名が疑似ショート名であることを示すフラグを記すフラグ領域を設け、前記格納位置情報の文字の中に名前終端を表す文字またはディレクトリ区切りを示す文字が含まれるときは、それぞれの文字を別の文字に置換し、前記置換の実行を示す置換フラグを前記フラグ領域に記す
ことを特徴とする請求項６に記載のファイル管理方法。
【請求項８】
前記ファイルアクセス工程は、
前記要求元から送付されたショート名の前記フラグ領域を解析し、そのショート名が疑似ショート名であるかどうかを解析するショート名解析工程と、
前記解析により前記送付されたショート名が疑似ショート名と判別したときは、その疑似ショート名から前記格納位置情報を抽出し、前記記録媒体上のアクセス位置を決定するアクセス位置決定工程と
を備えることを特徴とする請求項７に記載のファイル管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ファイル管理装置および方法に関する。
【背景技術】
【０００２】
ＳＤカードなどの記録媒体にファイルを書き込む際、ＦＡＴ／ＦＡＴ３２形式のファイルシステムでは、ファイル名として、ショート名（最大１２文字）とロング名（最大２５５文字）の２つの名前が書き込まれる。
【０００３】
このうち、データベース検索など記録媒体から多数のファイル名を取得する必要がある場合には、ファイル名を一時保存するメモリの使用量を少なくするため、ショート名が取得されることが多い。
【０００４】
ところで、近年記録媒体の容量拡大は著しく、１ファイルの容量制限が４ＧＢのＦＡＴ３２形式では対応できなくなってきた。そのため、例えば総容量が３２ＧＢを超えるＳＤカード（ＳＤＸＣ規格）では、ｅｘＦＡＴ形式のファイルシステムが使用されている。
【０００５】
しかし、ｅｘＦＡＴ形式はＦＡＴ／ＦＡＴ３２形式と互換性がなく、ショート名がサポートされていない。したがって、データベース検索などでファイル名を取得する場合もロング名（最大２５５文字）を取得することになり、ファイル名を保存するために大量のメモリを必要とする、という問題が生じるようになった。
【０００６】
これに対して、従来、記憶媒体における絶対アドレス位置を表す情報と１対１の関係を有し、予め設定された書式および文字数の文字列を仮想ファイル名として生成し、実ファイル名と置き換えることでメモリ容量を節約するファイル管理システムが提案されている。
【０００７】
ただし、この仮想ファイル名は、従来のショート名の記述形式である８．３形式（ファイル識別名８文字．拡張子３文字）とは異なる、独自形式である。
【０００８】
しかし、ファイルアクセスを行うアプリケーションソフトは、従来のショート名記述形式を前提として作成されているものが多い。そのため、このようなアプリケーションソフトでは、上述の仮想ファイル名を使用できない、という問題が生じる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１１−４０００７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明が解決しようとする課題は、記録媒体にロング名のみで格納されているファイルをＦＡＴ形式準拠のショート名を有しているファイルとして取り扱うことのできるファイル管理装置および方法を提供することにある。
【課題を解決するための手段】
【００１１】
実施形態のファイル管理装置は、ファイル名取得部が、ｅｘＦＡＴ形式で記録媒体に格納されたファイルのショート名取得を要求されたときに、前記ファイルの格納位置情報および拡張子にもとづいてＦＡＴ形式ショート名準拠の疑似ショート名を生成し、要求元へ回答する。また、このファイル管理装置は、ファイルアクセス部が、前記要求元から前記疑似ショート名によるファイルアクセス要求があったときは、その疑似ショート名から前記格納位置情報を抽出し、前記記録媒体の該当する格納位置のファイルにアクセスする。
【図面の簡単な説明】
【００１２】
【図１】実施形態のファイル管理装置の構成の例を示すブロック図。
【図２】実施形態のファイル管理装置のファイル名取得部の処理の流れの例を示すフロー図。
【図３】記録媒体２０００内のファイル名格納位置と、セクタ番号およびバイトオフセット番号との関係を示す図。
【図４】疑似ショート名の構成例を示す図。
【図５】格納位置情報と置換フラグの対応関係の例を示す図。
【図６】置換の実行とフラグの値の関係を示す図。
【図７】実施形態のファイル管理装置のファイルアクセス部の処理の流れの例を示すフロー図。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について図面を参照して説明する。なお、図中、同一または相当部分には同一の符号を付して、その説明は繰り返さない。
【００１４】
（実施形態）
図１は、実施形態のファイル管理装置の構成の例を示すブロック図である。ここでは、ｅｘＦＡＴ形式（ファイル名がロング名のみ）でファイルを格納している記録媒体２０００に対して、アプリケーションソフト１０００からショート名でのファイル名取得およびアクセスが要求されるファイル管理装置の例を示す。
【００１５】
本実施形態のファイル管理装置１は、記録媒体２０００に格納されているファイルのショート名取得をアプリケーションソフト１０００から要求されたときに、そのファイルの記録媒体２０００における格納位置を示す格納位置情報および拡張子にもとづいて、ＦＡＴ形式ショート名準拠の疑似ショート名を生成し、要求元のアプリケーションソフト１０００へ回答するファイル名取得部１０と、アプリケーションソフト１０００から上述の疑似ショート名によるファイルアクセス要求があったときは、その疑似ショート名から上述の格納位置情報を抽出し、記録媒体２０００の該当する格納位置のファイルにアクセスするファイルアクセス部２０と、を備える。
【００１６】
また、ファイル管理装置１は、アプリケーションソフト１０００からの要求を受け取り、その要求の内容に応じて、その要求をファイル名取得部１０またはファイルアクセス部２０のいずれかへ伝達するともに、ファイル名取得部１０またはファイルアクセス部２０の処理実行後は、その処理結果をアプリケーションソフト１０００へ送出する応答部３００と、応答部３００およびファイルアクセス部２０からの要求を受けて記録媒体２０００にアクセスし、記録媒体２０００から読み出したデータをファイル名取得部１０または応答部３００へ送出する記録媒体アクセス部４００と、を備える。
【００１７】
ファイル名取得部１０は、記録媒体アクセス部４００を介して記録媒体２０００から各ファイルのファイル名を取得し、そのファイル名が格納されたディレクトリエントリのセクタ番号およびバイトオフセット番号を格納位置情報として取得する格納位置情報取得部１０１と、それぞれのファイル名から拡張子を抽出する拡張子抽出部１０２と、格納位置情報取得部１０１により取得された格納位置情報をファイル名記載領域に記載し、拡張子抽出部１０２により抽出された拡張子を拡張子記載領域に記載したショート名を疑似ショート名として生成する疑似ショート名生成部と１０２と、を備える。
【００１８】
ファイルアクセス部２０は、ショート名によるファイルアクセス要求の際にアプリケーションソフト１０００から送付されたショート名のフラグ領域のデータを解析し、そのショート名が疑似ショート名であるかどうかを解析するショート名解析部２０１と、ショート名解析部２０１の解析により、アプリケーションソフト１０００から送付されたショート名が疑似ショート名と判別したときは、その疑似ショート名から格納位置情報を抽出し、記録媒体２０００上のアクセス位置を決定するアクセス位置決定部２０２と、を備える。
【００１９】
次に、ファイル名取得部１０およびファイルアクセス部２０の動作を、個々に説明する。まず、ファイル名取得部１０の動作について説明する。
【００２０】
図２は、ファイル名取得部１０の処理の流れの例を示すフロー図である。
【００２１】
アプリケーションソフト１０００からショート名取得を要求されると、応答部３００は、その要求をファイル名取得部１０へ伝達する。また、応答部３００は、記録媒体アクセス部４００に対して、記録媒体２０００からファイル名（ロング名）を取得し、ファイル名取得部１０へ送るよう指示する。
【００２２】
応答部３００からショート名取得要求が伝達されると、ファイル名取得部１０は、記録媒体アクセス部４００を介して記録媒体２０００からファイル名（ロング名）を取得する（ステップＳ１１）。
【００２３】
ファイル名を取得すると、格納位置情報取得部１０１が、そのファイル名が格納されたディレクトリエントリのセクタ番号およびバイトオフセット番号を格納位置情報として取得する（ステップＳ１２）とともに、拡張子抽出部１０２が、取得したファイル名から拡張子を抽出する（ステップＳ１３）。
【００２４】
図３に、記録媒体２０００における、ファイル名格納位置と、セクタ番号およびバイトオフセット番号との関係を示す。
【００２５】
記録媒体２０００では、記憶領域が、セクタ単位で区切られ、各セクタがディレクトリエントリで区切られている。セクタには、連続する番号が付与される。また、ディレクトリエントリは、そのセクタの先頭からのオフセット量を示すバイトオフセット番号が付与される。したがって、それぞれのディレクトリエントリの位置は、セクタ番号とバイトオフセット番号の組み合せで表わすことができる。
【００２６】
図３に示す例の場合、格納位置情報取得部１０１は、ファイル名の格納位置情報として、セクタ番号Ｎおよびバイトオフセット番号ｎを取得する。
【００２７】
図２のフローに戻って、次に、疑似ショート名生成部１０３が、格納位置情報取得部１０１により取得された格納位置情報をファイル識別名記載領域に記載し、拡張子抽出部１０２により抽出された拡張子を拡張子記載領域に記載した、疑似ショート名を生成する（ステップＳ１４）。
【００２８】
疑似ショート名は、ＦＡＴ形式のショート名に準拠した、８．３形式のファイル名称構成をとる。
【００２９】
図４に、疑似ショート名の構成の例を示す。ここでは、図４（ａ）に、本実施形態における疑似ショート名の構成を示し、図４（ｂ）に、それに対応するロング名の構成の例を示す。
【００３０】
図４（ａ）に示すように、疑似ショート名生成部１０３で生成される疑似ショート名は、８バイトのファイル識別名記載領域と、１バイトのｄｏｔ（．）領域と、３バイトの拡張子記載領域から構成される。
【００３１】
ファイル識別名記載領域は、２バイトの名前領域と、１バイトのフラグ領域と、５バイトの格納位置情報領域とに分かれる。
【００３２】
格納位置情報領域は、さらに、４バイトのセクタ番号記載領域と、１バイトのバイトオフセット番号記載領域とに分かれる。
【００３３】
このセクタ番号記載領域に、格納位置情報取得部１０１により取得されたセクタ番号が記載される。
【００３４】
また、バイトオフセット番号領域には、格納位置情報取得部１０１により取得されたバイトオフセット番号を５ビット右シフトした値が記載される。
【００３５】
拡張子記載領域には、ロング名の拡張子（例えば、５バイト）から拡張子抽出部１０２により抽出された３バイトの拡張子（例えば、先頭の３バイト）が記載される。
【００３６】
また、名前領域には、例えば、ロング名の先頭の２バイトが記載される。
【００３７】
１バイトのフラグ領域は、この８．３形式のショート名が疑似ショート名であることを示すフラグが記載される。このフラグには、１Ｆｈｅｘ（ｈｅｘは１６進表記であることを表す記号）以下の値が記載される。これは、通常のショート名では２０ｈｅｘより大きい文字しか使用されない（１Ｆｈｅｘ以下は制御コードであるため使用禁止）ためである。このフラグにより、疑似ショート名と通常のショート名との判別が行える。
【００３８】
なお、このフラグ領域の下位５ビットは、置換フラグとして使用される。置換フラグについては、後で詳しく説明する。
【００３９】
図２のフローに戻って、次に、疑似ショート名生成部１０３は、生成した疑似ショート名の格納位置情報領域に、名前終端を示すＮＵＬ文字（００ｈｅｘ）またはディレクトリ区切りを示すスラッシュ‘ / ’（２Ｆｈｅｘ）が混在していないかをチェックする（ステップＳ１５）。
【００４０】
もし、混在していた場合は（ＹＥＳ）、名前終端あるいはディレクトリ区切りと誤認識されるのを避けるため、ＮＵＬ文字およびスラッシュ‘ / ’をそれぞれ別の文字へ置換し（ステップＳ１５）、置換した文字に対応する、置換フラグの該当ビットを‘０’にセットする（ステップＳ１５）。
【００４１】
図５に、格納位置情報の各バイトデータと置換フラグの関係を示す。
【００４２】
１バイトのフラグ領域のうちの下位５ビット（ｂｉｔ５〜ｂｉｔ１）が置換フラグである。このうち、ｂｉｔ５〜ｂｉｔ２の４ビットが、セクタ番号の各バイトデータに対する置換フラグであり、ｂｉｔ１が、バイトオフセット番号のバイトデータに対する置換フラグである。
【００４３】
ここで、置換フラグの値は、置換非実行のときが‘１’であり、置換実行のとき‘０’ にセットされるものとする。
【００４４】
なお、フラグ領域の上位３ビット（ｂｉｔ８〜ｂｉｔ６）は未使用であり、常に‘０’とされている。
【００４５】
図６に、置換実行状況とフラグの値の関係を示す。
【００４６】
置換非実行のときは、フラグの値は１Ｆｈｅｘである。一方、置換が実行されたときは、格納位置情報のどのバイトデータの置換が行われたかによって、フラグの値は１Ｅｈｅｘ以下のいずれかの値となる。いずれにしろ、フラグの値は、１Ｆｈｅｘ以下となる。
【００４７】
図２のフローに戻って、疑似ショート名生成部１０３は、置換非実行時（ステップＳ１５でＮＯの場合）は、ステップＳ１４で作成の疑似ショート名、置換実行時は、置換後の疑似ショート名を、応答部３００を介してアプリケーションソフト１０００へ回答する。これにより、ファイル名取得部１０の処理は終了する。
【００４８】
このように、本実施形態では、ロング名しか持たないファイルを格納する記録媒体２０００に対して、アプリケーションソフト１０００からショート名取得の要求があったときに、ＦＡＴ形式のショート名に準拠した８．３形式の疑似ショート名を回答することができる。これにより、アプリケーションソフト１０００は、記録媒体２０００に格納されたファイルを、あたかもショート名を有しているかのように取り扱うことができる。
【００４９】
次に、ファイルアクセス部２０の動作について説明する。
【００５０】
図７は、ファイルアクセス部２０の処理の流れの例を示すフロー図である。
【００５１】
ロング名のみを有するファイルを格納している記録媒体２０００に対して、アプリケーションソフト１０００からショート名でのファイルアクセスを要求されると、応答部３００は、その要求をファイルアクセス部２０へ伝達し、アプリケーションソフト１０００から送付されたショート名をショート名解析部２０１へ送る。
【００５２】
ショート名解析部２０１は、応答部３００からショート名を受け取ると、そのフラグ領域のデータを読み取り（ステップＳ２１）、フラグ値が１Ｆｈｅｘ以下であるかどうかを判定する（ステップＳ２２）。
【００５３】
フラグ値が１Ｆｈｅｘ以下でない（すなわち、２０ｈｅｘよりも大きい）場合（ＮＯ）、ショート名解析部２０１は、アプリケーションソフト１０００から送られたショート名は通常のショート名と、判定する。
【００５４】
この場合、このショート名では記録媒体２０００にアクセスすることができない。そこで、ショート名解析部２０１は、「ファイルアクセス不可」と、応答部３００を介してアプリケーションソフト１０００へ回答する。
【００５５】
一方、フラグ値が１Ｆｈｅｘ以下の場合（ＹＥＳ）、ショート名解析部２０１は、アプリケーションソフト１０００から送られたショート名は、疑似ショート名生成部１０３により作成された疑似ショート名と、判定する。
【００５６】
この場合、続いて、アクセス位置決定部２０２が、そのフラグ領域の置換フラグに‘０’が記載されているビットがあるかどうかをチェックする（ステップＳ２３）。
【００５７】
置換フラグに‘０’が記載されているビットがあれば（ＹＥＳ）、格納位置情報の文字の中に置換された文字があることがわかる。そこで、アクセス位置決定部２０２は、置換フラグが‘０’であるビットに対応する位置の文字を元の文字に戻す（ステップＳ２４）。
【００５８】
これにより、格納位置情報がオリジナルの格納位置情報に戻るので、このオリジナルの格納位置情報からセクタ番号およびバイトオフセット番号を抽出する（ステップＳ２５）。
【００５９】
一方、置換フラグに‘０’が記載されているビットがない場合は（ＮＯ）、この疑似ショート名の格納位置情報は、オリジナルの格納位置情報そのものであるので、この格納位置情報からセクタ番号およびバイトオフセット番号を抽出する（ステップＳ２５）。
【００６０】
最後に、アクセス位置決定部２０２は、抽出したセクタ番号およびバイトオフセット番号を記録媒体アクセス部４００へ送り、記録媒体アクセス部４００は、該当位置のディレクトリエントリにアクセスする。
【００６１】
このように、本実施形態では、アプリケーションソフト１０００からショート名でのファイルアクセスが要求されたときに、そのショート名が疑似ショート名生成部１０３により作成された疑似ショート名であれば、記録媒体２０００に格納されているファイルがロング名しか持たないファイルであっても、所望のファイルにアクセスすることができる。
【００６２】
以上説明した実施形態のファイル管理装置および方法によれば、記録媒体にロング名のみで格納されているファイルをＦＡＴ形式準拠のショート名を有しているファイルとして取り扱うことができる。
【００６３】
また、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６４】
１  ファイル管理装置
１０  ファイル名取得部
２０  ファイルアクセス部
１０１  格納位置情報取得部
１０２  拡張子取得部
１０３  疑似ショート名生成部
２０１  ショート名解析部
２０２  アクセス位置決定部
３００  応答部
４００  記録媒体アクセス部
【図１】
2013105194.tif 000003
【図２】
2013105194.tif 000004
【図３】
2013105194.tif 000005
【図４】
2013105194.tif 000006
【図５】
2013105194.tif 000007
【図６】
2013105194.tif 000008
【図７】
2013105194.tif 000009