(57)【要約】【課題】  同一の記憶装置に対する２以上のファイルアクセス要求が競合した場合に、優先度の高いファイルアクセス要求と、優先度の低いファイルアクセス要求を同時に処理しつつ、優先度の高いファイルアクセスの帯域を保証する。【解決手段】  ミドルウェア２２は、アプリケーション２３の発行した第１ファイルアクセスコマンドに従って、ファイルシステム２１ａが第１ファイルアクセスコマンドに係るファイルアクセス操作よりも優先度の高いファイルアクセス操作をさせているか否かを定期的に判定させ、肯定判定した場合に、記憶装置の最大帯域データに基づく最大帯域から優先度の高いファイルアクセスの保証帯域を差し引いた余剰帯域内で、第１ファイルアクセスコマンドに対応した第２ファイルアクセスコマンドを該ファイルシステム宛に発行させる。記憶装置の最大帯域が繰り返し測定され最大帯域データが随時更新される。【選択図】  図１
2010097365.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、複数のファイルを格納するファイル記憶装置と、プログラム記憶装置と、を備え、アプリケーションと、ミドルウェアと、該プロセッサに対し該記憶装置のファイルアクセスを操作させる既存のファイルシステムとが該プログラム記憶装置に格納され該プロセッサによって動作する電子機器であって、
該アプリケーションは、該プロセッサに対し、該複数のファイルのうちいずれかにアクセスするために、該ミドルウェア宛に第１ファイルアクセスコマンドを発行させ、
該ミドルウェアは、該第１ファイルアクセスコマンドに応答して該プロセッサに対し、
該ファイルシステムが該プロセッサに対し該第１ファイルアクセスコマンドに係るファイルアクセス操作よりも優先度の高いファイルアクセス操作をさせているか否かを定期的に判定させ、肯定判定した場合に、該記憶装置の最大帯域データに基づく最大帯域から該優先度の高いファイルアクセスの保証帯域を差し引いた余剰帯域内で、該第１ファイルアクセスコマンドに対応した第２ファイルアクセスコマンドを該ファイルシステム宛に発行させ、該記憶装置の最大帯域を繰り返し測定し該最大帯域データを更新すること、
ことを特徴とする電子機器。
【請求項２】
複数のファイルを格納する記憶手段と、
該複数のファイルのうちいずれかをアクセスするために発行された第１ファイルアクセスコマンドの優先度を特定する優先度特定手段と、
前記第１ファイルアクセスコマンドの優先度が高い場合、この第１ファイルアクセスコマンドに基づくファイルアクセスの開始情報を保持し、かつ、この第１ファイルアクセスコマンドに対応した第２ファイルアクセスコマンドをファイルシステムへ発行する第１帯域制御手段と、
前記第１ファイルアクセスコマンドの優先度が低い場合、前記開始情報が保持されているか否かを判定し、前記開始情報が保持されていない場合には、該第１ファイルアクセスコマンドに対応した第２ファイルアクセスコマンドをファイルシステムへ発行して連続的にファイルアクセスを実行させ、前記開始情報が保持されている場合には、実行中の優先度の高いファイルアクセスの保証帯域を、前記記憶装置の最大帯域データに基づく最大帯域から差し引いた余剰帯域の範囲内で、該第１ファイルアクセスコマンドに対応する第２ファイルアクセスコマンドを発行してファイルアクセスを実行させる第２帯域制御手段と、
前記第２ファイルアクセスコマンドを受け付け、該記憶手段に対するファイルアクセスを行うファイルシステムと、
前記記憶装置の最大帯域を繰り返し測定し前記最大帯域データを更新する最大帯域測定手段と、
を備えることを特徴とする電子機器。
【請求項３】
前記最大帯域測定手段は、定期的に前記記憶装置の最大帯域を測定することを特徴とする請求項２記載の電子機器。
【請求項４】
前記最大帯域測定手段は、所定のアプリケーションからの前記第１ファイルアクセスコマンドに基づくファイルアクセス時に、前記記憶装置の最大帯域を測定することを特徴とする請求項２記載の電子機器。
【請求項５】
前記最大帯域測定手段は、優先度が高い前記第１ファイルアクセスコマンドに基づくファイルアクセス時に、前記記憶装置の最大帯域を測定することを特徴とする請求項２記載の電子機器。
【請求項６】
スキャナを備え、
前記優先度特定手段は、前記スキャナからのデータ書き込みについての前記第１ファイルアクセスコマンドを、前記優先度が高い第１ファイルアクセスコマンドと特定し、
前記最大帯域測定手段は、前記スキャナからのデータ書き込みについての前記第１ファイルアクセスコマンドに基づくファイルアクセス時に、前記記憶装置の最大帯域を測定することを特徴とする請求項２記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル記憶装置（補助記憶装置）を備えた電子機器に係わり、特に当該ファイル記憶装置に対して２以上のファイルアクセスが競合する電子機器に関する。
【背景技術】
【０００２】
オペレーティングシステムが提供する既存のファイルシステムは、アプリケーションから同一の記憶手段に対する２以上のファイルアクセス要求が競合した場合、一般的に、当該記憶手段に対するアクセス操作を時分割して処理する。図８は、アプリケーションから２以上のファイルアクセス要求が競合した場合におけるファイルシステムのファイルアクセス操作の状態を示している。なお、同図において、アクセス要求が競合している部分を両者共に同時にアクセス操作しているように示しているが、実際には時分割処理を行っている。
【０００３】
この場合、見かけ上ではあるが２以上のファイルアクセス要求が並列処理されるのでマルチアプリケーションには好適と言えるが、この並列処理の問題としてそれらのアクセス速度が低下し、期待通りのパフォーマンスを発揮できないおそれがある。
【０００４】
ここで、以上のような構成を画像形成装置が備えている場合、実時間性が求められる例えばプリントジョブなどに係るファイルアクセス要求については、その帯域をある程度以上保証（「帯域保証」と称する）して処理することが好ましく、また実時間性が求められていない例えば設定値変更などに係るファイルアクセス要求を、上記実時間性が求められるファイルアクセス要求と同時に処理したい場合がある。なお、ファイルアクセスの帯域とは、記憶装置に対する単位時間当たりのアクセス量（転送データ量）を示したものであり、例えば１．５Ｇｂｐｓと表現される。
【０００５】
特許文献１では、上記２以上のファイルアクセス要求が競合した場合には、優先度の高いファイルアクセス要求を優先的に処理することでその帯域を保証し、かつ、優先度の低いファイルアクセス要求も同時に処理することが可能なファイルシステムが開示されている。
【特許文献１】特開２００４−１０４２１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、画像形成装置のコンピュータシステムの根幹を成すファイルシステムを開発することは、アプリケーションベンダにとって負担が大きい。この問題は、画像形成装置に限らず、ファイル記憶装置を備えた他の電子機器においても生ずる。
【０００７】
本発明の目的は、上記問題点に鑑み、ファイルシステムを一切変更せず、同一の記憶装置に対する２以上のファイルアクセス要求が競合した場合に、優先度の高いファイルアクセス要求と、優先度の低いファイルアクセス要求を同時に処理しつつ、優先度の高いファイルアクセスの帯域を保証することが可能な電子機器を提供することにある。
【課題を解決するための手段】
【０００８】
本発明による電子機器の第１態様は、プロセッサと、複数のファイルを格納するファイル記憶装置と、プログラム記憶装置と、を備え、アプリケーションと、ミドルウェアと、該プロセッサに対し該記憶装置のファイルアクセスを操作させる既存のファイルシステムとが該プログラム記憶装置に格納され該プロセッサによって動作する電子機器である。
そして、該アプリケーションは、該プロセッサに対し、該複数のファイルのうちいずれかにアクセスするために、該ミドルウェア宛に第１ファイルアクセスコマンドを発行させる。
該ミドルウェアは、これに応答して該プロセッサに対し、
該ファイルシステムが該プロセッサに対し該第１ファイルアクセスコマンドに係るファイルアクセス操作よりも優先度の高いファイルアクセス操作をさせているか否かを定期的に判定させ、肯定判定した場合に、該記憶装置の最大帯域データに基づく最大帯域から該優先度の高いファイルアクセスの保証帯域を差し引いた余剰帯域内で、該第１ファイルアクセスコマンドに対応した第２ファイルアクセスコマンドを該ファイルシステム宛に発行させる。また、該記憶装置の最大帯域を繰り返し測定し該最大帯域データを更新する。
【０００９】
なお、上記アプリケーションは、複数のアプリケーション又は統合アプリケーションの意味を含むものとする。
【発明の効果】
【００１０】
本発明によれば、既存のファイルシステムを一切変更せず、同一の記憶装置に対する２以上ファイルアクセス要求が競合した場合に、優先度の高いファイルアクセス要求と、優先度の低いファイルアクセス要求を同時に処理しつつ、優先度の高いファイルアクセスの帯域を保証することができる。また、フラグメンテーションなどで経時的に記憶装置の最大帯域が変化しても、記憶装置の最大帯域を繰り返し測定しているため、帯域制御を正確に行うことができる。
【００１１】
本発明の他の目的、構成及び効果は以下の説明から明らかになる。
【発明を実施するための最良の形態】
【００１２】
【実施例１】
【００１３】
＜１＞ハードウェア構成
図３は、本発明の実施例１に係る画像形成装置１０のハードウェア構成を示す概略ブロック図である。画像形成装置１０は、電子機器の一例である。
【００１４】
画像形成装置１０は、コンピュータを内蔵している。この画像形成装置１０では、ＭＰＵ１１にインタフェース１２を介してＥＥＰＲＯＭ１３Ｅ１、ＥＥＰＲＯＭ１３Ｅ２、ＤＲＡＭ１３Ｄ、ＨＤＤ１４、操作パネル１５、スキャナ１６Ｓ、プリンタ１６Ｐ、ＮＩＣ１７、ファクシミリモデム１８及び圧縮・伸張ＡＳＩＣ１９が結合されている。図３では、簡単化のため、複数のインタフェースを１つのブロックで示している。なお、実施例１における画像形成装置１０は、複合機であるが、スキャナ、プリンタ、ファクシミリ送受信装置などといった単機能の画像形成装置であってもよい。
【００１５】
ＭＰＵ１１は、各種プログラムに従って処理を実行する演算処理装置である。ＥＥＰＲＯＭ１３Ｅ１及び１３Ｅ２は、書換可能な不揮発性のメモリであって、例えばフラッシュメモリである。ＥＥＰＲＯＭ１３Ｅ１には、ＢＩＯＳ（Basic Input Output System）が格納されている。ＥＥＰＲＯＭ１３Ｅ２には、後述のソフトウェアが格納されている。ＤＲＡＭ１３Ｄはワークエリア用であり、ＨＤＤ１４はデータ格納用である。
【００１６】
スキャナ１６Ｓは、スキャン、コピー及びファックス送信での画像入力に用いられる。画像出力手段としてのプリンタ１６Ｐは、プリントエンジン、定着器並びに用紙の給紙部、搬送部及び排紙部を備え、供給されるビットマップデータに基づいてプリントエンジンの感光ドラムに静電潜像を形成し、これをトナーで現像し、用紙に転写し定着させた後に排紙する。
【００１７】
ネットワークインタフェースカード（ＮＩＣ）１７は、ケーブル又は無線の通信媒体を介してネットワーク上のホストコンピュータ（不図示）に結合され、プリントジョブ、電子メール送受信及びインターネットファクシミリ送信に用いられる。ファクシミリモデム１８は、ファクシミリ送受信用である。
【００１８】
圧縮・伸張ＡＳＩＣ１９は、ＭＰＵ１１のコプロセッサとして用いられ、例えば画像の圧縮及び伸張にそれぞれ２ポートを有し、最大４並列実行可能である。
【００１９】
＜２＞ソフトウェア構成
図２は、本発明の実施例１に係る画像形成装置１０のソフトウェア階層構造を示す概略ブロック図である。
【００２０】
画像形成装置１０はソフトウェア（つまり、コンピュータプログラム）として、デバイスドライバ群２０と、ＯＳ２１と、ミドルウェア２２と、アプリケーション群２３と、を備えている。
【００２１】
デバイスドライバ群２０は、ＯＳ２１の下層に位置し、各種ハードウェアのそれぞれに対応した複数のデバイスドライバからなる。
【００２２】
ＯＳ２１は、例えば汎用のＬｉｎｕｘ（登録商標）などのオペレーティングシステムであり、アプリケーション２３に基本的な機能を提供する。
【００２３】
ミドルウェア２２は、アプリケーション２３とＯＳ２１の中間に位置するソフトウェアであり、関数の集合体である第２ＡＰＩ（Application Programming Interface）２４を介してＯＳ２１の各種基本機能を使用し、アプリケーション２３にＯＳ２１よりも応用的な機能を提供する。
【００２４】
アプリケーション群２３は、例えばプリントアプリやコピーアプリなどから構成されており、第２ＡＰＩ２４を介してＯＳ２１の各種基本機能を使用し、また、第１ＡＰＩ２５を介してミドルウェア２２の各種応用機能を使用する。
【００２５】
＜３＞主要部構成
図１は、本発明の実施例１に係る画像形成装置１０の主要部構成を示す図である。
【００２６】
本発明の帯域制御を実現するために、画像形成装置１０はソフトウェアとして、デバイスドライバ群２０内にＨＤＤ１４を制御するためのＨＤＤ用デバイスドライバ２０ａと、ＯＳ２１内にＨＤＤ用ファイルシステム２１ａと、ミドルウェア２２内にアクセスコマンド振り分け部２２ａ、高優先帯域制御部２２ｂ、低優先帯域制御部２２ｃ及びアクセス状態管理部２２ｄと、アプリケーション群２３内に高優先アプリ２３ａ及び低優先アプリ２３ｂと、を有する。
【００２７】
また、画像形成装置１０は、呼出し可能な関数として、第２ＡＰＩ２４の関数群内にファイルアクセス第２ＡＰＩ２４ａと、第１ＡＰＩ２５の関数群内にファイルアクセス第１ＡＰＩ２５ａと、を有する。
【００２８】
ＨＤＤ用デバイスドライバ２０ａは、ＨＤＤ１４を制御するためのデバイスドライバである。
【００２９】
ＨＤＤ用ファイルシステム２１ａは、ＨＤＤ１４内のファイルを管理するものであって、ミドルウェア２２からファイルの入出力又は生成若しくは削除するファイルアクセスコマンドを受け付け、ＨＤＤ用デバイスドライバ２０ａに対して、コマンドに応じた機能を要求するための機能を有している。また、ファイルにアクセスする際に「読み書き可」、「書き込み不可」といったアクセス属性によるファイル保護機能、ユーザに応じたアクセス権限のチェック機能なども提供する。
【００３０】
上記ミドルウェア２２からＨＤＤ用ファイルシステム２１ａに対するファイルアクセスコマンドとして、例えばＡＮＳＩ−Ｃ規格のファイルインターフェイスを持つもの（ｆｏｐｅｎ ／ｆｒｅａｄ ／ｆｗｒｉｔｅ） などが挙げられ、これらはファイルアクセス第２ＡＰＩ２４ａに含まれる。
【００３１】
アクセスコマンド振り分け部２２ａは、アプリケーション群２３からミドルウェア２２に対するファイルアクセスコマンドを受け付け、この優先度に応じてファイルアクセスコマンドを高優先帯域制御部２２ｂに渡すか低優先帯域制御部２２ｃに渡すかを決定する。
【００３２】
上記アプリケーション群２３からミドルウェア２２に対するファイルアクセスコマンドとして、例えばファイル読み込みをミドルウェア２２に要求するｆｒｅａｄ＿Ｍｉｄｄｌｅや、ファイル書き込みをミドルウェア２２に要求するｆｗｒｉｔｅ＿Ｍｉｄｄｌｅなどのコマンドが挙げられ、これらはファイルアクセス第１ＡＰＩ２４ａに含まれる。
【００３３】
ここで、アプリケーション群２３からミドルウェア２２に対するファイルアクセスコマンドと、ミドルウェア２２からＨＤＤ用ファイルシステム２１ａに対するファイルアクセスコマンドとを区別するために、以下では、前者を第１ファイルアクセスコマンドとし、後者を第２ファイルアクセスコマンドとする。
【００３４】
上記振り分けの決定方法としては、例えば上記ミドルウェア２２に対する第１ファイルアクセスコマンドのオプションに優先度が付加され、アクセスコマンド振り分け部２２ａは、このオプションを参照することにより、振り分けを決定する（オプションの例としては、高優先するオプションを「ｐ」とし、「ｆｒｅａｄ＿Ｍｉｄｄｌｅ―ｐ  Ｔａｒｏｕ．ｊｐｇ」のように使われる。）。
【００３５】
高優先帯域制御部２２ｂは、アクセスコマンド振り分け部２２ａによって呼び出されると、アクセス状態管理部２２ｄにファイルアクセス開始の旨を通知し、ファイルアクセス第２ＡＰＩ２４ａのコマンドを利用してＨＤＤ用ファイルシステム２１ａに読み書き等のファイルアクセスを要求する。また、ファイルアクセスが終了した旨をＨＤＤ用ファイルシステム２１ａから受け取ると、アクセス状態管理部２２ｄにファイルアクセスの終了を通知する。
【００３６】
低優先帯域制御部２２ｃは、アクセスコマンド振り分け部２２ａによって呼び出されると、高優先帯域制御部２２ｂのアクセス状態をアクセス状態管理部２２ｄにより取得し、これを後述のように考慮しながらファイルアクセス第２ＡＰＩ２４ａのコマンドを利用してＨＤＤ用ファイルシステム２１ａに読み書き等のファイルアクセス要求を与える。
【００３７】
アクセス状態管理部２２ｄは、高優先帯域制御部２２ｂのアクセス状態を管理しており、上記ファイルアクセス開始通知を受け取ると、ＯＳ２１やデバイスドライバ群２０ａを介して、ＤＲＡＭ１３Ｄの共有メモリ領域内に例えばＦ＝１という値を格納する。また上記ファイルアクセス終了通知を受け取ると、この領域内に例えばＦ＝０という値を格納する。
【００３８】
最大帯域測定部２２ｅは、ＨＤＤ１４の最大帯域を繰り返し測定し最大帯域データを更新する。最大帯域データは、ＥＥＰＲＯＭ１３Ｅ１，１３Ｅ２、ＤＲＡＭ１３Ｄ、ＨＤＤ１４などに適宜格納される。
【００３９】
この実施例１では、最大帯域測定部２２ｅは、定期的にＨＤＤ１４の最大帯域を測定する。例えば、最大帯域測定部２２ｅは、１日のうちの所定の時間帯において、ＨＤＤ１４の最大帯域を測定する。
【００４０】
また、この実施例１では、最大帯域測定部２２ｅは、所定のアプリケーションからの第１ファイルアクセスコマンドに基づくファイルアクセス時に、ＨＤＤ１４の最大帯域を測定する。
【００４１】
また、この実施例１では、最大帯域測定部２２ｅは、優先度が高い第１ファイルアクセスコマンドに基づくファイルアクセス時に、ＨＤＤ１４の最大帯域を測定する。最大帯域測定部２２ｅは、ファイルアクセス時に書き込まれた（または読み出された）データ量とそのファイルアクセスに要した時間から、最大帯域を計算する。
【００４２】
この実施例１では、所定の時間帯において、スキャナからのデータ書き込みについての第１ファイルアクセスコマンドが発生すると、振り分け部２２ａによりそのファイルアクセスコマンドが、優先度が高い第１ファイルアクセスコマンドである特定され、最大帯域測定部２２ｅは、スキャナからのデータ書き込みについての第１ファイルアクセスコマンドに基づくファイルアクセス時に、ＨＤＤ１４の最大帯域を測定する。
【００４３】
高優先アプリ２３ａは、例えばスキャンアプリであり、このアプリは、スキャナ１６Ｓによりスキャンされ生成された画像データをＨＤＤ１４内のファイルとして書き込むものである。このアプリ２３ａは、優先して実行するように予め決められており、このアプリが発行する第１ファイルアクセスコマンドには、上記優先オプション（ｐ）が付される。
【００４４】
低優先アプリ２３ｂは、例えば設定変更アプリである。このアプリはＨＤＤ１４内の設定ファイルを読み込んで、この設定内容を変更するジョブを実行するものである。なお、設定変更に係るプログラムは、アプリごとや操作パネルアプリ等に含まれる場合もあるが、本実施例１ではこれらアプリとは独立した別個のアプリケーションとして存在することとする。
【００４５】
＜４＞高優先の第１ファイルアクセスコマンド発行による主要部構成の動作
【００４６】
図４は、高優先アプリ２３ａからミドルウェア２２に対し優先された第１ファイルアクセスコマンドを発行した場合における各主要部構成２２ａ〜２２ｄの動作の流れを示す図である。以下、括弧内は図４中のステップ識別符号である。
【００４７】
（ステップＳ１）アクセスコマンド振り分け部２２ａは、第１ファイルアクセスコマンドを受け付け、このコマンドにコマンドオプション「ｐ」が付されていると判定すると、高優先帯域制御部２２ｂにこのコマンドを渡す。
【００４８】
（ステップＳ２）高優先帯域制御部２２ｂは、これに応答して、ファイルアクセス開始の旨をアクセス状態管理部２２ｄに通知する（コールする）。
【００４９】
（ステップＳ３）アクセス状態管理部２２ｄは、この通知に応答して、ＯＳ２１及びデバイスドライバ群２０を介して、ＤＲＡＭ１３Ｄの共有メモリ領域内にフラグＦ＝１という値を格納し、その旨を高優先帯域制御部２２ｂに通知する（リターンする）。
【００５０】
（ステップＳ４）高優先帯域制御部２２ｂは、これに応答して、ＨＤＤ用ファイルシステム２１ａに対し、ファイルアクセス要求をする。即ち、上記高優先アプリ２３ａからの第１ファイルアクセスコマンドに対応する第２ファイルアクセスコマンドを発行する。
【００５１】
（ステップＳ５）ＨＤＤ用ファイルシステム２１ａは、発行された第２ファイルアクセスコマンドに応答し、ＨＤＤ用デバイスドライバ２０ａを介しコマンドに応じたファイルアクセス操作を行う。
【００５２】
（ステップＳ６）ＨＤＤ用ファイルシステム２１ａは、第２ファイルアクセスコマンドによる処理を終えると、高優先帯域制御部２２ｂにその旨を通知する。
【００５３】
（ステップＳ７）高優先帯域制御部２２ｂは、これに応答して、アクセス状態管理部２２ｄにファイルアクセスの終了を通知する。
【００５４】
（ステップＳ８）アクセス状態管理部２２ｄは、これに応答して、ＯＳ２１及びデバイスドライバ群２０を介して、ＤＲＡＭ１３Ｄの共有メモリ領域内のフラグＦに０（Ｆ＝０）の値を格納し、その旨を優先帯域制御部に通知する。
【００５５】
＜５＞低優先の第１ファイルアクセスコマンド発行による主要部構成の動作
【００５６】
図５は、低優先アプリ２３ｂからミドルウェア２２に対し低優先の第１ファイルアクセスコマンドを発行した場合における各主要部構成の動作の流れを示す図である。以下、括弧内は図５中のステップ識別符号である。
【００５７】
（ステップＳ１０）アクセスコマンド振り分け部２２ａは、第１ファイルアクセスコマンドを受け付け、このコマンドにコマンドオプション「ｐ」が付されていないと判定すると、低優先帯域制御部２２ｃにこのコマンドを渡す。
【００５８】
（ステップＳ１１）低優先帯域制御部２２ｃは、これに応答して、第１ファイルアクセスコマンドが例えばファイルの読み込み要求の場合には、当該ファイルの終端（ＥＯＦ）に到達するまで、以下のように読み込みを繰り返す。また、例えば書き込みの場合には、このコマンドにより指定されるファイルサイズに到達するまで、以下のように書き込みを繰り返す。
【００５９】
（ステップＳ１２）低優先帯域制御部２２ｃは、アクセス状態管理部２２ｄにＦ値を返すよう要求する。
【００６０】
（ステップＳ１３）アクセス状態管理部２２ｄは、これに応答して、ＯＳ２１及びデバイスドライバ群２０を介して、ＤＲＡＭ１３Ｄの共有メモリ領域内のＦ値を読み出し、その値を低優先帯域制御部２２ｃに返す。
【００６１】
（ステップＳ１４）低優先帯域制御部２２ｃは、この通知されたＦ値が１か否か、即ち上記高優先度帯域制御部２２ｂがファイルアクセスをファイルシステム２１ａに要求しているか否かを判定する。肯定判定した場合には、次のステップＳ１５に進む。否定判定した場合には、ステップＳ１６に進む。
【００６２】
（ステップＳ１５）低優先帯域制御部２２ｃは、Ｔ１ミリ秒間待機する。
【００６３】
（ステップＳ１６）低優先帯域制御部２２ｃは、第１ファイルアクセスコマンドにより指定されたファイル内の例えば２５６バイト分のデータだけ、ＨＤＤ用ファイルシステム２１ａに対し、ファイルアクセス要求する。即ち、第１ファイルアクセスコマンドに対応する第２ファイルアクセスコマンドを発行する。
【００６４】
ここで、上記待機時間“Ｔ１”及び上記ファイルアクセス量（アクセス時間“Ｔ２”に対応）は、その帯域がＨＤＤ１４の最大帯域“Ｓｍａｘ”から高優先アプリ２３ａに係るファイルアクセスを保証する帯域“Ｓａ”（以下、保証帯域と称す）を差し引いた余剰帯域“Ｓｍａｘ−Ｓａ”内になるように決定される。最大帯域“Ｓｍａｘ”は、最大帯域測定部２２ｅにより得られた最大帯域データの値である。なお、高優先アプリ２３ａに係るファイルアクセス帯域Ｓは、これらの値を用いて、Ｓ＝Ｓｍａｘ×Ｔ１／（Ｔ１＋Ｔ２）≧Ｓａと表すことができ、Ｓ≧Ｓａが成立する。
【００６５】
（ステップＳ１７）ＨＤＤ用ファイルシステム２１ａは、発行された第２ファイルアクセスコマンドに応答し、ＨＤＤ用デバイスドライバ２０ａを介しコマンドに応じたファイルアクセス操作を行う。
【００６６】
（ステップＳ１８）ＨＤＤ用ファイルシステム２１ａは、第２ファイルアクセスコマンドによる処理を終えると、低優先帯域制御部２２ｃにその旨を通知する。
【００６７】
（ステップＳ１９）低優先帯域制御部２２ｃは、Ｓ１１の繰り返し条件を満たす限り、以上のステップＳ１２からステップＳ１６までの処理を繰り返し、この条件を満たさなくなった場合には、処理を終える。
【００６８】
図６は、以上の動作ステップＳ５及びステップＳ１７におけるＨＤＤ用ファイルシステム２１ａのファイルアクセス操作の状態を示す図である。この図において、上段は高優先帯域制御部２２ｂによるＨＤＤ用ファイルシステム２１ａのファイルアクセス操作の状態であり、下段は低優先帯域制御部２２ｃによるＨＤＤ用ファイルシステム２１ａのファイルアクセス操作の状態である。矩形はＨＤＤアクセス操作中であることを示す。
【００６９】
この図では、低優先帯域制御部２２ｃは、先にファイルアクセスを開始し、開始後に定期的にフラグＦの値をチェックしており、途中で高優先帯域制御部２２ｂによるファイルアクセスが開始されると、上記Ｆ値が１であると判定してファイルアクセスを一旦中断し、Ｔ１ミリ秒間の待機とＴ２ミリ秒間のファイルアクセスとを繰り返し行うことを示している。なお、図中の高優先帯域制御部２２ｂと低優先帯域制御部２２ｃによるファイルアクセスが重畳している時点では、実際にはＨＤＤ用ファイルシステム２１ａが時分割並列処理を行っている。これにより、高優先帯域制御部２２ｂによるファイルアクセスの保証帯域を侵さない範囲内で、低優先帯域制御部２２ｃによるファイルアクセスも実行されることになる。
【００７０】
＜６＞効果
【００７１】
以上のように、本実施例１では、優先度特定手段としてのアクセスコマンド振分部２２ａが、第１ファイルアクセスコマンドの優先度を特定する。そして、第１帯域制御手段としての帯域制御部２２ｂが、第１ファイルアクセスコマンドの優先度が高い場合、この第１ファイルアクセスコマンドに基づくファイルアクセスの開始情報を保持し、かつ、この第１ファイルアクセスコマンドに対応した第２ファイルアクセスコマンドをファイルシステム２１ａへ発行し、第２帯域制御手段としての帯域制御部２２ｃが、第１ファイルアクセスコマンドの優先度が低い場合、開始情報が保持されているか否かを判定し、開始情報が保持されていない場合には、第１ファイルアクセスコマンドに対応した第２ファイルアクセスコマンドをファイルシステム２１ａへ発行して連続的にファイルアクセスを実行させ、開始情報が保持されている場合には、実行中の優先度の高いファイルアクセスの保証帯域以外の余剰帯域の範囲内で、第１ファイルアクセスコマンドに対応する第２ファイルアクセスコマンドをファイルシステム２１ａへ発行してファイルアクセスを実行させる。ファイルシステム２１ａは、第２ファイルアクセスコマンドを受け付け、ファイルアクセスを行う。
【００７２】
アプリケーション群２３からの２以上のファイルアクセスが競合した場合、ミドルウェア２２中の低優先帯域制御部２２ｃが上記のような帯域制御を行うので、既存のファイルシステムを変更することなく、高優先のファイルアクセスと、低優先のファイルアクセスを同時に処理し、かつ高優先のファイルアクセス帯域を保証することができるという効果を奏する。
【００７３】
一般的な画像形成装置では、スキャナによるスキャン中に設定値変更等は不可能であったが、上記のことから、スキャナによるスキャン中に当該ジョブの処理を遅延させることなく、設定値変更等をすることが可能である。
【００７４】
また、最大帯域測定部２２ｅは、ＨＤＤ１４の最大帯域を繰り返し測定し最大帯域データを更新する。この最大帯域データに基づいて帯域制御が行われるため、ＨＤＤ１４のフラグメンテーションなどでＨＤＤ１４の最大帯域が経時的に変化しても、各時点で正確な帯域制御が行われる。
【００７５】
【実施例２】
【００７６】
本発明の実施例２に係る画像形成装置では、３段階の優先度「高」、「中」及び「低」のファイルアクセスコマンドが処理される。なお、実施例２に係る画像形成装置のその他の構成および動作については実施の形態１のものと同様である。以下に、実施例２に係る画像形成装置における帯域制御について説明する。
【００７７】
実施例２に係る画像形成装置では、振り分け部２２ａは、アプリケーションの種類または上述のコマンドオプションに基づいて、第１ファイルアクセスコマンドが、優先度「高」、優先度「中」及び優先度「低」のうちのどのファイルアクセスコマンドであるかを特定し、優先度「高」の第１ファイルアクセスコマンドを帯域制御部２２ｂに渡し、優先度「中」および「低」の第１ファイルアクセスコマンドを帯域制御部２２ｃに渡す。
【００７８】
実施例２に係る画像形成装置では、
（ａ）スキャナ１６Ｓからのデータ書き込みのときに、優先度「高」のファイルアクセスコマンドが発行され、
（ｂ）プリンタ１６Ｐへのデータ読み出しのとき及びファクシミリ受信時のファクシミリモデム１８からのデータ書き込みのときに、優先度「中」のファイルアクセスコマンドが発行され、
（ｃ）その他のファイルアクセス時（例えば、操作パネル１５、ＮＩＣ１７などの処理で要求されるデータ読み書き）に、優先度「低」のファイルアクセスコマンドが発行される。
【００７９】
例えば、コピー処理の場合、スキャナからのデータ書き込みは、優先度「高」のファイルアクセスコマンドで行われ、プリンタへのデータ読み出しは、優先度「高」のファイルアクセスコマンドで行われる。このため、スキャナからのデータ書き込みが優先的に実行される。
【００８０】
図７は、実施例２における、３つの優先度に従った場合のＨＤＤ用ファイルシステム２１ａのファイルアクセス操作の状態を示す図である。
【００８１】
「高」優先度のファイルアクセスコマンドによるミドルウェア２２の制御は、図４に示す処理と同一である。つまり、帯域制御部２２ｂがこのコマンドを処理する。
【００８２】
「中」優先度のファイルアクセスコマンドによるミドルウェア２２の制御は、図５に示す処理と同一である。つまり、帯域制御部２２ｃがこのコマンドを処理する。ただし、ステップＳ１１の前に、図４に示すステップＳ２と同様にして、アクセス状態管理部２２ｄにアクセス開始を通知する。アクセス状態管理部２２ｄは、これに応答して例えば上記フラグＦとは別のフラグＦＦに１をセットする。なお、フラグＦＦの値は、このファイルアクセスコマンドに基づくファイルアクセスの開始から完了までの期間のみ、継続して、１とされる。
【００８３】
「低」優先度のファイルアクセスコマンドによるミドルウェア２２の制御については、帯域制御部２２ｃが、（ａ）フラグがＦ＝０且つＦＦ＝０であれば帯域制御せずアクセス要求をそのままＨＤＤ用ファイルシステム２１ａに渡し、（ｂ）フラグがＦ＝１且つＦＦ＝０又はＦ＝０且つＦＦ＝１であれば、図５に示す処理と同様の処理を行う。ただし、ステップＳ１４においてさらにＦＦ＝１か否か判定し、肯定判定した場合にはステップＳ１５に進む。（ｃ）フラグがＦ＝１且つＦＦ＝１であれば、帯域制御部２２ｃが、図５に示す処理と同様の処理を行う。ただし、ステップＳ１５において“Ｔ１”よりも長く待機することにより又はステップＳ１７におけるアクセス時間“Ｔ２”よりも短くなるようにステップＳ１６でアクセス要求をすることにより、「高」及び「中」優先度のファイルアクセスの帯域を保証する。
【００８４】
また、実施例２では、最大帯域測定部２２ｅは、優先度が「高」であるファイルアクセスコマンドのときに、ＨＤＤ１４の最大帯域を繰り返し測定し最大帯域データを更新する。
【００８５】
なお、上述した本発明の各実施例は、本発明の説明のための例示であり、本発明の範囲をそれらの実施例にのみ限定する趣旨ではない。本発明の要旨を逸脱しない様々な変更が可能である。
【００８６】
例えば、本発明は、画像形成装置以外の電子機器にも適用可能である。つまり、電子機器に、上述のアプリケーション群２３と、ミドルウェア２２と、ファイルシステム２１ａと、デバイスドライバ２０ａと、ＨＤＤ１４とを設けることで、本発明を適用することができる。
【００８７】
さらに、本発明に係る帯域制御の対象（ファイルアクセスの対象）は、ＨＤＤ１４に限定されず、例えばＭＯやフラッシュメモリなどの補助記憶装置にも適用可能である。
【００８８】
さらに、上記実施例１，２では、アプリケーションごとに優先度が付加されている場合を説明したが、ジョブごとに優先度を付加するようにしてもよい。
【００８９】
また、上記実施例１，２に係る画像形成装置はマルチアプリケーションを搭載したものであるが、複数のジョブを１つのアプリで実行可能な統合アプリケーションを搭載したものであってもよい。
【００９０】
さらに、上記実施例１，２に係るミドルウェア２２の各機能をアプリケーション自体に備える構成であってもよい。
【００９１】
さらに、上記実施例１，２において、画像形成装置の使用開始時にユーザ認証を行い、使用中のユーザ、あるいはそのユーザの属するユーザグループに応じて、ファイルアクセスコマンドの優先度を変化させるようにしてもよい。
【図面の簡単な説明】
【００９２】
【図１】本発明の実施例１に係る画像形成装置の主要部構成を示す図である。
【図２】本発明の実施例１に係る画像形成装置のソフトウェア階層構造を示す概略ブロック図である。
【図３】本発明の実施例１に係る画像形成装置のハードウェア構成を示す概略ブロック図である。
【図４】高優先の第１ファイルアクセスコマンドが発行された場合における各主要部構成の動作の流れを示す図である。
【図５】低優先の第１ファイルアクセスコマンドが発行された場合における各主要部構成の動作の流れを示す図である。
【図６】「高」及び「低」の優先度に従ったＨＤＤ用ファイルシステムのファイルアクセス操作の状態を示す図である。
【図７】実施例２における、「高」、「中」及び「低」の優先度に従ったＨＤＤ用ファイルシステムのファイルアクセス操作の状態を示す図である。
【図８】アプリケーションから２以上のファイルアクセス要求が競合した場合におけるファイルシステムのファイルアクセス操作の状態を示す図である。
【符号の説明】
【００９３】
１０  画像形成装置（電子機器）
１１  ＭＰＵ（プロセッサ）
１３Ｅ２  ＥＥＰＲＯＭ（プログラム記憶装置）
１４  ＨＤＤ（ファイル記憶装置，記憶手段）
１６Ｓ  スキャナ
１６Ｐ  プリンタ
１８  ファクシミリモデム（ファクシミリ送受信装置）
２１ａ  ファイルシステム
２２  ミドルウェア
２２ａ  アクセスコマンド振り分け部（優先度特定手段）
２２ｂ  高優先帯域制御部（第１帯域制御手段）
２２ｃ  低優先帯域制御部（第２帯域制御手段）
２２ｅ  最大帯域測定部（最大帯域測定手段）
２３  アプリケーション群（アプリケーション）
【図１】
2010097365.tif 000003
【図２】
2010097365.tif 000004
【図３】
2010097365.tif 000005
【図４】
2010097365.tif 000006
【図５】
2010097365.tif 000007
【図６】
2010097365.tif 000008
【図７】
2010097365.tif 000009
【図８】
2010097365.tif 000010