(57)【要約】【課題】  長いファイル名の管理情報の解析が必要なソフトウェア（ファームウェア）処理の改善を図ること。【解決手段】  長いファイル名の総文字数を示す変数［ｎｎ］を含ませて短いファイル名に変換する命名規則を採用した。そのため、利用者が所望するファイルの検索時に、短いファイル名のディレクトリエントリに格納された短いファイル名だけを解析させることで、長いファイル名の総文字数が前記所望されたファイルのファイル名の総文字数と一致するか否かを容易に判定させることができる。そのため、それらが一致するファイルのディレクトリエントリにのみ長いファイル名を解析する解析処理を行わせることができ、例えば、全てのファイルの全てのディレクトリエントリに対して解析処理を実行するだけでよくなるため、解析処理の実行回数を少なくすることができ、その結果、前記所望されたファイルの検索に要する処理時間を短くすることができる。【選択図】  図２
2006092087.tif 000002
【特許請求の範囲】
【請求項１】
ロングファイルネームに対応するファイルシステムの長いファイル名と、ショートファイルネームに対応するファイルシステムの短いファイル名とによってファイル或いはディレクトリを管理するファイル管理プログラムであって、
前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報の少なくとも一部を含ませて前記短いファイル名を命名する命名機能をコンピュータに実行させることを特徴とするファイル管理プログラム。
【請求項２】
前記ファイル管理情報は、前記長いファイル名の総文字数を示す情報、及び前記ロングファイルネームに対応するファイルシステムにおいて使用可能な残りのファイルパス文字列数のいずれかであることを特徴とする請求項１に記載のファイル管理プログラム。
【請求項３】
前記長いファイル名を所定文字数ずつ格納可能な複数のディレクトリエントリに分割して格納する格納機能をコンピュータにさらに実行させることができ、また、前記命名機能は、前記長いファイル名の全文字を格納するために必要な前記ディレクトリエントリの個数を示す情報を含ませて前記短いファイル名を設定することを特徴とする請求項１又は２に記載のファイル管理プログラム。
【請求項４】
前記命名機能は、前記短いファイル名に通し番号を示す文字をさらに含ませ、その含ませた文字の数を前記通し番号の必要数に応じて変更可能としたことを特徴とする請求項１から３のいずれか１項に記載のファイル管理プログラム。
【請求項５】
前記短いファイル名を設定するときに、その設定する短いファイル名に対応するチェックサムを前記ロングファイルネームに対応するファイルシステムの規格に従って設定するチェックサム設定機能をコンピュータに実行させることを特徴とする請求項１から４のいずれか１項に記載のファイル管理プログラム。
【請求項６】
ロングファイルネームに対応するファイルシステムの長いファイル名と、ショートファイルネームに対応するファイルシステムの短いファイル名とによってファイル或いはディレクトリを管理するファイル管理プログラムであって、
前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報が前記短いファイル名に含まれている場合には、前記短いファイル名を解析することで、前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報を解析する解析機能をコンピュータに実行させることを特徴とするファイル管理プログラム。
【請求項７】
ロングファイルネームに対応するファイルシステムの長いファイル名と、ショートファイルネームに対応するファイルシステムの短いファイル名とによってファイル或いはディレクトリを管理するファイル管理プログラムで用いられるデータ構造であって、
前記短いファイル名として、前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報の少なくとも一部を含むことを特徴とするデータ構造。
【請求項８】
ロングファイルネームに対応するファイルシステムの長いファイル名と、ショートファイルネームに対応するファイルシステムの短いファイル名とによってファイル或いはディレクトリを管理するファイル管理装置であって、
前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報の少なくとも一部を含ませて前記短いファイル名を設定する設定手段を備えたことを特徴とするファイル管理装置。
【請求項９】
ロングファイルネームに対応するファイルシステムの長いファイル名と、ショートファイルネームに対応するファイルシステムの短いファイル名とによってファイル或いはディレクトリを管理するファイル管理装置であって、
前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報が前記短いファイル名に含まれている場合には、前記短いファイル名を解析することで、前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報を解析する解析手段を備えたことを特徴とするファイル管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各ファイル或いはディレクトリに長いファイル名と短いファイル名とを設定可能であり、そのファイル名で、当該ファイルを管理するファイル管理プログラム、データ構造及びファイル管理装置に関する。
【背景技術】
【０００２】
従来、この種のファイル管理プログラムとしては、例えば、マイクロソフト社のオペレーティングシステム(Windows（登録商標）やMS-DOS)に搭載されたファイルシステム、つまり、ＶＦＡＴ(Virtual File Allocation Table)ファイルシステムが知られている（例えば、特許文献１参照）。この特許文献１に記載されているファイル管理プログラムにあっては、各ファイルに長いファイル名と短いファイル名とを設定し、その設定された長いファイル名を所定文字数ずつ格納可能な複数のディレクトリエントリに分割して格納し、前記設定された短いファイル名を１つのディレクトリエントリにまとめて格納することで、当該ファイルを管理するようになっている。
【０００３】
そして、特許文献１に記載されているようなファイル管理プログラムにあっては、一般に、所望のファイルの検索を行う場合には、任意のファイルの長いファイル名のディレクトリエントリを１つ読み出し、その読み出されたディレクトリエントリから前記長いファイル名を取得し、その取得された前記長いファイル名がさらに続くと判定されると、上記フローをディレクトリエントリの読み出しから繰り返し実行する。そして、このファイル管理プログラムにあっては、上記フローが繰り返し実行されることで、前記任意のファイルの長いファイル名の全文字が取得されると、その取得された長いファイル名と所望のファイルのファイル名とを比較することで、所望のファイルを探し出すようになっている。
【特許文献１】特開平６−３０９２０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来のファイル管理プログラムにあっては、所望ファイルの検索時のように、長いファイル名の解析が必要なときには、長いファイル名のディレクトリエントリの読み出しと解析とを繰り返すようになっているため、例えば、低消費電力化や小型化といった要求のために、ハードウエア性能に厳しい制約がある組み込み機器に適用した場合、処理に多くの時間が掛かってしまい、処理時間が増大してしまう恐れがあった。
【０００５】
本発明は、上記従来技術の未解決の問題点を解決することを目的とするものであって、長いファイル名の管理情報の解析が必要なソフトウェア（ファームウェア）処理の改善を図ることが可能なファイル管理プログラム、データ構造及びファイル管理装置を提供することを課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、第１の発明であるファイル管理プログラムは、ロングファイルネームに対応するファイルシステムの長いファイル名と、ショートファイルネームに対応するファイルシステムの短いファイル名とによってファイル或いはディレクトリを管理するファイル管理プログラムであって、前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報の少なくとも一部を含ませて前記短いファイル名を設定する命名機能をコンピュータに実行させることを特徴とする。
【０００７】
また、第２の発明であるファイル管理プログラムにあっては、ロングファイルネームに対応するファイルシステムの長いファイル名と、ショートファイルネームに対応するファイルシステムの短いファイル名とによってファイル或いはディレクトリを管理するファイル管理プログラムであって、前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報が前記短いファイル名に含まれている場合には、前記短いファイル名を解析することで、前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報を解析する解析機能をコンピュータに実行させることを特徴とする。
【０００８】
さらに、第３の発明であるデータ構造にあっては、ロングファイルネームに対応するファイルシステムの長いファイル名と、ショートファイルネームに対応するファイルシステムの短いファイル名とによってファイル或いはディレクトリを管理するファイル管理プログラムで用いられるデータ構造であって、前記短いファイル名として、前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報の少なくとも一部を含むことを特徴とする。
【０００９】
また、第４の発明であるファイル管理装置にあっては、ロングファイルネームに対応するファイルシステムの長いファイル名と、ショートファイルネームに対応するファイルシステムの短いファイル名とによってファイル或いはディレクトリを管理するファイル管理装置であって、前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報の少なくとも一部を含ませて前記短いファイル名を設定する設定手段を備えたことを特徴とする。
【００１０】
さらに、第５の発明であるファイル管理装置にあっては、ロングファイルネームに対応するファイルシステムの長いファイル名と、ショートファイルネームに対応するファイルシステムの短いファイル名とによってファイル或いはディレクトリを管理するファイル管理装置であって、前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報が前記短いファイル名に含まれている場合には、前記短いファイル名を解析することで、前記ロングファイルネームに対応するファイルシステムにおけるファイル管理情報を解析する解析手段を備えたことを特徴とする。
【００１１】
この第１〜第５の発明によれば、例えば、ファイルの検索処理のように、長いファイル名のファイル管理情報の解析が必要なソフトウェア（ファームウェア）処理が実行される場合に、短いファイル名に当該処理で必要とされる情報を格納しておくことができる。そのため、長いファイル名のディレクトリエントリを読み出して解析する前に、長いファイル名の管理情報が含まれている短いファイル名のディレクトリエントリを解析することで、前記長いファイル名の管理情報の解析が必要なソフトウェア（ファームウェア）処理の改善（例えば、検索処理等の高速化）を図ることが可能である。
【００１２】
また、第６の発明であるファイル管理プログラムにあっては、前記ファイル管理情報は、前記長いファイル名の総文字数を示す情報、及び前記ロングファイルネームに対応するファイルシステムにおいて使用可能な残りのファイルパス文字列数のいずれかであることを特徴とする。
この第６の発明によれば、例えば、所望ファイルの検索時に、各ファイルの短いファイル名を順次解析させることで、当該ファイルの長いファイル名の総文字数が所望ファイルのファイル名の総文字数と一致するか否かを容易に判定させることができる。そのため、それらの総文字数が一致するファイルのディレクトリエントリにのみ長いファイル名を解析する処理（解析処理）を実行するだけでよくなるため、例えば、全てのファイルの全てのディレクトリエントリに対して前記解析処理を行う方法に比べ、前記解析処理の実行回数を少なくすることができ、その結果、ファイルの検索に要する処理時間を短くすることができる。
【００１３】
また、例えば、利用者によるファイルパスに関するコマンド指定時に、そのファイルパスが表す短いファイル名を解析させることで、自装置で使用可能な残りのファイルパスの文字数の情報を当該短いファイル名から容易に取得させることができる。そのため、その残りのファイルパスの文字数に基づいて内部処理であるエラー判断処理を行うことができ、例えば、長いファイル名のディレクトリエントリの読み出しと解析とを繰り返し、前記長いファイル名に含まれる全文字を解析することで、自装置で使用可能な残りのファイルパスの文字数の情報を取得する方法に比べ、より効率的に実行することができる。
【００１４】
さらに、第７の発明であるファイル管理プログラムにあっては、前記長いファイル名を所定文字数ずつ格納可能な複数のディレクトリエントリに分割して格納する格納機能をコンピュータにさらに実行させることができ、また、前記命名機能は、前記長いファイル名の全文字を格納するために必要な前記ディレクトリエントリの個数を示す情報を含ませて前記短いファイル名を設定することを特徴とする。
【００１５】
この第７の発明によれば、例えば、所定ファイルの長いファイル名の読み出し時に、前記所定ファイルの短いファイル名を解析させることで、前記所定ファイルの長いファイル名が格納されているディレクトリエントリの個数の情報を取得させることができる。そのため、それらが格納されているディレクトリエントリを一度に読み出させることができ、例えば、長いファイル名のディレクトリエントリの読み出しと解析とを、当該ディレクトリエントリの個数と同じ回数を繰り返し実行することで、長いファイル名に含まれる全ての文字を読み出す方法に比べ、長いファイル名の読み出しに要する時間を短くすることができる。
【００１６】
また、第８の発明であるファイル管理プログラムにあっては、前記命名機能は、前記短いファイル名に通し番号を示す文字をさらに含ませ、その含ませた文字の数を前記通し番号の数に応じて変更可能としたことを特徴とする。
この第８の発明によれば、例えば、通し番号をつけるファイルの数が多い場合には、通し番号を示す文字の数を増やすことで、より多くの通し番号をつけることができる。
【００１７】
さらに、第９の発明であるファイル管理プログラムにあっては、前記短いファイル名を設定するときに、その設定する短いファイル名に対応するチェックサムを前記ロングファイルネームに対応するファイルシステムの規格に従って設定するチェックサム設定機能をコンピュータに実行させることを特徴とする。
この第９の発明によれば、例えば、ロングファイルネームに対応するファイルシステムで生成されたファイルの短いファイル名が本ファイル管理プログラムで再設定されると、その再設定された短いファイルネームに対応するチェックサムがロングファイルネームに対応するファイルシステムの規格に従って再設定される。そのため、例えば、短いファイル名が再設定されてもチェックサムを再設定せずにそのままとする方法と異なり、その再設定されたファイルが、再び前記ロングファイルネームに対応するファイルシステムで扱われたときに、チェックサムが不適切であると誤判断されることがなく、その結果、ロングファイルネームに対応する他のファイルシステムと互換性をもたせることができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明のファイル管理プログラムの実施形態として、画像データを生成可能なＣＣＤカメラ等の撮像ユニットを備えた携帯端末に適用した例を図面に基づいて説明する。
即ち、この携帯端末１にあっては、撮像ユニットで画像データが生成されると、その生成された画像データのファイルに対して、長いファイル名の検索に役立つ情報を含む短いファイル名がファイル名フィールドに設定され且つその他のフィールドにＦＡＴファイルシステムの規格に従ったフィールド値（情報）が設定された短いファイル名のディレクトリエントリと、ＶＦＡＴファイルシステムの規格に従った長いファイル名のディレクトリエントリとを設定してメモリーカードに記録する。そして、この携帯端末１にあっては、そのメモリーカードに記録されたファイルを、ＶＦＡＴファイルシステムや、ＶＦＡＴ機能がない、ＦＡＴファイルシステムを搭載したパソコンで利用者にそのまま扱わせることができ、また、そのようなファイルに対して自装置による長いファイル名の検索要求があるときに、短いファイル名を解析することで、任意のファイルをメモリーカードから効率的に検索することができるようにした。
【００１９】
＜携帯端末の構成＞
図１は、本実施形態の携帯端末の内部構成を示すブロック図である。この図１に示すように、携帯端末１は、撮像ユニット２、文字入力ユニット３、メモリーカードユニット４、表示ユニット５、Ｉ／Ｆ（InterFace）６、ＣＰＵ（Central Processing Unit）７、ＲＡＭ（Random Access Memory）８及びＲＯＭ(Read Only Memory)９を含んで構成される。そして、携帯端末１は、撮像ユニット２、文字入力ユニット３、メモリーカードユニット４及び表示ユニット５を除く各部が、バス１０で互いに接続される。
【００２０】
撮像ユニット２は、背面側の平面視上部に配され、ＣＣＤカメラ（不図示）を含んで構成される。そして、撮像ユニット２は、所定の操作がされると、被写体の画像データをＣＣＤカメラ（不図示）で生成し、その画像データをＩ／Ｆ６経由でＣＰＵ７に出力する。
また、文字入力ユニット３は、前面側の平面視下部に配され、任意の文字列を入力可能なキーボード（不図示）を含んで構成される。そして、文字入力ユニット３は、そのキーボード（不図示）から入力される文字列の情報をＩ／Ｆ６経由でＣＰＵ７に出力する。
【００２１】
さらに、メモリーカードユニット４は、平面視左端部に配され、電力供給を停止してもデータを保持可能な不揮発性のメモリーカード（不図示）を着脱可能に構成される。そして、メモリーカードユニット４は、ＣＰＵ７からファイル格納指令（後述）が出力されると、ＣＰＵ７で生成されたファイル（後述）をメモリーカード（不図示）に格納する。
また、メモリーカードユニット４は、ＣＰＵ７からショートディレクトリエントリ格納指令（後述）が出力されると、後述するようにＣＰＵ７で生成された短いファイル名のディレクトリエントリに格納する全ての情報を当該ディレクトリエントリ（メモリーカード（不図示））に格納する。さらに、メモリーカードユニット４は、ＣＰＵ７からロングディレクトリエントリ格納指令（後述）が出力されると、後述するようにＣＰＵ７で生成された長いファイル名のディレクトリエントリに格納する全ての情報を長いファイル名のディレクトリエントリ（メモリーカード（不図示））に格納する。
【００２２】
さらに、メモリーカードユニット４は、ＣＰＵ７からショートディレクトリエントリ読出指令（後述）が出力されると、そのショートディレクトリエントリ読出指令（後述）で指定されたファイルの短いファイル名のディレクトリエントリを、メモリーカード（不図示）から読み出してＩ／Ｆ６経由でＣＰＵ７に出力する。さらに、メモリーカードユニット４は、ＣＰＵ７からロングディレクトリエントリ読出指令（後述）が出力されると、前記ショートディレクトリエントリ読出指令（後述）によって読み出されたディレクトリエントリに対応する長いファイル名のディレクトリエントリを、一度に変数［ｌ］（後述）個分メモリーカード（不図示）から読み出してＩ／Ｆ６経由でＣＰＵ７に出力する。
【００２３】
また、メモリーカードユニット４は、ＣＰＵ７からＩ／Ｆ６経由でファイル読出指令（後述）が出力されると、前記ショートディレクトリエントリ読出指令（後述）によって読み出されたディレクトリエントリに対応するファイルをメモリーカード（不図示）から読み出し、その読み出されたファイルをＩ／Ｆ６経由で表示ユニット５に出力する。
さらに、表示ユニット５は、前面側の平面視中央部に配され、任意の画像を表示可能な表示装置（不図示）を含んで構成される。そして、表示ユニット５は、メモリーカードユニット４からＩ／Ｆ６経由でファイルが出力されると、その出力されたファイルに含まれるデータ（例えば、画像データや文書データ）を表示装置（不図示）に表示させる。
【００２４】
また、Ｉ／Ｆ６は、携帯端末１が備える各ユニット２〜５間や、各ユニット２〜５とＣＰＵ７との間で授受されるデータを受信側２〜５、７が読込可能な形式に変換する。
さらに、ＣＰＵ７は、ＲＯＭ９に格納されている基本制御プログラム(OS:Operating System)や、アプリケーションプログラム等の各種プログラムを読み出し、それら読み出された各種プログラムを実行して、携帯端末１が備える各部２〜９を制御する。
【００２５】
また、ＣＰＵ７は、撮像ユニット２から画像データが出力されると、その出力された画像データのファイルを生成し、また、その生成されたファイル（以下、「新生成ファイル」とも呼ぶ。）のファイルパスとして文字入力ユニット３から文字列の情報が入力されると、その新生成ファイルをメモリカード（不図示）の前記ファイルパスで指定された録位置のディレクトリに格納させる指令（以下、「ファイル格納指令」とも呼ぶ。）をＩ／Ｆ６経由でメモリーカードユニット４に出力する。また、ＣＰＵ７は、その格納させる新生成ファイルのファイル名として文字入力ユニット３から文字列の情報が入力されると、ディレクトリエントリ生成処理（後述）を実行する。そして、ＣＰＵ７は、ディレクトリエントリ生成処理（後述）が実行されると、その入力された文字列の情報に基づいて、長いファイル名を検索するときに役立つ情報を示す短いファイル名と、ＶＦＡＴファイルシステムの規格やＦＡＴファイルシステムの規格に従ったその他の情報とを生成する。また、ＣＰＵ７は、その生成された短いファイル名とその他の情報とを、前記ファイルの短いファイル名のディレクトリエントリや長いファイル名のディレクトリエントリ（メモリーカード（不図示））に格納させる指令（ショートディレクトリエントリ格納指令（後述）、ロングディレクトリエントリ格納指令（後述））をＩ／Ｆ６経由でメモリーカードユニット４に出力してから、このディレクトリエントリ生成処理（後述）を終了する。
【００２６】
具体的には、短いファイル名は、［ｓ］［ｌ］［ｎｎ］［ｍｍ］「〜（チルダ）」「ｋ」（ここで、「ｓ」、「ｎ」、「ｍ」、「ｋ」は変数、「〜」は固定文字）の８文字で構成する。そして、変数［ｓ］には、長いファイル名の先頭の１文字を設定する。
また、変数［ｌ］には、ディレクトリエントリ生成用ファイル名を１３文字（ＶＦＡＴファイルシステムの規格で長いファイル名の１つのディレクトリエントリに格納可能な最大文字列数として採用されている数）で除算したときの商に「１」を加算した結果、つまり、長いファイル名のディレクトリエントリの必要個数（存在個数）を設定する。
【００２７】
さらに、変数［ｎｎ］には、長いファイル名の総文字数の１６進数表記を設定する。
また、変数［ｍｍ］には、ＶＦＡＴファイルシステムの規格で使用可能な残りファイルパスの文字数の１６進数表記を設定する。具体的には、新生成ファイルがルートディレクトリに格納された場合には、２５５（ＶＦＡＴファイルシステムの規格で使用可能な最大のファイルパスの文字数）から、ドライブレター表記の文字数（例えば「￥：Ｃ」の場合「３」）と、変数［ｎｎ］と、を減じた数値の１６進数表記が設定される。また、新生成ファイルがルートディレクトリより下位のディレクトリに格納された場合には、前記格納されたディレクトリの変数［ｍｍ］の数値から変数［ｎｎ］を減じた数値が設定される。
【００２８】
さらに、変数［ｋ］には、短いファイル名の先頭から６文字目までが等しいもの、つまり、変数［ｓ］［ｌ］［ｎｎ］［ｍｍ］が互いに等しいものを識別するための通し番号の１６進数表記を設定する。
また、ＣＰＵ７は、メモリカード（不図示）に記録されている複数のファイルから所望のファイルを検索するために、その所望のファイルのファイル名として文字入力ユニット３から文字列の情報が入力されるとファイル検索処理（後述）を実行する。そして、ＣＰＵ７は、ファイル検索処理（後述）が実行されると、ショートディレクトリエントリ読出指令（後述）をＩ／Ｆ６経由でメモリーカードユニット４に出力して、当該ファイルの短いファイル名のディレクトリエントリをメモリーカード（不図示）から順次読み出す。また、ＣＰＵ７は、その読み出されたディレクトリエントリに記録されている短いファイル名の変数［ｌ］［ｎｎ］に基づいて前記入力された文字列と一致する可能性が高いか否かを判定し、一致する可能性が高い場合には、ロングディレクトリエントリ読出指令（後述）をメモリーカードユニット４に出力して、前記読み出された長いファイル名のファイルのディレクトリエントリに記録されている長いファイル名と拡張子とをメモリーカード（不図示）から一度に読み出す。さらに、ＣＰＵ７は、その読み出された長いファイル名と拡張子と前記文字列の情報とが完全に一致しているか否かを判定し、それらが完全に一致している場合には、ファイル読出指令（後述）をメモリーカードユニット４に出力して、前記読み出されたファイルを表示ユニット５に表示させてから、このファイル検索処理（後述）を終了する。
【００２９】
さらに、ＲＡＭ８は、ＣＰＵ７で実行される各種プログラムを展開するためのワークエリアと、それら各種プログラムの実行時に用いられるデータを格納するためのメモリ領域とを形成する。そして、ＲＡＭ８は、ＣＰＵ７から読み出し要求が出力されると、ＲＡＭ３に格納されているデータから当該読み出し要求に応じたデータをＣＰＵ７に出力する。
また、ＲＯＭ９は、ＣＰＵ７で実行される各種プログラムとデータとを格納する。そして、ＲＯＭ９は、ＣＰＵ７から読み出し要求が出力されると、ＲＯＭ９に格納されているプログラムやデータから当該読み出し要求に応じたプログラム等をＣＰＵ７に出力する。
【００３０】
＜携帯端末の動作＞
次に、ＣＰＵ７で実行されるディレクトリエントリ生成処理を、図２のフローチャートに従って説明する。このディレクトリエントリ生成処理は、新生成ファイルのファイル名として文字入力ユニット３から文字列の情報が入力されると実行される処理であって、まず、そのステップＳ１０１で、その入力された文字列、つまり、ファイル名（以下、「ディレクトリエントリ生成用ファイル名」とも呼ぶ。）の文字数が８文字より多い、或いはその拡張子の文字数が３文字より多いか否かを判定する。そして、ディレクトリエントリ生成用ファイル名が８文字より多い場合或いはその拡張子が３文字より多い場合には（Ｙｅｓ）ステップＳ１０２に移行し、ディレクトリエントリ生成用ファイル名が８文字以下であり且つその拡張子が３文字以下である場合には（Ｎｏ）ステップＳ１０９に移行する。
【００３１】
前記ステップＳ１０２では、ディレクトリエントリ生成用ファイル名を長いファイル名に設定するものとし、前述の方法に従って変数［ｓ］［ｌ］［ｎｎ］［ｍｍ］を決定することで、短いファイル名［ｓ］［ｌ］［ｎｎ］［ｍｍ］「〜」「ｋｋ」を生成する。
次にステップＳ１０３に移行して、ＦＡＴファイルシステムの規格に従い、新生成ファイルの短いファイル名のディレクトリエントリに格納するその他のフィールド値（情報（短いファイル名を除いた情報））を生成する。
【００３２】
次にステップＳ１０４に移行して、前記ステップＳ１０２で生成された短いファイル名と、前記ステップＳ１０３で生成されたその他の情報とを、つまり、短いファイル名のディレクトリエントリに格納する全ての情報を、新生成ファイルの短いファイル名のディレクトリエントリに格納させる指令（以下、「ショートディレクトリエントリ格納指令」とも呼ぶ。）をＩ／Ｆ６経由でメモリーカードユニット４に出力する。
【００３３】
次にステップＳ１０５に移行して、ディレクトリエントリ生成用ファイル名を長いファイル名としてそのまま設定する。
次にステップＳ１０６に移行して、ＶＦＡＴファイルシステムの規格に従い、前記ステップＳ１０３で本発明の変換（命名）規則に従って生成された短いファイル名のチェックサムを算出する。
【００３４】
次にステップＳ１０７に移行して、ＶＦＡＴファイルシステムの規格に従い、新生成ファイルの長いファイル名のディレクトリエントリに格納するその他のフィールド値（情報（長いファイル名及びチェックサムを除いた情報））を生成する。
次にステップＳ１０８に移行して、前記ステップＳ１０５で設定された長いファイル名と、前記ステップＳ１０６で生成されたチェックサムと、前記ステップＳ１０７で生成されたその他の情報とを、つまり、長いファイル名のディレクトリエントリに格納する全ての情報を、新生成ファイルの長いファイル名のディレクトリエントリに格納させる指令（以下、「ロングディレクトリエントリ格納指令」とも呼ぶ。）をＩ／Ｆ６経由でメモリーカードユニット４に出力してから、この演算処理を終了する。
【００３５】
一方、前記ステップＳ１０９では、ＦＡＴファイルシステムの規格に従い、新生成ファイルの短いファイル名のディレクトリエントリに格納する全情報を生成する。
次にステップＳ１１０に移行して、前記ステップＳ１０９で生成された全ての情報を、新生成ファイルの短いファイル名のディレクトリエントリに格納させるショートディレクトリエントリ格納指令をＩ／Ｆ６経由でメモリーカードユニット４に出力してから、この演算処理を終了する。
【００３６】
次に、ＣＰＵ７で実行されるファイル検索処理を、図３のフローチャートに従って説明する。このファイル検索処理は、メモリーカード（不図示）内の任意のディレクトリに記録されている複数のファイルから所望のファイルを検索するために、その所望のファイルのファイル名、すなわち、当該検索の対象となるファイルが格納されているディレクトリのファイルパスとして文字入力ユニット３から文字列の情報が入力されると実行される処理であって、まず、そのステップＳ２０１で、利用者によって指定されたファイルパスに対応するディレクトリエントリ群の記録位置の先頭から順番に、短いファイル名のディレクトリエントリを読み出してＣＰＵ７に出力させる指令（以下、「ショートディレクトリエントリ読出指令」とも呼ぶ。）をＩ／Ｆ６経由でメモリーカードユニット４に出力する。
【００３７】
次にステップＳ２０２に移行して、前記ステップＳ２０１で読み出されたディレクトリエントリに含まれている短いファイル名が本発明の命名規則に従って設定されているか否かを判定する。具体的には、前記短いファイル名が変数［ｓ］［ｌ］［ｎｎ］［ｍｍ］「ｋ」が全て本発明の命名規則の各パラメータ値として有効な範囲内の数値であるか否かを判定し、全て有効な数値として判定できる場合には（Ｙｅｓ）ステップＳ２０３に移行し、いずれか一つでも有効でない数値として判定される場合には（Ｎｏ）ステップＳ２０９に移行する。
【００３８】
前記ステップＳ２０３では、前記ステップＳ２０１で読み出されたディレクトリエントリに含まれる短いファイル名の変数［ｓ］が前記利用者によって入力されたファイル名（以下「検索用ファイル名」とも呼ぶ。）の先頭の１文字と一致するか否かを判定する。そして、それらの文字が一致する場合には（Ｙｅｓ）ステップＳ２０４に移行し、一致しない場合には（Ｎｏ）前記ステップＳ２０１に移行する。
【００３９】
前記ステップＳ２０４では、前記ステップＳ２０１で読み出されたディレクトリエントリに含まれる短いファイル名の変数［ｎｎ］が、検索用ファイル名の総文字数を１６進数表記したものと一致するか否かを判定する。そして、それらが一致する場合には（Ｙｅｓ）ステップＳ２０５に移行し、一致しない場合には（Ｎｏ）次の記録位置の（短いファイル名の）ディレクトリエントリを読み出して解析するために、前記ステップＳ２０１に移行する。
【００４０】
前記ステップＳ２０５では、前記ステップＳ２０１で読み出されたディレクトリエントリから短いファイル名の変数［ｌ］を取得し、その取得された変数［ｌ］個分の長いファイル名のディレクトリエントリをメモリーカード（不図示）から一度に読み出してＣＰＵ２に出力させる指令（以下、「ロングディレクトリエントリ読出指令」とも呼ぶ。）をＩ／Ｆ６経由でメモリーカードユニット４に出力する。
【００４１】
次にステップＳ２０６に移行して、まず、ＶＦＡＴファイルシステムの規格に従い、つまり、前記ディレクトリエントリ生成処理のステップＳ１０６と同様の計算式に従って、前記ステップＳ２０１で読み出されたディレクトリエントリに含まれる短いファイル名のチェックサムを算出する。次いで、その算出されたチェックサムが、前記ステップＳ２０５で読み出された各長いファイル名のディレクトリエントリに含まれるチェックサムそれぞれと一致するか否かを判定する。そして、それらが全て一致する場合には（Ｙｅｓ）ステップＳ２０７に移行し、一致しない場合、つまり、 ＶＦＡＴファイルシステムの規定に従っていない、独自のファイルシステム仕様が想定されるような場合には（Ｎｏ）前記ステップＳ２０１に移行する。
【００４２】
前記ステップＳ２０７では、前記ステップＳ２０５で読み出されたディレクトリエントリから長いファイル名と拡張子とを取得する。
次にステップＳ２０８に移行して、前記ステップＳ２０７で取得された長いファイル名と検索用ファイル名とが一致するか否かを判定する。そして、それらが一致する場合には（Ｙｅｓ）、前記ステップＳ２０１で読み出されたディレクトリエントリに対応するファイルをメモリカード（不図示）から読み出して表示ユニット５に出力させる指令（以下、「ファイル読出指令」とも呼ぶ。）をＩ／Ｆ６経由でメモリーカードユニット４に出力してから、この演算処理を終了し、一致しない場合には（Ｎｏ）前記ステップＳ２０１に移行し、前記ステップＳ２０１からディレクトリエントリの解析処理が繰り返される。
【００４３】
一方、前記ステップＳ２０９では、ＦＡＴファイルシステムの規格に従って、短いファイル名と検索用ファイル名とが一致するファイルを検索する従来のファイル検索処理を実行し、所望するファイルが検索できた時点で、この演算処理が終了される。この時、本発明によるＶＦＡＴファイルシステム以外の、別のＶＦＡＴファイルシステムとの互換性を必要とする製品システムの場合には、本発明以前の従来のＶＦＡＴファイルシステムの解析処理を追加実行することにより、互換性を維持することも可能である。
【００４４】
＜携帯端末の具体的動作＞
次に、本実施形態の携帯端末１の動作を具体的状況に基づいて詳細に説明する。
＜ファイルの生成＞
まず、利用者が撮像のための所定の操作をし、被写体の画像データが撮像ユニット２のＣＣＤカメラ（不図示）で生成されたとする。すると、図２に示すように、撮像ユニット２によって、その生成された画像データがＩ／Ｆ６経由でＣＰＵ７に出力される。そして、ＣＰＵ７によって、そのＣＰＵ７から出力された画像データのファイルが生成される。
【００４５】
次いで、その生成されたファイル（新生成ファイル）のファイル名（ディレクトリエントリ生成用ファイル名）と拡張子との組み合わせとして、利用者が文字入力ユニット３のキーボード（不図示）から文字列 「Ａ：￥ＡＢＣＤＥＦＧＨＩＪ．ＢＭＰ」を入力したとする。すると、文字入力ユニット３によって、その入力された文字列の情報がＩ／Ｆ６経由でＣＰＵ７に出力される。また、ＣＰＵ７によって、ファイル格納指令がＩ／Ｆ６経由でメモリーカードユニット４に出力される。これを受けて、メモリーカードユニット４は、前記生成されたファイルを、前記入力されたファイルパス（前記例の場合、「Ａ：￥」）に対応するデータ記憶領域に記録する。また同時に、ＣＰＵ７によって、ディレクトリエントリ生成処理が実行され、図２に示すように、まず、そのステップＳ１０１の判定が「Ｙｅｓ」となり、ステップＳ１０２で、その入力されたファイル名（ディレクトリエントリ生成用ファイル名）に基づいて、新生成ファイルの短いファイル名「Ａ１０ＥＥＥ〜１」が生成される（ここで、［ｓ］は「Ａ」、［ｌ］は「１」、［ｎｎ］は「０Ｅ（１４）」、［ｍｍ］は「ＥＥ（２５５−３−１４＝２３８）」、［ｋｋ］は「１」に設定される。）。
【００４６】
さらに、ステップＳ１０３で、ＦＡＴファイルシステムの規格に従い、新生成ファイルの短いファイル名のディレクトリエントリに格納するその他の情報が生成される。また、ステップＳ１０４で、ショートディレクトリエントリ格納指令がＩ／Ｆ６経由でメモリーカードユニット４に出力される。そして、メモリーカードユニット４によって、図４に示すように、ＣＰＵ７で生成された短いファイル名とその他のフィールド値（情報）とが、メモリーカード（不図示）の短いファイル名のディレクトリエントリに格納される。
【００４７】
また、図２に示すように、ステップＳ１０５で、長いファイル名としてディレクトリエントリ生成用ファイル名の全ての文字列「ＡＢＣＤＥＦＧＨＩＪ．ＢＭＰ」がそのまま設定され、ステップＳ１０６で、ＶＦＡＴファイルシステムの規格に従い、短いファイル名のチェックサムが算出される。さらに、ステップＳ１０７で、ＶＦＡＴファイルシステムの規格に従い、新生成ファイルの長いファイル名のディレクトリエントリに格納するその他のフィールド値（情報）が生成される。また、ステップＳ１０８で、ロングディレクトリエントリ格納指令がＩ／Ｆ６経由でメモリーカードユニット４に出力される。そして、メモリーカードユニット４によって、図４に示すように、ＣＰＵ７で生成された長いファイル名とチェックサムとその他の情報とが、メモリーカード（不図示）の長いファイル名のディレクトリエントリに格納されてから、この演算処理を終了する。
【００４８】
＜ファイルの検索＞
また、上記フローが繰り返し実行され、複数のファイルがメモリーカード（不図示）に記録された後に、それら複数のファイルの中から所望のファイルを検索するために、その所望のファイルのファイル名（検索用ファイル名）と拡張子との組み合わせ、すなわち、当該検索の対象となるファイルが格納されているディレクトリのファイルパスとして文字入力ユニット３から文字列の情報を入力したとする。すると、ＣＰＵ７によって、ファイル検索処理が実行され、図３に示すように、まず、そのステップＳ２０１で、ショートディレクトリエントリ読出指令がＩ／Ｆ６経由でメモリーカードユニット４に出力され、メモリーカードユニット４によって、図４に示すように、利用者によって指定されたファイルパスに対応するディレクトリエントリ群の記録位置の先頭にある短いファイル名のディレクトリエントリがメモリカード（不図示）から読み出されてＣＰＵ７に出力され、また、図３に示すように、ステップＳ２０２の判定が「Ｙｅｓ」となる。また、読み出されたディレクトリエントリに含まれる短いファイル名の変数［ｓ］が検索用ファイル名の先頭の１文字と一致したとすると、ステップＳ２０３の判定が「Ｙｅｓ」となる。さらに、前記短いファイル名の変数［ｎｎ］が、検索用ファイル名の総文字数を１６進数表記したものと一致しなかったとする。すると、ステップＳ２０４の判定が「Ｎｏ」となり、前記ステップＳ２０１から上記フローが繰り返し実行され、前記先頭にある短いファイル名のディレクトリエントリに続く短いファイル名のディレクトリエントリが順次読み出される。
【００４９】
そして、上記フローが繰り返し実行されるうちに、前記短いファイル名の変数［ｎｎ］が検索用ファイル名の総文字数を１６進数表記したものと一致したとする。すると、検索対象ファイル名と長いファイル名とが一致する可能性が高いものと判定し、前記ステップＳ２０４の判定が「Ｙｅｓ」となり、ステップＳ２０５で、ロングディレクトリエントリ読出指令がＩ／Ｆ６経由でメモリーカードユニット４に出力される。そして、メモリーカードユニット４によって、前記短いファイル名の変数［ｌ］が取得され、図４に示すように、その取得された変数［ｌ］個（前記例の場合、１個）分の長いファイル名のディレクトリエントリがメモリーカード（不図示）から一度に読み出されてＣＰＵ２に出力される。
【００５０】
また、ステップＳ２０６で、前記ディレクトリエントリ生成処理のステップＳ１０６と同様の計算式に従って、前記読み出されたディレクトリエントリに含まれる短いファイル名のチェックサムが算出される。ここで、その算出されたチェックサムが、前記読み出された各長いファイル名のディレクトリエントリに含まれるチェックサムそれぞれと一致したとすると、ステップＳ２０６の判定が「Ｙｅｓ」となる。そして、ステップＳ２０７で、その読み出されたディレクトリエントリから長いファイル名と拡張子とが取得され、また、その取得された長いファイル名と検索用ファイル名とが一致したとすると、ステップＳ２０８の判定が「Ｙｅｓ」となり、ファイル読出指令がＩ／Ｆ６経由でメモリーカードユニット４に出力されてから、この演算処理を終了する。そして、メモリーカードユニット４によって、前記読み出されたディレクトリエントリに対応するファイルがメモリカード（不図示）から読み出されて表示ユニット５に出力され、表示ユニット５によって、その出力されたファイルに含まれる画像データが表示装置（不図示）に表示される。
【００５１】
このように、本実施形態の携帯端末１によれば、長いファイル名の総文字数を示す変数［ｎｎ］を含ませて短いファイル名に変換する命名規則を採用した。そのため、利用者が所望するファイルの検索時に、短いファイル名のディレクトリエントリに格納された短いファイル名だけを解析させることで、長いファイル名の総文字数が前記所望されたファイルのファイル名の総文字数と一致するか否かを容易に判定させることができる。そのため、それらが一致するファイルのディレクトリエントリにのみ長いファイル名を解析する解析処理を実行するだけでよくなるため、例えば、全てのファイルの全てのディレクトリエントリに対して解析処理を行わせる方法に比べ、解析処理の実行回数を少なくすることができ、その結果、前記所望されたファイルの検索に要する処理時間を短くすることができる。
【００５２】
また、長いファイル名のディレクトリエントリの記録個数を示す変数［ｌ］を含ませて短いファイル名に変換する命名規則を採用した。そのため、長いファイル名を読み出すときに、短いファイル名を解析させることで、前記長いファイル名が格納されているディレクトリエントリの個数の情報を取得することができる。そのため、長いファイル名のディレクトリエントリを一度に読み出させることができ、例えば、長いファイル名のディレクトリエントリの読み出しと解析とを繰り返しながら、長いファイル名に含まれる全文字を読み出す方法に比べ、長いファイル名の読み出しに要する時間を短くすることができる。
【００５３】
ちなみに、従来の方法にあっては、図５に示すように、まず、利用者により指定されたファイルパスに相当する、ディレクトリエントリ群の記録位置の先頭から順番に、短いファイル名のディレクトリエントリを読み出し（Ｓ３０１）、その読み出されたディレクトリエントリから前記長いファイル名等を取得し（Ｓ３０４）、その取得された前記長いファイル名がさらに続くことが判定されると（Ｓ３０７「Ｙｅｓ」）、上記フローをディレクトリエントリの読み出しから繰り返し実行していた（Ｓ３０１〜Ｓ３０７）。そして、従来の方法にあっては、上記フローが繰り返し実行されることで、前記長いファイル名の全文字が取得されると（Ｓ３０７「Ｎｏ」）、その全文字が取得された長いファイル名と所望のファイルのファイル名とを比較することで（Ｓ３０９）、その所望のファイルを探し出すようになっているため、ハードウエア性能に厳しい制約がある組み込み機器に適用した場合、所望ファイルの検索処理に多くの時間が掛かってしまう恐れがある。
【００５４】
また、本発明の変換（命名）規則による、短いファイル名以外の情報（チェックサム等）は、ＦＡＴファイルシステムの規格に従って設定するようにした。そのため、ＶＦＡＴファイルシステムやＶＦＡＴ機能がない、ＦＡＴファイルシステムを搭載したパソコンでもファイルが正常であると認識させることができる。その結果、そのパソコンでファイルをそのまま扱わせることができる。なお、携帯端末１で生成されたファイルであって、ＶＦＡＴファイルシステムを搭載したパソコンでファイル操作が行われたことで、短いファイル名がＶＦＡＴファイルシステムの規定に従ったものに変換されてしまったファイルについては、携帯端末１で短いファイル名の書き直し等の処理を行うようにしてもよい。
【００５５】
さらに、本発明の変換（命名）規則に従って生成された短いファイル名に対応するチェックサムを、ＶＦＡＴファイルシステムの規格に従ってディレクトリエントリに設定するようにした。そのため、例えば、携帯端末１とは別のＶＦＡＴファイルシステムで生成されたファイルの短いファイル名が本ファイル管理プログラムで再設定されると、その再設定された短いファイル名に対応するチェックサムがＶＦＡＴファイルシステムの規格に従って再設定される。そのため、例えば、短いファイル名が再設定されてもチェックサムを再設定しない方法と異なり、その再設定されたファイルが、再び携帯端末１とは別のＶＦＡＴファイルシステムで扱われたときに、チェックサムが不適切であると誤判断されることがなく、他の、ＶＦＡＴファイルシステムと互換性をもたせることができる。
【００５６】
以上、上記実施形態では、図２のステップＳ１０２及びＳ１０４が特許請求の範囲に記載の命名機能を構成し、以下同様に、図２のステップＳ１０８が格納機能を構成し、ステップＳ１０６及びＳ１０８がチェックサム設定機能を構成し、図４のステップＳ２０２、Ｓ２０３及びＳ２０４が解析機能を構成し、図１のＣＰＵ７、図２のステップＳ１０４が設定手段を構成し、図１のＣＰＵ７、図４のステップＳ２０２、Ｓ２０３及びＳ２０４が解析機能を構成する。
【００５７】
なお、本発明のファイル管理プログラム、データ構造及びファイル管理装置は、上記実施の形態の内容に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
上記実施形態では、長いファイル名の総文字数を示す変数［ｎｎ］と、長いファイル名の全文字を格納するために必要なディレクトリエントリの個数を示す変数［ｌ］と、ＶＦＡＴファイルシステムの規格で使用可能な残りのファイルパスの文字数の１６進数表記［ｍｍ］と、を短いファイル名に含ませる例を示したが、これに限られるものではない。例えば、ファイル管理プログラムを実現する組み込み機器用のファームウェアの内部処理や、実装コードに少しでも有益となるようなその他の情報を含ませるようにしてもよい。
【００５８】
また、変数［ｓ］が互いに等しいものを識別するための通し番号の１６進数表記を、１文字（１ビット）の変数［ｋ］で表す例を示したが、これに限られるものではない。例えば、通し番号の記録（識別）数を重視するときには、変数［ｋ］のビットフィールドの幅を２倍に拡張させてもよく、そのようにすれば、通し番号を「２５５」まで扱えることとなる。
【００５９】
さらに、長いファイル名の先頭の１文字を示す変数［ｓ］や固定文字［〜］を短いファイル名に含ませる例を示したが、これに限られるものではない。例えば、ＶＦＡＴファイルシステムを搭載したパソコンとの互換性を考慮する必要がない場合には、変数［ｓ］や固定文字［〜］に代えて、長いファイル名の全文字に関するその他の情報を含ませるようにしてもよい。つまり、実装されるＶＦＡＴファイルシステムの製品仕様に合わせて柔軟に拡張するようにしてもよい。
【図面の簡単な説明】
【００６０】
【図１】実施形態における携帯端末の内部構成を示すブロック図である。
【図２】ディレクトリエントリ生成処理のフローチャートである。
【図３】ファイル検索処理のフローチャートである。
【図４】携帯端末の動作を説明するための説明図である。
【図５】従来のファイル検索処理のフローチャートである。
【符号の説明】
【００６１】
１は携帯端末、２は撮像ユニット、３は文字入力ユニット、４はメモリーカードユニット、５は表示ユニット、６はＩ／Ｆ、７はＣＰＵ、８はＲＡＭ、９はＲＯＭ、１０はバス
【図１】
2006092087.tif 000003
【図２】
2006092087.tif 000004
【図３】
2006092087.tif 000005
【図４】
2006092087.tif 000006
【図５】
2006092087.tif 000007