(57)【要約】【課題】断片化の発生を抑制し、セクタ間の使用頻度を平準化する。【解決手段】サイズＮのデータファイル（ＤＦ）を作成する。対象ファイルの先頭サブファイル（ＳＦ）が書き込まれたＤＦのＩＤを格納するテーブルＤと、各ＤＦの使用可否フラグ及び次ファイルＩＤを格納するテーブルＴとを含む管理用ファイルを作成する。ファイルＸを複数のＳＦに分割し、順に選択する。管理用ファイルを参照して使用可能なカレントＤＦを探索し、更新リードモードでオープンして前記選択したＳＦを書き込み、テーブルＴのカレントＤＦの使用可否フラグに「不可」を設定する。前記選択したＳＦが先頭ＳＦである場合、テーブルＤのファイルＸ対応領域にカレントＤＦのＩＤを書き込み、そうでない場合、テーブルＴの、１つ前に選択したＳＦを書き込んだＤＦの次ファイルＩＤ領域に、カレントＤＦのＩＤを書き込む。ファイルＸに関して未選択のＳＦがある場合、選択を続行する。【選択図】図１
2009146135.tif 000002
【特許請求の範囲】
【請求項１】
ＦＡＴファイルシステムを介して記憶媒体に、サイズＮのファイル（以下、「データファイル」という）を複数、順序付けされた状態で作成する作成手段と、
前記ＦＡＴファイルシステムを介して前記記憶媒体に、各管理対象ファイルについて、先頭サブファイルが書き込まれたデータファイルの識別情報を格納するディレクトリテーブルＤと、各データファイルについて、使用可否を示すフラグ及びデータファイルチェーンにおける後続データファイルの識別情報（以下、「次ファイルＩＤ」という）を格納するデータファイルテーブルＴと、を含む管理用ファイルを作成する管理用ファイル作成手段と、
書き込み対象のファイルＸを受け付けた場合、ファイルＸを、それぞれサイズＮ以下の複数のサブファイルに分割する手段と、
前記ＦＡＴファイルシステムを介して前記記憶媒体から管理用ファイルを読み出す手段と、
ファイルＸに関してサブファイルを順に選択する選択手段と、
前記選択したサブファイルについて、前記読み出した管理用ファイルを参照して使用可否フラグが「使用可」を示すデータファイルを探索し、前記探索によりデータファイルが見つかった場合、前記見つかったデータファイル（以下、「カレントデータファイル」という）を更新リードモードでオープンして前記選択したサブファイルを書き込むとともに、データファイルテーブルＴのカレントデータファイルの使用可否フラグに「使用不可」を示す情報を設定するファイル書込手段と、
前記選択したサブファイルがファイルＸの先頭サブファイルである場合、ディレクトリテーブルＤのファイルＸに対応する領域にカレントデータファイルの識別情報を書き込み、そうでない場合、データファイルテーブルＴの、前記選択したサブファイルの１つ前に選択したサブファイルを書き込んだデータファイルの次ファイルＩＤ領域に、カレントデータファイルの識別情報を書き込むチェーン設定手段と、
ファイルＸに関して未選択のサブファイルがある場合、前記選択手段による選択が続行されるように制御する手段と、
を備えることを特徴とするファイル管理モジュール。
【請求項２】
前記管理用ファイルが、探索開始データファイルを特定するためのポインタＰを含んでおり、
前記ファイル書込手段が、前記読み出した管理用ファイルを参照してポインタＰで特定されるデータファイルを基準として順に使用可否フラグが「使用可」を示すデータファイルを探索し、前記探索によりデータファイルが見つかった場合、前記見つかったデータファイル（カレントデータファイル）を更新リードモードでオープンして前記選択したサブファイルを書き込むとともに、カレントデータファイルの次のデータファイルが探索開始データファイルとなるようにポインタＰを設定することを特徴とする請求項１記載のファイル管理モジュール。
【請求項３】
ファイルＸについて削除要求を受け付けた場合、ディレクトリテーブルＤ及びデータファイルテーブルＴを参照して、ファイルＸのサブファイルが書き込まれたデータファイルを特定し、データファイルテーブルＴの前記特定したデータファイルの使用可否フラグ領域に「使用可」を示す情報を設定するファイル削除手段を備えることを特徴とする請求項１又は２記載のファイル管理モジュール。
【請求項４】
前記管理用ファイル作成手段が、前記管理用ファイルを、当該ファイル管理モジュールが実装される情報処理装置のシステム領域の近傍に作成することを特徴とする請求項１乃至３のいずれか１項に記載のファイル管理モジュール。
【請求項５】
請求項１乃至４のいずれか１項に記載のファイル管理モジュールを備えた印刷装置であって、
該印刷装置の印刷可能最大解像度、ノズル数、インク数、印刷可能最大用紙サイズ、印刷可能最大長のうちの少なくともいずれかの情報に基づいて前記サイズＮを決定するサイズ決定手段を備えることを特徴とする印刷装置。
【請求項６】
請求項１乃至４のいずれか１項に記載のファイル管理モジュールを備えた印刷装置であって、
前記サイズＮが２Ｇバイトであることを特徴とする印刷装置。
【請求項７】
ＦＡＴファイルシステムを介して記憶媒体に、サイズＮのファイル（以下、「データファイル」という）を複数、順序付けされた状態で作成する作成工程と、
前記ＦＡＴファイルシステムを介して前記記憶媒体に、各管理対象ファイルについて、先頭サブファイルが書き込まれたデータファイルの識別情報を格納するディレクトリテーブルＤと、各データファイルについて、使用可否を示すフラグ及びデータファイルチェーンにおける後続データファイルの識別情報（以下、「次ファイルＩＤ」という）を格納するデータファイルテーブルＴと、を含む管理用ファイルを作成する管理用ファイル作成工程と、
書き込み対象のファイルＸを受け付けた場合、ファイルＸを、それぞれサイズＮ以下の複数のサブファイルに分割する工程と、
前記ＦＡＴファイルシステムを介して前記記憶媒体から管理用ファイルを読み出す工程と、
ファイルＸに関してサブファイルを順に選択する選択工程と、
前記選択したサブファイルについて、前記読み出した管理用ファイルを参照して使用可否フラグが「使用可」を示すデータファイルを探索し、前記探索によりデータファイルが見つかった場合、前記見つかったデータファイル（以下、「カレントデータファイル」という）を更新リードモードでオープンして前記選択したサブファイルを書き込むとともに、データファイルテーブルＴのカレントデータファイルの使用可否フラグに「使用不可」を示す情報を設定するファイル書込工程と、
前記選択したサブファイルがファイルＸの先頭サブファイルである場合、ディレクトリテーブルＤのファイルＸに対応する領域にカレントデータファイルの識別情報を書き込み、そうでない場合、データファイルテーブルＴの、前記選択したサブファイルの１つ前に選択したサブファイルを書き込んだデータファイルの次ファイルＩＤ領域に、カレントデータファイルの識別情報を書き込むチェーン設定工程と、
ファイルＸに関して未選択のサブファイルがある場合、前記選択工程が続行されるように制御する工程と、
を備えることを特徴とするファイル管理方法。
【請求項８】
請求項７記載のファイル管理方法をコンピュータで実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＦＡＴファイルシステムを介してファイル読み出し／書き込みを行うファイル管理技術に関する。
【背景技術】
【０００２】
従来、大判プリンタ（ＬＦＰ）が備えるハードディスク等の記憶媒体は、ＦＡＴファイルシステムによってファイル管理が行われる場合が多い。ハードディスク等は、通常、セクタ（固定サイズの物理的に連続した記憶領域）を最小単位としてデータの読み出し／書き込みが行われるが、ＦＡＴファイルシステムでは、複数のセクタをクラスタと呼ばれる単位にまとめて管理する。従って、ＦＡＴファイルシステムのもとでは、ハードディスクに記録されるファイルは、そのサイズに応じて１又は複数のクラスタによって記憶・管理されることになる。
【０００３】
ＦＡＴファイルシステムは、各クラスタに対応する要素を持つＦＡＴを備えており、各要素には、クラスタチェーン情報、すなわち、当該クラスタのデータに続くデータがどのクラスタに格納されてるか、という情報が記録される。またＦＡＴファイルシステムは、ディレクトリテーブル（ルートディレクトリテーブル、サブディレクトリテーブ）を備えており、該テーブルには、各ファイルのファイル名、ファイル属性、該ファイルを構成する最初のクラスタのクラスタ番号などが記録される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＦＡＴファイルシステムによってファイルを管理する場合、以下のような問題が存在する。
【０００５】
第１に、異なるサイズのファイルの作成、削除を繰り返した場合、１つのファイルを構成するクラスタが物理的に離れた位置にばらばらに配置されるフラグメンテーション（断片化）が生じる。フラグメンテーションが生じると、メモリ領域の新たな確保、走査（ヘッドシーク）に時間がかかるため、ファイルシステムのパフォーマンスが低下する要因となる。
【０００６】
第２に、ファイルを作成する際、通常、未使用クラスタのうち、クラスタ番号の小さいクラスタから順に選択されて使用されるため、クラスタ番号の小さいクラスタに属するセクタほど使用頻度が高くなる傾向がある。使用頻度が高いとセクタ不良となる可能性も高まるため、早い段階からクラスタ番号の小さいクラスタが使用不能となってしまい、ハードディスク等の寿命が短縮されてしまう可能性がある。
【０００７】
そこで、本発明は、ＦＡＴファイルシステムによりファイルを管理する枠組みを採用しつつ、フラグメンテーションの発生を抑制し、セクタ間の使用頻度を平準化することができる新しい枠組みを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のファイル管理モジュールは、ＦＡＴファイルシステムを介して記憶媒体に、サイズＮのファイル（データファイル）を複数、順序付けされた状態で作成する作成手段と、前記ＦＡＴファイルシステムを介して前記記憶媒体に、各管理対象ファイルについて、先頭サブファイルが書き込まれたデータファイルの識別情報を格納するディレクトリテーブルＤと、各データファイルについて、使用可否を示すフラグ及びデータファイルチェーンにおける後続データファイルの識別情報（次ファイルＩＤ）を格納するデータファイルテーブルＴと、を含む管理用ファイルを作成する管理用ファイル作成手段と、書き込み対象のファイルＸを受け付けた場合、ファイルＸを、それぞれサイズＮ以下の複数のサブファイルに分割する手段と、前記ＦＡＴファイルシステムを介して前記記憶媒体から管理用ファイルを読み出す手段と、ファイルＸに関してサブファイルを順に選択する選択手段と、前記選択したサブファイルについて、前記読み出した管理用ファイルを参照して使用可否フラグが「使用可」を示すデータファイルを探索し、前記探索によりデータファイルが見つかった場合、前記見つかったデータファイル（カレントデータファイル）を更新リードモードでオープンして前記選択したサブファイルを書き込むとともに、データファイルテーブルＴのカレントデータファイルの使用可否フラグに「使用不可」を示す情報を設定するファイル書込手段と、前記選択したサブファイルがファイルＸの先頭サブファイルである場合、ディレクトリテーブルＤのファイルＸに対応する領域にカレントデータファイルの識別情報を書き込み、そうでない場合、データファイルテーブルＴの、前記選択したサブファイルの１つ前に選択したサブファイルを書き込んだデータファイルの次ファイルＩＤ領域に、カレントデータファイルの識別情報を書き込むチェーン設定手段と、ファイルＸに関して未選択のサブファイルがある場合、前記選択手段による選択が続行されるように制御する手段と、を備えることを特徴とする。
【０００９】
かかる構成によれば、記憶媒体上では一旦、データファイルが作成された後は、ファイルＸの書き込みが行われる場合でも、新たにファイルが作成されることがないため、ＦＡＴファイルシステムによりファイル管理する枠組みを採用する場合でも、ファイル作成に起因するフラグメンテーションの発生を抑制することができる。
【００１０】
好適には、前記管理用ファイルが、探索開始データファイルを特定するためのポインタＰを含んでおり、前記ファイル書込手段が、前記読み出した管理用ファイルを参照してポインタＰで特定されるデータファイルを基準として順に使用可否フラグが「使用可」を示すデータファイルを探索し、前記探索によりデータファイルが見つかった場合、前記見つかったデータファイル（カレントデータファイル）を更新リードモードでオープンして前記選択したサブファイルを書き込むとともに、カレントデータファイルの次のデータファイルが探索開始データファイルとなるようにポインタＰを設定することを特徴とする。
【００１１】
かかる構成によれば、データファイルを偏りなく使用することができるため、記憶媒体のクラスタ、従って、セクタ間の使用頻度を平準化することができ、結果として、使用頻度の偏りに起因する記憶媒体Ｈの寿命短縮を防止することができる。
【００１２】
また好適には、ファイルＸについて削除要求を受け付けた場合、ディレクトリテーブルＤ及びデータファイルテーブルＴを参照して、ファイルＸのサブファイルが書き込まれたデータファイルを特定し、データファイルテーブルＴの前記特定したデータファイルの使用可否フラグ領域に「使用可」を示す情報を設定するファイル削除手段を備えることを特徴とする。
【００１３】
かかる構成によれば、本発明の枠組みによってデータファイルに書きこまれたファイルＸを削除する場合、記憶媒体からデータファイル自体は削除されないため、ＦＡＴファイルシステムによりファイル管理する枠組みを採用する場合でも、ファイル削除に起因するフラグメンテーションの発生を抑制することができる。
【００１４】
また好適には、前記管理用ファイル作成手段が、前記管理用ファイルを、当該ファイル管理モジュールが実装される情報処理装置のシステム領域の近傍に作成することを特徴とする。
【００１５】
かかる構成によれば、管理用ファイルについて、システム領域と同程度の安全性・頑健性を確保することができる。
【００１６】
本発明の印刷装置は、本発明のファイル管理モジュールを備えた印刷装置であって、該印刷装置の印刷可能最大解像度、ノズル数、インク数、印刷可能最大用紙サイズ、印刷可能最大長のうちの少なくともいずれかの情報に基づいて前記サイズＮを決定するサイズ決定手段を備えることを特徴とする。又は、本発明のファイル管理モジュールを備えた印刷装置であって、前記サイズＮが２Ｇバイトであることを特徴とする。
【００１７】
かかる構成によれば、印刷装置が受信する可能性のあるジョブファイルのサイズに応じたデータファイルのサイズＮを設定できるので、ジョブファイルを効率よく格納することができる。特に、データファイルのサイズＮを２Ｇバイトとすることで、６４インチ対応大判インクジェットプリンタにおいてジョブファイルを効率よく格納することができる。
【００１８】
本発明のファイル管理方法は、ＦＡＴファイルシステムを介して記憶媒体に、サイズＮのファイル（データファイル）を複数、順序付けされた状態で作成する作成工程と、前記ＦＡＴファイルシステムを介して前記記憶媒体に、各管理対象ファイルについて、先頭サブファイルが書き込まれたデータファイルの識別情報を格納するディレクトリテーブルＤと、各データファイルについて、使用可否を示すフラグ及びデータファイルチェーンにおける後続データファイルの識別情報（次ファイルＩＤ）を格納するデータファイルテーブルＴと、を含む管理用ファイルを作成する管理用ファイル作成工程と、書き込み対象のファイルＸを受け付けた場合、ファイルＸを、それぞれサイズＮ以下の複数のサブファイルに分割する工程と、前記ＦＡＴファイルシステムを介して前記記憶媒体から管理用ファイルを読み出す工程と、ファイルＸに関してサブファイルを順に選択する選択工程と、前記選択したサブファイルについて、前記読み出した管理用ファイルを参照して使用可否フラグが「使用可」を示すデータファイルを探索し、前記探索によりデータファイルが見つかった場合、前記見つかったデータファイル（カレントデータファイル）を更新リードモードでオープンして前記選択したサブファイルを書き込むとともに、データファイルテーブルＴのカレントデータファイルの使用可否フラグに「使用不可」を示す情報を設定するファイル書込工程と、前記選択したサブファイルがファイルＸの先頭サブファイルである場合、ディレクトリテーブルＤのファイルＸに対応する領域にカレントデータファイルの識別情報を書き込み、そうでない場合、データファイルテーブルＴの、前記選択したサブファイルの１つ前に選択したサブファイルを書き込んだデータファイルの次ファイルＩＤ領域に、カレントデータファイルの識別情報を書き込むチェーン設定工程と、ファイルＸに関して未選択のサブファイルがある場合、前記選択工程が続行されるように制御する工程と、を備えることを特徴とする。
【００１９】
本発明のファイル管理方法は、印刷装置や情報処理装置において実施することができるが、そのためのプログラムの全体又は一部は、ＣＤ−ＲＯＭ、磁気ディスク、半導体メモリ及び通信ネットワークなどの各種の媒体を通じてインストールまたはロードすることができる。
【００２０】
なお、本発明において、手段とは、単に物理的手段を意味するものではなく、その手段が有する機能をソフトウェアによって実現する場合も含む。また、１つの手段や装置が有する機能が２つ以上の物理的手段や装置により実現されても、２つ以上の手段や装置の機能が１つの物理的手段や装置により実現されても良い。
【発明の効果】
【００２１】
以上、本発明によれば、ＦＡＴファイルシステムによりファイルを管理する枠組みを採用しつつ、フラグメンテーションの発生を抑制し、セクタ間の使用頻度を平準化することができる。
【発明を実施するための最良の形態】
【００２２】
図面を参照して本発明の実施形態を説明する。
【００２３】
図１は、本実施形態に係るプリンタ１の構成を示すブロック図である。
【００２４】
図１（ａ）は、プリンタ１の主要なハードウェア構成を示す。同図に示すように、プリンタ１は、通常のプリンタ装置と同様のハードウェア構成を備える。
【００２５】
例えば、プリンタ１は、用紙をプリンタ内に供給する給紙機構、印字を行う印刷エンジン、及び用紙をプリンタ機外に排出する排紙機構等のハードウェアにより構成される印刷処理部４０を備える。印刷エンジンは、通常、紙送機構、キャリッジ機構、印刷ヘッドなどを含んで構成され、インクジェットプリンタや熱転写プリンタのように１文字単位で印刷するシリアルプリンタ、１行単位で印刷するラインプリンタ、ページ単位で印刷するページプリンタ等に対応する各種印刷エンジンを用いることができる。
【００２６】
また例えば、プリンタ１は、ＣＰＵ１０、ＲＯＭ１１、ＲＡＭ１２、ＨＤＤ１３、ユーザインタフェース１４、ハードウェアインタフェース１５等のハードウェアにより構成される情報処理部４１を備える。情報処理部４１は、印刷処理部４０を制御して印刷処理を実行させる。
【００２７】
図１（ｂ）は、プリンタ１の主要な機能構成を示す。
【００２８】
通信部２０は、クライアント端末１００からジョブファイルなどを受信し、またプリンタ１のステータス情報などをクライアント端末１００に送信する。
【００２９】
ファイル管理モジュール２１は、ＨＤＤ１３にデータファイル及び管理用ファイルを作成し、これらを用いてＨＤＤ１３に管理対象ファイル（ここでは、ジョブファイル）をサブファイルに分割して記録・管理する。具体的には、ファイル管理モジュール２１は、図１（ｂ）に示すように、データファイル作成機能、管理用ファイル作成機能、サブファイル分割機能、管理用ファイル読出機能、サブファイル選択機能、ファイル書込機能、データファイルチェーン設定機能、サブファイル選択動作制御機能、サイズＮ決定機能などを備えている。これらの機能（ファイル管理モジュール２１の動作）については、後に詳述する。なお、図１（ｂ）では、各機能を機能手段として図示している。
【００３０】
ＦＡＴファイルシステム２２は、従来のＦＡＴファイルシステムと同様であり、ファイル管理モジュール２１や印刷制御部２３にＨＤＤ１３に関するファイルアクセス手段を提供するとともに、ＨＤＤ１３のファイル情報を管理する。
【００３１】
印刷制御部２３は、ユーザの指示に従って、ＦＡＴファイルシステム２２を介してＨＤＤ１３に記憶されたジョブファイルを読み出し、該ジョブファイルに含まれる印刷対象データを印刷処理部４０に渡して、印刷処理が実行されるように制御する。また、印刷制御部２３は、印刷処理部４０からの情報に従って、プリンタ１が印刷中か否か、印刷エラーが発生しているか否かといったプリンタ１の状態を管理する。
【００３２】
これらの各手段は、情報処理部４１において、ＲＯＭ又はＲＡＭに格納されるアプリケーションプログラムをＣＰＵが実行することにより、機能的に実現される。これらのアプリケーションプログラムは、例えばＣＤ−ＲＯＭ、磁気ディスク、半導体メモリなどの各種の記録媒体を通じて、又は通信ネットワークを介して、情報処理部４１にインストールまたはロードすることができる構成となっていることが望ましい。
【００３３】
以下、図２〜図５に示すフローチャート等を参照し、プリンタ１におけるファイル管理の枠組みについて説明する。なお、本明細書において、フローチャート等に示す各工程（符号が付与されていない部分的な工程を含む）は処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【００３４】
（前処理）
ファイル管理モジュール２１は、所定のタイミング（ＨＤＤ１３をフォーマットした後のタイミング、又は、ユーザ等からデータファイル作成指示を受け付けたタイミングなど）で、ＦＡＴファイルシステム２２を介してＨＤＤ１３に、データファイルＦ1〜ＦK（Ｋ＞１）及び管理用ファイルＭを作成する。
【００３５】
このとき、管理用ファイルＭは、ＨＤＤ１３上において、ファイル管理モジュール２１が実装される情報処理部４１のシステム領域（ＯＳやミドルウェアが使用する領域）の近傍に作成することが望ましい。システム領域の近傍であれば、システム領域と同程度の安全性・頑健性を確保することができると考えられるためである。また管理用ファイルＭが壊れた場合の代替用にミラーファイルＭ’を併せて作成してもよい。
【００３６】
データファイルＦ1〜ＦKは、ジョブファイルを分割したサブファイルを書き込むために使用されるサイズＮのファイルである。データファイルＦ1〜ＦKは、順序付けされており、順序に対応した識別番号（データファイルＩＤ）により特定可能となっている。作成時において各データファイルの中身は任意でよい。
【００３７】
サイズＮは、ジョブファイルを効率よく格納するために、プリンタ１が受信する可能性があるジョブファイルのサイズに応じて設定することが望ましい。また、ＨＤＤ１３を効率よく使用するために、ＦＡＴファイルシステム２２のクラスタサイズの倍数とすることが望ましい。例えば６４インチ対応大判インクジェットプリンタの場合、サイズＮを２Ｇバイトとすることが考えられる。又は、ファイル管理モジュール２１が、プリンタ１のスペックのうちジョブファイルサイズに影響を与えるスペック（例えば、印刷可能最大解像度、ノズル数、インク数、印刷可能最大用紙サイズ、印刷可能最大長、又はこれらの１以上の組み合わせ）に基づき、サイズＮを決定するように構成してもよい。なお、ユーザがサイズＮを直接指定できるように構成することも考えられる。
【００３８】
管理用ファイルＭは、データファイルを管理するための各種情報を格納するファイルである。管理用ファイルＭは、各ジョブファイルについて、先頭サブファイルが書き込まれたデータファイルの識別情報を格納するディレクトリテーブルＤと、各データファイルについて、使用可否を示すフラグ、データファイルチェーンにおける後続データファイルの識別情報（次ファイルＩＤ）、サブファイルサイズなどを格納するデータファイルテーブルＴと、探索開始データファイルを特定するためのポインタＰと、使用可能データファイル数Ｑ、データファイルサイズＮなどの情報を含んで構成される（図６参照）。
【００３９】
データファイルテーブルＴにおいて、１データファイルに関するデータセット（ファイル管理エレメント）のサイズは、ＨＤＤ１３上でセクタに跨ってファイル管理エレメントが格納されないように、セクタサイズの公約数とすることが望ましい（例えば、セクタサイズが５１２の場合、ファイル管理エレメントのサイズを１６や３２とする）。また、情報処理部４１内のキャッシュライン長（例えば、情報処理部４１がＡＳＩＣを備える場合、そのキャッシュライン長）の倍数とすることが望ましい。
【００４０】
各データファイルの使用可否フラグには初期値として「使用可」が設定される。またポインタＰには初期値として１が設定される。また使用可能データファイル数Ｑには初期値としてＫが設定される。
【００４１】
（ファイル書き込み処理：図２〜図３）
通信部２０は、クライアント端末１００からジョブファイルＸを受信した場合、これを書き込み対象としてファイル管理モジュール２１に出力する（Ｓ１００）。ジョブファイルＸは、従来の印刷ジョブファイルと同様に、クライアント端末１００に実装されるプリンタドライバ等によって作成され、例えば、ジョブＩＤ、出力先プリンタの機種情報、ジョブ作成ユーザのＩＤ情報、ドキュメント名、印刷設定情報、印刷対象データなどの情報を含む。
【００４２】
ファイル管理モジュール２１は、ジョブファイルＸを受け付けた場合、ＦＡＴファイルシステム２２を介して管理用ファイルＭを読み出す（更新リードモードでオープンする）（Ｓ１０１）。
【００４３】
次に、ファイル管理モジュール２１は、前記読み出した管理用ファイルＭを参照し、使用可能データファイル数Ｑ×データファイルサイズＮにより、ＨＤＤ１３の空き容量を求めて、ジョブファイルＸのサイズと比較する（Ｓ１０２）。
【００４４】
ＨＤＤ１３の空き容量がジョブファイルＸのサイズ以下である場合、ファイル管理モジュール２１は、ジョブファイルＸを書き込む空き領域がないと判断して、通信部２０を介してクライアント端末１００にその旨を通知し（Ｓ１０３）、ジョブファイルＸに関する書き込み処理を終了する。
【００４５】
一方、ＨＤＤ１３の空き容量がジョブファイルＸのサイズより大きい場合、ファイル管理モジュール２１は、ジョブファイルＸを、それぞれサイズＮ以下の複数のサブファイルに分割する（Ｓ１０４）。例えば、ジョブファイルＸのデータ列の先頭から順にサイズＮのデータ列を抽出し、サブファイルを作成することが考えられる。この場合、最後のサブファイルのサイズはＮ以下となる。
【００４６】
次に、ファイル管理モジュール２１は、ジョブファイルＸに関して作成したサブファイルを、ジョブファイルＸのデータ列の順に従って選択する（Ｓ１０５）。
【００４７】
次に、ファイル管理モジュール２１は、前記選択したサブファイルについて、前記読み出した管理用ファイルＭを参照してポインタＰで特定されるデータファイルからはじめて順に使用可否フラグが「使用可」を示すデータファイルを探索する。Ｋ番目のデータファイルまで探索して使用可能なデータファイルが見つからなかった場合、１番目のデータファイルに戻り、ポインタＰで特定されるデータファイルの前のデータファイルまで探索を行う（Ｓ１０６）。
【００４８】
例えば前処理直後では、各データファイルが使用可能であり、ポインタＰに初期値１が設定されているため、探索によりデータファイルＦ1が使用可能なデータファイルとして発見されることになる。
【００４９】
以下、探索により見つかった使用可能なデータファイルをカレントデータファイルと呼ぶ。なお、Ｓ１０６実行時においてＨＤＤ１３の空き容量の方が大きいことが保証されているため、探索により使用可能なデータファイルを必ず見つけることができる。
【００５０】
次に、ファイル管理モジュール２１は、ＦＡＴファイルシステム２２を介してカレントデータファイルを更新リードモードでオープンして前記選択したサブファイルのデータ列を書き込み、書き込みが終了したらカレントデータファイルをクローズする（Ｓ１０７）。
【００５１】
更新リードモードでファイルをオープンしてデータを書き込む場合、オープン対象のファイルが存在することを前提として、オープンしたファイルのサイズは維持され、カレントポジションはファイルの先頭に設定される。従って、前記選択したサブファイルのサイズがＮ*（Ｎ*＜Ｎ）である場合でも、データファイルのサイズはＮのまま、データファイルの先頭からサブファイルのデータ列がサイズＮ*分書き込まれることになる。
【００５２】
次に、ファイル管理モジュール２１は、前記読み出した管理用ファイルＭを参照し、Ｑ＝Ｑ−１に従って使用可能データファイル数Ｑを更新するとともに、データファイルテーブルＴのカレントデータファイルの使用可否フラグに「使用不可」を示す情報を設定し、サブファイルサイズ領域に前記選択したサブファイルのサイズを書き込む（Ｓ１０８）。
【００５３】
上述したようにジョブファイルＸのデータ列の先頭から順にサイズＮのデータ列を抽出してサブファイルを作成するケースでは、前記選択したサブファイルが最後のサブファイル以外である場合、対応するサブファイルサイズ領域にはＮが書き込まれ、前記選択したサブファイルが最後のサブファイルである場合、対応するサブファイルサイズ領域にはＮ以下の値が書き込まれることになる。
【００５４】
次に、ファイル管理モジュール２１は、前記選択したサブファイルがジョブファイルＸの先頭サブファイルか否かを判断する（Ｓ１０９）。
【００５５】
先頭サブファイルである場合、ファイル管理モジュール２１は、前記読み出した管理用ファイルＭを参照し、ディレクトリテーブルＤにジョブファイルＸに対応する領域を確保して、該領域にカレントデータファイルの識別情報を書き込む（Ｓ１１０）。
【００５６】
一方、先頭サブファイルでない場合、ファイル管理モジュール２１は、前記選択したサブファイルの１つ前に選択したサブファイルを書き込んだデータファイルを特定し、前記読み出した管理用ファイルＭを参照し、データファイルテーブルＴの前記特定したデータファイルの次ファイルＩＤ領域に、カレントデータファイルの識別情報を書き込む（Ｓ１１１）。
【００５７】
このように本実施形態では、ｉ番目のサブファイルに対応するデータファイルの次ファイルＩＤ領域には、（ｉ＋１）番目のサブファイルに対応するカレントデータファイルの識別情報、すなわち、データファイルチェーンにおける後続データファイルの識別情報が書き込まれるため、次ファイルＩＤ領域を参照してデータファイルを順に特定していくことにより、１つのジョブファイルを構成するサブファイルが書き込まれる一連のデータファイル（データファイルチェーン）を特定することができる。
【００５８】
次に、ファイル管理モジュール２１は、前記読み出した管理用ファイルＭを参照し、カレントデータファイルの次のデータファイルが探索開始データファイルとなるように、ポインタＰを設定する（Ｓ１１２）。
【００５９】
例えば、カレントデータファイルＦiにサブファイルＳjを書きこんだ場合、ポインタＰに、データファイルＦi+1の識別情報（ｉ＋１）を設定する。データファイルＦiが最後のデータファイルＦkである場合は、最初のデータファイルＦ1から探索が開始されるように、ポインタＰに１を設定する。このようにポインタＰを設定した場合、サブファイルＳj+1に関するＳ１１１の工程では、前記選択したサブファイル（サブファイルＳj+1）の１つ前に選択したサブファイル（サブファイルＳj）を書き込んだデータファイル（データファイルＦi）を、（ポインタＰ−１）によって特定することができる。
【００６０】
次に、ファイル管理モジュール２１は、ジョブファイルＸに関して未選択のサブファイルがあるか否かを判断する（Ｓ１１３）。
【００６１】
ない場合、ファイル管理モジュール２１は、前記読み出した管理用ファイルＭを参照して、データファイルテーブルＴのカレントデータファイルの次ファイルＩＤ領域にＥＯＦコードを書き込み、書き込みが終了したら管理用ファイルＭをクローズして（Ｓ１１４）、ジョブファイルＸに関する書き込み処理を終了する。
【００６２】
一方、未選択のサブファイルがある場合、ファイル管理モジュール２１は、サブファイルの選択が続行されるように、Ｓ１０５の工程に再帰する。
【００６３】
（印刷処理：図４）
印刷制御部２３は、印刷処理部４０が印刷可能な状態にある場合、ファイル管理モジュール２１を介してＨＤＤ１３に記憶されているジョブファイルを例えば受信順に読み出し（又は、ユーザ等から指示されたジョブファイルを読み出し）、該ジョブファイルに基づいて印刷処理が行われるように制御する。例えば、ジョブファイルを解析してラスタ形式の印刷イメージを１バンド分又は１ページ分生成してイメージバッファに格納し、ジョブファイル中の制御コマンドに基づいて、所定単位分（例えば１パス分）の印刷イメージをイメージバッファから印刷処理部４０に転送し、印刷処理部４０を制御しながら印刷を実行する。
【００６４】
以下、ファイル管理モジュール２１を介してＨＤＤ１３からジョブファイルを読み出す手順について説明する。
【００６５】
ファイル管理モジュール２１は、印刷制御部２３からジョブファイルＸの読み出し要求を受け付けた場合、ＦＡＴファイルシステム２２を介して管理用ファイルＭを読み出す（リードモードでオープンする）（Ｓ２００）。
【００６６】
次に、ファイル管理モジュール２１は、前記読み出した管理用ファイルＭを参照し、ディレクトリテーブルＤのジョブファイルＸに対応する領域から、ジョブファイルＸの先頭サブファイルが格納されているデータファイルの識別情報を取得して、カレントＩＤ変数に代入する（Ｓ２０１）。
【００６７】
次に、ファイル管理モジュール２１は、前記読み出した管理用ファイルＭを参照し、データファイルテーブルＴのカレントＩＤ変数で特定されるデータファイルのサブファイルサイズを読み出し、ＦＡＴファイルシステム２２を介して前記特定されるデータファイルをリードモードでオープンして、先頭から前記読み出したサブファイルサイズの長さのデータを読み出し、読み出しが終了したら前記特定されるデータファイルをクローズする（Ｓ２０２）。
【００６８】
次に、ファイル管理モジュール２１は、前記読み出した管理用ファイルＭを参照し、データファイルテーブルＴの前記特定されるデータファイルの次ファイルＩＤ領域に、ＥＯＦコードが格納されているかどうかを判断する（Ｓ２０３）。
【００６９】
ＥＯＦコードが格納されている場合、ファイル管理モジュール２１は、管理用ファイルＭをクローズするとともに、Ｓ２０２の工程で読み出したデータを、読み出した順に連結してジョブファイルＸを復元し、印刷制御部２３に出力する（Ｓ２０４）。
【００７０】
一方、ＥＯＦコードが格納されていない場合、ファイル管理モジュール２１は、前記特定されるデータファイルの次ファイルＩＤ領域から、ジョブファイルＸの次のサブファイルが格納されているデータファイルの識別情報を取得して、カレントＩＤ変数に代入し（Ｓ２０５）、Ｓ２０２の工程に再帰する。
【００７１】
（ファイル削除処理：図５）
ファイル管理モジュール２１は、所定のタイミング（ジョブファイルについて印刷処理が終了したタイミング、又は、ジョブファイルについて受信時あるいは印刷終了時から一定時間が経過したタイミング、又は、ジョブファイルについてユーザ等から削除指示を受け付けたタイミングなど）で、以下のようにしてＨＤＤ１３からジョブファイルを削除する。
【００７２】
ファイル管理モジュール２１は、ＨＤＤ１３からジョブファイルＸを削除する場合、ＦＡＴファイルシステム２２を介して管理用ファイルＭを読み出す（更新リードモードでオープンする）（Ｓ３００）。
【００７３】
次に、ファイル管理モジュール２１は、前記読み出した管理用ファイルＭを参照し、ディレクトリテーブルＤのジョブファイルＸに対応する領域から、ジョブファイルＸの先頭サブファイルが格納されているデータファイルの識別情報を取得して、カレントＩＤ変数に代入する（Ｓ３０１）。
【００７４】
次に、ファイル管理モジュール２１は、前記読み出した管理用ファイルＭを参照し、Ｑ＝Ｑ＋１に従って使用可能データファイル数Ｑを更新するとともに、カレントＩＤ変数で特定されるデータファイルについて、データファイルテーブルＴの使用可否フラグに「使用可」を示す情報を設定する（Ｓ３０２）。
【００７５】
次に、ファイル管理モジュール２１は、前記読み出した管理用ファイルＭを参照し、データファイルテーブルＴの前記特定されるデータファイルの次ファイルＩＤ領域に、ＥＯＦコードが格納されているかどうかを判断する（Ｓ３０３）。
【００７６】
ＥＯＦコードが格納されている場合、ファイル管理モジュール２１は、管理用ファイルＭをクローズして（Ｓ３０４）、ジョブファイルＸのファイル削除処理を終了する。
【００７７】
一方、ＥＯＦコードが格納されていない場合、ファイル管理モジュール２１は、前記特定されるデータファイルの次ファイルＩＤ領域から、ジョブファイルＸの次のサブファイルが格納されているデータファイルの識別情報を取得して、カレントＩＤ変数に代入し（Ｓ３０５）、Ｓ３０２の工程に再帰する。
【００７８】
このように、本実施形態では、ＦＡＴファイルシステム２２を介してＨＤＤ１３に予めサイズＮのデータファイルＦ1〜ＦKを作成しておき、管理用ファイルＭによってこれらデータファイルの使用可否を管理している。そして、ジョブファイルをＨＤＤ１３に書き込む場合、ＨＤＤ１３に新たにファイルを作成するのではなく、ジョブファイルを分割したサブファイルを、データファイルＦ1〜ＦKのうち使用可能なデータファイルに上書きする構成を採用している。また、ジョブファイルをＨＤＤ１３から削除する場合、削除対象ジョブファイルについて使用していたデータファイルをＨＤＤ１３から削除するのではなく、該データファイルを管理用ファイルＭによって使用可能として管理することで、ジョブファイルが削除された状態を実現している。
【００７９】
従って、ＨＤＤ１３上では一旦、データファイルＦ1〜ＦKが作成された後は、ジョブファイルの書き込み／削除が行われても、新たにファイルが作成されたり削除されたりすることがないため、ＦＡＴファイルシステム２２によるファイル管理においてフラグメンテーションが発生することはない。
【００８０】
また本実施形態では、常に同じデータファイルから使用可能データファイルの探索を開始する（例えば、常に識別番号１のデータファイルから探索する）のではなく、ポインタＰを利用して、使用可能なデータファイルが見つかる都度、その次のデータファイルから次回の探索を開始するように構成している。かかる構成によれば、データファイルを偏りなく使用する（サブファイルを書き込む）ことができるため、ＨＤＤ１３のクラスタ、従って、セクタ間の使用頻度を平準化することができ、結果として、使用頻度の偏りに起因するＨＤＤ１３の寿命短縮を防止することができる。
【００８１】
（変形例）
本発明は上記実施形態に限定されることなく、種々に変形して適用することが可能である。例えば、上記実施形態ではプリンタ１を例に説明しているが、本発明は、ＦＡＴファイルシステムによりファイル管理を行うＨＤＤ等の記憶媒体を備える装置（例えば、複写機、ファクシミリ、複合機などの印刷装置や、ＨＤＤレコーダなど、印刷装置以外の情報処理装置）に対して適用することができる。
【００８２】
また上記実施形態では、印刷処理におけるジョブファイルの読み出し手順について説明したが、一般的なファイルの読み出し処理（例えば、クライアント端末からプリンタ１のＨＤＤ１３に格納されるファイルを読み出す場合など）においても、該手順を採用することができる。
【００８３】
また上記実施形態では、管理用ファイルＭがデータファイルテーブルＴを含む構成としているが、該構成に代えて、データファイルテーブルＴに格納される各データファイルの情報を、対応するデータファイルのヘッダに格納する構成としてもよい。この場合、データファイルＦの一部が管理用ファイルＭを構成することになる。
【００８４】
また上記実施形態において、データファイルテーブルＴが、データファイルごとに、該データファイルに格納されるサブファイルのサイズ、該サブファイルが属するジョブファイルのサイズ、該サブファイルを書き込んだ日時などの情報を含んでいてもよい。
【００８５】
また上記実施形態では、ポインタＰで特定されるデータファイルからはじめて順に探索を開始するとともに、ポインタＰにカレントデータファイルの次のデータファイルの識別情報を設定しているが、ポインタＰは探索開始データファイルを特定できるように設定されていれば足りる。例えば、ポインタＰで特定されるデータファイルの次のデータファイルから順に探索を開始するとともに、ポインタＰにカレントデータファイルの識別情報を設定する構成としても上記実施形態と同様の処理を実現できる。
【００８６】
また上記実施形態において、ファイル読み出し処理など管理用ファイルＭへの読み書きが多い処理では、ファイルに対するアクセススピードを改善するために、ＨＤＤ１３から管理用ファイルＭを読み出してキャッシュ上に保存しておき、処理中はキャッシュに対してデータの読み書きを行い、クローズする際にキャッシュ上の管理用ファイルＭをＨＤＤ１３に書き戻すように構成してもよい。
【００８７】
また上記実施形態において、従来と同様に、ＨＤＤ１３に格納される未印刷のジョブファイルの印刷順序を、印刷処理待ちキューによって管理する構成としてもよい。印刷処理待ちキューには、各ジョブファイルの先頭サブファイルが格納されているデータファイルの識別情報をキューイングするか、ファイル管理エレメントのコピーをキューイングすることが考えられる。前者の場合、印刷処理待ちキューを管理用ファイルＭのディレクトリテーブルＤとして用いてもよい。
【図面の簡単な説明】
【００８８】
【図１】プリンタ１の構成を示すブロック図である。
【図２】本発明の実施形態におけるファイル読み出し処理の流れを示すフローチャートである。
【図３】本発明の実施形態におけるファイル読み出し処理の流れを示すフローチャートである。
【図４】本発明の実施形態における印刷処理の流れを示すフローチャートである。
【図５】本発明の実施形態におけるファイル削除処理の流れを示すフローチャートである。
【図６】管理用ファイルＭの構成を概念的に示す図である。
【符号の説明】
【００８９】
１…プリンタ、１０…ＣＰＵ、１１…ＲＯＭ、１２…ＲＡＭ、１３…ＨＤＤ、１４…ユーザインタフェース、１５…ハードウェアインタフェース、２０…通信部、２１ファイル管理モジュール、２２…ファイルシステム、２３…印刷制御部、４０…印刷処理部、４１…情報処理部、Ｆ…データファイル、Ｍ…管理用ファイル、Ｄ…ディレクトリテーブル、Ｔ…データファイルテーブル、Ｐ…ポインタ、Ｑ…使用可能データファイル数、Ｎ…データファイルサイズ
【図１】
2009146135.tif 000003
【図２】
2009146135.tif 000004
【図３】
2009146135.tif 000005
【図４】
2009146135.tif 000006
【図５】
2009146135.tif 000007
【図６】
2009146135.tif 000008