(57)【要約】【課題】小容量のメモリであっても効率的に使用して複数のアプリケーションを動作させる画像形成装置、メモリ管理方法、及びメモリ管理プログラムを提供することを課題とする。【解決手段】本発明に係る画像形成装置１は、プログラムの作業領域である記憶領域と、基本機能を実現する基本機能プログラムと、拡張機能を実現する拡張機能プログラムとを有し、仕様最大機能を有効にした基本機能プログラムの実行により記憶領域の全領域が使用される画像形成装置であって、記憶領域の使用状況を検出する使用状況検出手段２０１と、プログラムに記憶領域を分配する方法を規定する分配モードを示す情報を記憶する分配モード記憶手段２０２と、記憶領域の使用状況と、分配モードとに応じて、実行されるべきプログラムに作業領域を分配する作業領域分配手段２０４とを有する。【選択図】図２
2010041415.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの作業領域である記憶領域と、基本機能を実現する基本機能プログラムと、拡張機能を実現する拡張機能プログラムとを有し、仕様最大機能を有効にした前記基本機能プログラムの実行により前記記憶領域の全領域が使用される画像形成装置であって、
前記記憶領域の使用状況を検出する使用状況検出手段と、
プログラムに前記記憶領域を分配する方法を規定する分配モードを示す情報を記憶する分配モード記憶手段と、
前記使用状況検出手段により検出された前記記憶領域の使用状況と、前記分配モード記憶手段に記憶された分配モードとに応じて、実行されるべきプログラムに前記作業領域を分配する作業領域分配手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記分配モードは、
分配可能な単一のプログラムに、前記作業領域を動的に分配する単一モード、
分配可能な複数のプログラムに、前記作業領域を動的に分配する複数モード、
分配可能なプログラムに、前記作業領域の一部を固定的に分配し、分配可能なプログラムに、当該作業領域の残る部分を動的に分配する複合モード、
プログラム実行要求に対する応答に最低必要なプログラムに、前記作業領域の一部を固定的に分配するＭＡ動作モードのいずれかであること、
を特徴とする請求項１記載の画像形成装置。
【請求項３】
前記複数モード、前記複合モード、又は前記ＭＡ動作モードにおいて分配されるプログラムは、搭載されている前記記憶領域の全領域を使用した場合に実現されるその仕様最大機能よりも、その機能が制限されること、
を特徴とする請求項２記載の画像形成装置。
【請求項４】
前記作業領域割当手段は、前記複数モード、前記複合モード、又は前記ＭＡ動作モードにおいて、割り当て可能な複数のプログラムに前記作業領域を動的に割り当てるとき、優先度の高いプログラムに前記作業領域を多く割り当てること、
を特徴とする請求項２又は３記載の画像形成装置。
【請求項５】
前記分配モード記憶手段に記憶される前記分配モードを、請求項２記載の前記分配モードのいずれかに変更する分配モード変更手段と、
を有する特徴とする請求項２ないし４いずれか一項に記載の画像形成装置。
【請求項６】
前記分配モード変更手段は、前記分配モード記憶手段に記憶される前記分配モードを、時刻に応じて変更すること、
を特徴とする請求項５記載の画像形成装置。
【請求項７】
プログラムの作業領域である記憶領域と、基本機能を実現する基本機能プログラムと、拡張機能を実現する拡張機能プログラムとを有し、仕様最大機能を有効にした前記基本機能プログラムの実行により前記記憶領域の全領域が使用される画像形成装置におけるメモリ管理方法であって、
コンピュータが、
前記記憶領域の使用状況を検出する使用状況検出工程と、
プログラムに前記記憶領域を分配する方法を規定する分配モードを示す情報を記憶する分配モード記憶工程と、
前記使用状況検出工程で検出された前記記憶領域の使用状況と、前記分配モード記憶工程で記憶された分配モードとに応じて、実行されるべきプログラムに前記作業領域を分配する作業領域分配工程と、
を有することを特徴とするメモリ管理方法。
【請求項８】
請求項７一項に記載のメモリ管理方法をコンピュータに実行させるためのメモリ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像形成装置のメモリ管理方法、及び画像形成装置のメモリ管理プログラムの分野に関する。
【背景技術】
【０００２】
現在のデジタル複合機（MFP：Multi-Function Peripheral）は、ＣＰＵ（Central Processing Unit）の性能向上、メモリの大容量化、通信技術の高速化及びデジタル画像技術の高度化等、ＭＦＰ（以下、画像形成装置という）に関連する技術の進化に伴い、単にデジタル複写機としての機能だけでなく、ファクシミリ、プリンタ及びスキャナ機能等の様々な機能を搭載し、利用者の環境において様々な場面で利用されている。このような複合機（ハイエンドモデル複写機）は、複数の機能を実現するために様々なアプリケーションを備える。図１６は、ハイエンドモデル複写機が備える標準メモリ領域と、搭載されるアプリケーションに割り当てられるメモリ領域とを示す模式図である。この模式図は、ハイエンドモデル複写機は標準メモリでも多数のアプリケーションに割り当てるに十分なメモリ領域（例えば、ＲＡＭ領域）を備えることを示すものである。
【０００３】
また、この反対に位置付けされる製品として、小規模オフィス（ＳＯＨＯ）などで使用されるローエンドモデル複写機（低コスト複写機）が知られている（例えば、特許文献１）。図１７は、ローエンドモデル複写機が備える標準メモリ領域と、搭載されるアプリケーションに割り当てられるメモリ領域とを示す模式図である。このような複写機は、その機能を例えばコピー機能のみなどの単一機能に絞ることによって、搭載するメモリを制限しその低価格化を実現している。その一方、ローエンドモデルの複写機であっても多機能を求める声が多いのも現状で、このような場合、多機能化を実現するために各機能（拡張機能）をオプションとして追加することで対応される。図１８は、ローエンドモデル複写機にオプションメモリの追加を示す模式図である。また、図１９は、ローエンドモデル複写機にオプションメモリが追加され、オプションメモリ領域と対応するアプリケーションに割り当てられるメモリ領域を示す模式図である。
【特許文献１】特開２００６−００１１９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載されるローエンドモデルの複写機は、そのコンセプトからも設計上、ハイエンドモデル複写機を比較して標準に搭載されているメモリ容量は非常に少なく、例えば、コピー機能のみの機能を備える複写機（コピー機）は、ＨＤＤといった大容量記憶装置を備えておらず、搭載メモリはコピーに用いられるのに必要最低限の記憶領域（作業領域）を有するのみである。つまり、ローエンドモデルの複写機ではコスト的な理由から大容量メモリを搭載できず、小容量メモリ構成となっている。また、ローエンドモデルの複写機はその機能は単一である場合（例えば、コピーのみ）が多いので、起動時にそのアプリケーションにメモリ領域を静的、固定的に割り当て（メモリマッピング）、以後は変更することはなかった（する必要はなかった）。
【０００５】
従ってローエンドモデルの複写機に拡張機能を追加する場合には、機能を実現するアプリケーションプログラムに加えて、そのアプリケーションプログラムが実行されるための比較的高価な物理メモリ購入する必要が出てくる。そうなると、オプション機能を搭載させることにより、ユーザはローエンドモデル本来の売りである低価格性による恩恵を享受しにくくなってしまう。
【０００６】
具体的に、ユーザは、拡張機能アプリケーションプログラム（ＲＯＭ）と当該プログラムの作業領域用メモリ（ＲＡＭ）とが一体型されたオプション部品等の購入を行う必要がある。このようにローエンドモデルの複写機においては、標準機能（単一アプリケーション）だけであればコストダウンを実現できても、アプリケーションを複数搭載させるとコストダウンによる恩恵が得られなくなるという問題があった。
【０００７】
そこで本発明では上記のような問題に鑑みて、小容量のメモリであっても効率的に使用して複数のアプリケーションを動作させる画像形成装置、メモリ管理方法、及びメモリ管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
そこで上記課題を解決するため、本発明に係る画像形成装置は、プログラムの作業領域である記憶領域と、基本機能を実現する基本機能プログラムと、拡張機能を実現する拡張機能プログラムとを有し、仕様最大機能を有効にした前記基本機能プログラムの実行により前記記憶領域の全領域が使用される画像形成装置であって、前記記憶領域の使用状況を検出する使用状況検出手段と、プログラムに前記記憶領域を分配する方法を規定する分配モードを示す情報を記憶する分配モード記憶手段と、前記使用状況検出手段により検出された前記記憶領域の使用状況と、前記分配モード記憶手段に記憶された分配モードとに応じて、実行されるべきプログラムに前記作業領域を分配する作業領域分配手段とを有することを特徴とする。
【０００９】
また上記課題を解決するため、本発明に係る画像形成装置において、前記分配モードは、
分配可能な単一のプログラムに、前記作業領域を動的に分配する単一モード、配可能な複数のプログラムに、前記作業領域を動的に分配する複数モード、配可能なプログラムに、前記作業領域の一部を固定的に分配し、分配可能なプログラムに、当該作業領域の残る部分を動的に分配する複合モード、プログラム実行要求に対する応答に最低必要なプログラムに、前記作業領域の一部を固定的に分配するＭＡ動作モードのいずれかであることを特徴とする。
【００１０】
また上記課題を解決するため、本発明に係る画像形成装置において、前記複数モード、前記複合モード、又は前記ＭＡ動作モードにおいて分配されるプログラムは、搭載されている前記記憶領域の全領域を使用した場合に実現されるその仕様最大機能よりもその機能が制限されることを特徴とする。
【００１１】
また上記課題を解決するため、本発明に係る画像形成装置において、前記作業領域割当手段は、前記複数モード、前記複合モード、又は前記ＭＡ動作モードにおいて、割り当て可能な複数のプログラムに前記作業領域を動的に割り当てるとき、優先度の高いプログラムに前記作業領域を多く割り当てることを特徴とする。
【００１２】
また上記課題を解決するため、本発明に係る画像形成装置において、前記分配モード記憶手段に記憶される前記分配モードを、前記分配モードのいずれかに変更する分配モード変更手段とを有する特徴とする。
【００１３】
また上記課題を解決するため、本発明に係る画像形成装置において、前記分配モード変更手段は、前記分配モード記憶手段に記憶される前記分配モードを、時刻に応じて変更することを特徴とする。
【００１４】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１５】
本発明によれば、小容量のメモリであっても効率的に使用して複数のアプリケーションを動作させる画像形成装置、メモリ管理方法、及びメモリ管理プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明を実施するための最良の形態を各実施形態において図面を用いて説明する。
【００１７】
（画像処理装置）
図１は、本発明の実施形態に係る画像形成装置１の一実施形態の主要構成を示すハードウェア構成図である。本実施形態に係る画像形成装置１は、主要な構成として、操作パネル１０と、コントローラ１１と、データ通信Ｉ／Ｆ１２と、スキャナ１３と、プロッタ１４とを含む構成であり、それぞれ相互に接続されている。以下、簡単に説明する。
【００１８】
操作パネル１０は、入力装置１０aと表示装置１０bとを有しており、入力装置１０aは、ハードウェアキーなどで構成され、画像形成装置１に各操作信号を入力するのに用いられる。また、表示装置１０bは、ディスプレイなどで構成され、例えば画像形成動作に関する各種情報を表示する。データ通信Ｉ／Ｆ１２は、インタフェース装置１２aを有しており、画像形成装置１をネットワークなどのデータ伝送路に接続するインタフェースである。
【００１９】
コントローラ１１は、ＲＯＭ（Read Only Memory）１１a、ＲＡＭ（Random Access Memory）１１b、及びＣＰＵ（Central Processing Unit）１１cとを有しており、ＲＯＭ１１aは、不揮発性メモリで、画像形成装置１が起動されるときに実行されるプログラム、画像形成装置１の基本機能を実現するプログラム、本発明に係るプログラム、又、分配モードを示す情報（フラグ等）を含む各種データを格納している。また、画像形成装置１はＲＯＭを拡張できるようマザーボードなどに拡張スロットを備えており（非図示）、この拡張スロットには１つ以上のＲＯＭ１１aが拡張可能である。なおこの拡張されたＲＯＭ１１aには、画像形成装置１の拡張機能を実現するプログラムが格納されている。つまり、拡張機能を実現するプログラムのみがＲＯＭ１１ａに追加的に記憶された構成である。
【００２０】
ＲＡＭ１１bは、ＲＯＭ１１aから読み出された各種プログラム、スキャンされた画像データ、記憶領域の使用状況を管理するための管理領域などを一時保持する。更に、ＣＰＵ１１cは、ＲＡＭ１１bが一時保持しているプログラムを実行する。コントローラ１１は、例えば、データ通信Ｉ／Ｆ１２を介して印刷データを受信した場合に、ＲＯＭ１１aからＲＡＭ１１b上に読み出された、ＰＤＬ（Page Description Language）を解釈可能なプログラム（ＰＤＬパーサ）をＣＰＵ１１cにより実行し、印刷データを解釈してビットマップイメージを生成する。
【００２１】
スキャナ１３は、画像読取装置１３aを有しており、読み取り面に配置された原稿を光学的に読み取り画像データを生成する。プロッタ１４は、印刷装置１４aを有しており、例えば、電子写真プロセス方式によってビットマップイメージを記録紙に印刷する。
【００２２】
このように、本実施形態に係る画像形成装置１では、上記ハードウェア構成により、例えば、基本機能であるコピー（ここではスキャン及びプリント含めた概念とする）、拡張機能であるＦＡＸ、セキュリティなどの機能を実現する。
【００２３】
なお、図１において、ＲＯＭ１１a、ＲＡＭ１１ｂは理論的に１つとして図示したものであり、物理的に複数分かれて確保されてもよい。具体的には、ＣＰＵ１１cが実行するプログラムが展開される領域をＲＡＭ１１ｃ（非図示）とし、そのプログラムの作業領域（スキャンされた画像データ等を一時保持する領域）をＲＡＭ１１ｂなどとして構成されることもできる。但し、上述したように本発明の実施形態に係る画像形成装置１は、いわゆるローエンドモデル複写機（低コスト複写機）であるので、ハイエンドモデル複写機に比べて、プログラムの作業領域として搭載されるメモリは小さく、よってＨＤＤ（大容量補助記憶装置）なども搭載されていない。
【００２４】
（機能）
図２は、本発明の実施形態に係る画像形成装置１の一実施形態の主要機能を示す機能ブロック図である。画像形成装置１は、主要な機能として、使用状況検出部２０１、分配モード記憶部２０２、分配モード変更部２０３、及び作業領域分配部２０４を含む構成である。
【００２５】
使用状況検出部２０１は、記憶領域の使用状況（空き状況）を検出する。詳しくは後述するが、記憶領域（実メモリ）に対応して設けられた管理領域のビットのＯＮ／ＯＦＦによって実メモリの使用の可否又は空き状況を検出する機能を有している。
【００２６】
分配モード記憶部２０２は、プログラムへ記憶領域の分配方法を規定する分配モードを記憶する機能を有している。この分配モードについては後述する。
【００２７】
分配モード変更部２０３は、分配モード記憶部２０２に記憶される分配モードを変更する機能を有している。
【００２８】
作業領域分配部２０４は、使用状況検出部２０１により検出された記憶領域の使用状況と、分配モード記憶部２０２に記憶された分配モードとに応じて、実行されるべきプログラムに作業領域（ワークエリア）として記憶領域を（確保して）分配する機能を有している。
【００２９】
なお、これらの機能は、実際にはＣＰＵ１１ｃが実行するプログラムにより実現されるものである。
【００３０】
＜実施例＞
以上を踏まえて、本実施例による画像形成装置１の記憶領域管理の一形態について説明する。画像形成装置１は、まず記憶領域の使用状況を検出し、設定された分配モードに応じて（従って）、画像形成に係る基本機能又は拡張機能を実現するアプリケーションプログラムに記憶領域を分配する。この記憶領域は、ＣＰＵ１１cが実行する前記アプリケーションプログラムの作業領域である。本実施例による記憶領域は、例えば、小容量のＲＡＭであり、画像形成装置１が搭載する全ての基本機能又は拡張機能を実現するアプリケーションプログラムを展開できるほどの記憶容量はない。画像形成装置１の有する記憶領域が小容量のメモリであっても本発明に係る記憶領域管理により、効率的に記憶領域を使用して複数のアプリケーションプログラムを動作させる。以下、詳しく説明を行う。
【００３１】
（記憶領域管理）
図３は、本実施例による作業領域としての実メモリを示す図である。例えば、ＲＡＭ１１ｂであって、アプリケーションプログラムの作業領域（画像データ等の各種情報を一時保持領域）である。実メモリは、アプリケーションプログラムの作業領域と、実メモリの使用状況検出に用いられる管理情報を格納する管理領域とに分けられる。管理領域は予め一定（所定）の領域を確保しておく。
【００３２】
次に、本実施例による画像形成装置１の記憶領域管理方法ついて、具体的な数値を用いて説明する。図４に示すように、記憶領域管理にあたって、実メモリはまずブロック単位に分割される。ここで、実メモリの領域の容量が、２５６ＭＢ（メガバイト）とし、1ブロック単位を４ＫＢ（キロバイト）とすると、
256MB / 4KB = 262144KB / 4KB = 65536  (1MB=1024KB)
となるので、６５５３６ブロックが作成される。そして、実メモリのブロック単位に対応する領域（管理領域という）を作成する。この管理領域では分割されたブロック数と同じだけのｂｉｔを用意する。管理領域におけるｂｉｔのＯＮ／ＯＦＦ（０又は１）で表現して、対応する実メモリのブロックの使用／未使用を分別する。
【００３３】
よって、分割されたブロック数６５５３６ブロックと同じだけの６５５３６ｂｉｔの管理領域容量が確保される。６５５３６ｂｉｔは、ｂｙｔｅ（バイト）に直すと、８１９２ｂｙｔｅ、つまり約８ＫＢである。よって、８ＫＢ分の管理領域（容量）を用いて、実メモリの使用領域、未使用領域を区分けする。このように管理領域は、ブロックに対応したビットの集合体ともいえる。
【００３４】
ブロックサイズの大きさは、搭載する実メモリと管理できるビット数に応じて決まる。管理できるビット数が上述の例の通り６５５３６ｂｉｔ分しかないのであれば、実メモリが５１２Ｍならば、４ＫＢのブロックサイズでは１３１０７２ブロック数となり、管理ビットを超えてしまう。この場合は、ブロックサイズを変更して、例えば、８ＫＢとして、６５５３６ｂｉｔ内に収まるように修正すればよい。また、管理領域（容量）もどれぐらいにするかによって、ブロックサイズが変動する。管理領域（容量）を大きく取れば、例えば、１３１０７２bit取るならば、実メモリが５１２Ｍでも、４ＫＢのブロックサイズでブロック分割することができる。つまり、１ブロック＝１ｂｉｔで管理するので、ブロック数が増えると多くの管理領域（容量）を必要とする。また、管理領域（容量）を減らすには、１ブロック当たりのブロックサイズを大きくすればよい。よって、１ブロック当たりのブロックサイズを小さくし多くのブロック数を取れば、多くの管理領域容量が必要となる反面、細かい単位領域で（精度良く）実メモリの使用、未使用を検出することができる。
【００３５】
図５は、実メモリと管理領域との対応イメージを示す模式図である。実メモリが使用されている領域（ブロック）に対応して、管理領域ではビットがＯＮ（１）になっている。なお、管理領域分は、使用メモリとしてビットがＯＮ（１）になっている。このように管理領域を設けることで、実メモリ管理テーブルの如く、実メモリの空き状況を把握することができる。即ち、使用状況検出部２０１は、記憶領域（実メモリ）に対応して設けられた管理領域のビットのＯＮ／ＯＦＦによって、実メモリの使用の可否又は空き状況を検出することができる。
【００３６】
（分配モード）
次に、分配モード（管理モード）について説明を行う。分配モードは、作業領域分配部２０４がアプリケーションプログラムにどのように作業領域（ワークエリア）を分配するかについて規定するものである。例えば、分配モードには、作業領域に対して、１度に単一のアプリケーションプログラムのみ分配可能とする単一モードや、複数のアプリケーションプログラムの分配可能とする複数モードなどがある。作業領域分配部２０４は、設定された分配モードに従って、実行されるべきアプリケーションプログラムに作業領域を割り当てる。設定された分配モードの情報（フラグ）は、不揮発性メモリであるＲＯＭ１１ａに保持されており、その分配モードが適用される。以下、具体的に説明を行う。
【００３７】
ここで、分配モードの説明に先立ち、アプリケーションプログラムが必要とする作業領域（容量）について触れておく。アプリケーションプログラムは、その機能段階によって必要となる作業領域（容量）が異なる。以下、３つの機能段階に応じて必要とされる作業領域（標準領域、仕様最大領域、最小領域）について説明する。
【００３８】
「標準領域」
標準領域は、そのアプリケーションの最低限の機能を実現するに必要な作業領域（容量）をいう。図６を参照して、例えば、コピー機能の標準領域という場合、最低限、コピー（画像スキャン及び印刷）を実現し得る必要な作業領域（容量）をいう。この場合標準領域は、設定値（パラメータ）を格納するための最小領域と、画像データを格納する画像データ格納領域とを含む。具体的には、スキャンされた画像データや印刷用画像データ（ビットマップイメージ）、設定値（パラメータ）を一時的に格納（記憶）が可能な相当容量である。なお、そのアプリケーションの最低限の機能を実現できればよいので、標準領域に確保される画像データ格納領域は、仮にそのアプリケーションの仕様上サポートできる最大画像枚数が２０枚であったとしても、例えば、１枚分の領域容量で良い。
【００３９】
画像形成装置１の画像処理に係るアプリケーションは、画像データを扱うゆえ、仕様最大機能を発揮して実行（動作）する場合に必要な作業領域（容量）と、その機能を制限して、例えば、標準領域程度で実行（動作）できる作業領域（容量）との差は大きい。具体例えば、仕様上サポートできる最大画像枚数が２０枚であったとき、１枚分の領域容量（標準領域容量）に制限すれば、画像１９枚程度の差分の作業領域（容量）を削減することができる。このように、画像形成装置１は画像データを扱うゆえ、制限によるこの効果は大きい。
【００４０】
「仕様最大領域」
仕様最大領域は、そのアプリケーションの最大限の機能を実現できる作業領域（容量）をいう。図７を参照して、例えば、コピー機能の仕様最大領域という場合、最大限、コピー（画像スキャン及び印刷）を実現し得る必要な作業領域（容量）をいう。メーカーが仕様として提示する最大限の機能を実現（達成）するに必要な作業領域（容量）である。この場合仕様最大領域は、設定値（パラメータ）を格納するための最小領域と、画像データを格納する画像データ格納領域とを含む。仕様最大限画像枚数のスキャンされた画像データや印刷用画像データ（ビットマップイメージ）、設定値（パラメータ）を一時的に格納（記憶）が可能な相当容量である。なお、仕様最大機能を実現する必要があるので、仕様最大領域に確保される画像データ格納領域は、仮にそのアプリケーションの仕様最大画像枚数が２０枚であったならば、２０枚分の領域容量となる。よって、「標準領域」の画像データ格納領域と比較すると、「仕様最大領域」の画像データ格納領域の方が大きくなる。
【００４１】
「最小領域」
最小領域は、そのアプリケーションが最小限起動（応答）できる作業領域（容量）をいう。最小領域は、ユーザが入力する設定値などのパラメータの保持に必要な作業領域（容量）である。図８を参照して、例えば、ユーザ端末や操作パネルからプリント命令に係るパラメータなどを受けて、このパラメータは、最小領域に一時格納（バッファリング）される。ユーザ端末から画像形成装置１に対して、プリントに係るパラメータ送信を行なう際、画像形成装置１の最小領域、且つパラメータを受信して保持できる状態にないと、応答できずにタイムアウトが発生するからである。よって、アプリケーションを最小限起動させ、且つ一定の作業領域（最小領域）を確保しておき、ユーザ端末からのパラメータを一時的に作業領域に格納してから、ユーザ端末に受信待ち（通知）を行う。そして、標準領域相当の作業領域を空くのを待って、印刷用画像データのための作業領域を確保できたならば、ユーザ端末に対して印刷用画像データの受信可能通知を行なう。全アプリケーションについて、最小領域を常に展開しておくと見かけ上、全てのアプリケーションが動いているように見える。但し、実際には標準領域以上の作業領域を確保するまでは、機能を実行することはできない。よって図８の例でいえば、ユーザ端末からは、コピー及びＦＡＸは動作しているように見えているが、実際にコピー及びＦＡＸが動作できるのは、標準領域以上の作業領域が確保されてからとなる。なお、上述した「標準領域」及び「仕様最大領域」は、その定義からも当然ながら「最小領域」を含んでいる。
【００４２】
次いで、以上を踏まえ分配モードについて説明する。分配モードは、単一モード、複数モード、複合モード、及びＭＡ動作モードなどがある。
【００４３】
「単一モード」
単一モードは、分配可能な単一のプログラムに、作業領域を動的に分配するモードをいう。単一モードは、作業領域を一のアプリケーションで占有することができるので、主に仕様最大領域を必要とするアプリケーションを実行する際に有効である。図９は、単一モードを説明する図の一例である。コピー機能仕様最大領域（Ａ：コピー機能単一モード）、ＦＡＸ機能仕様最大領域（Ｂ：ＦＡＸ機能単一モード）が、作業領域に分配される例である。コピー機能が実現されている間は、単一のアプリケーションにのみ作業領域を分配するので他のアプリケーションは動作できない。単一モードの場合、コピー動作が終了して、一旦、モード切替要求（コピー機能単一モードからＦＡＸ機能単一モードへ）を受けて、作業領域は初期化されてから、ＦＡＸ機能仕様最大領域が動的に分配され動作が可能となる。
【００４４】
「複数モード」
複数モードは、分配可能な複数のプログラムに、作業領域を動的に分配する複数モードをいう。仕様最大領域を必要とするアプリケーションを実行すると、作業領域のほとんどが占有されるため、他のアプリケーションは作業領域が空くまで待機しなくてはならない。そこで、複数モードは、アプリケーションの機能を仕様最大限まで使用できなくとも、そのアプリケーションが有する最小限の機能を実現できる程度の作業領域、つまり標準領域を確保できればよい場合に有効である。即ち、最小限の機能の実現で構わないから、複数のアプリケーションで作業領域を使用したい場合に設定される。図１０は、複数モードを説明する図の一例である。コピー機能に必要な作業領域を、仕様最大限でなく標準領域（容量）に留める事で、空いた作業領域を分配可能なアプリケーション（例えば、セキュリティ機能標領域）に分配できる（Ｃ：複数モード）。また、ＦＡＸ機能に必要な作業領域を、仕様最大限でなく標準領域（容量）に留める事で、空いた作業領域を分配可能なアプリケーション（例えば、セキュリティ機能標領域）に分配できる（Ｄ：複数モード）。このように複数モードによれば、アプリケーションの仕様最大領域によって占有される作業領域であっても、複数のアプリケーションに作業領域を分配して、複数のアプリケーションを作業領域の空きを待たずして動作できる。
【００４５】
「複合モード」
複合モードは、分配可能なプログラムに、作業領域の一部を固定的に分配し、分配可能なプログラムに、当該作業領域の残る部分を動的に分配する複合モードをいう。複合モードは、作業領域の一定領域容量を固定的にあるアプリケーションに分配し、他のアプリケーションに残りの作業領域を動的に割り当てるので、特定の重要な機能や常に直ぐ使用したい機能がある場合に有効である。図１１は、複合モードを説明する図の一例である。セキュリティ機能標準領域が固定的に分配され常に最小限のセキュリティ機能が利用可能であるので、セキュリティを重視するユーザには好適である（Ｅ、Ｆ：複合モード）。なお、作業領域容量次第ではあるが、作業領域の一部を固定的に分配して残る作業領域部分に、複数モード、ＭＡ動作モードを適用してもよい。
【００４６】
「ＭＡ動作モード」
ＭＡ動作モードは、プログラム実行要求に対する応答に最低必要なプログラムに、作業領域の一部を固定的に分配するモードをいう。上述したようにユーザ端末からの要求に応答できるようパラメータを格納できる作業領域（最小領域）のみ固定的に確保される。図１２は、最小モードを説明する図の一例である。この場合、作業領域には、コピー機能最小領域、ＦＡＸ機能最小領域、セキュリティ機能最小領域が確保されているので、ユーザからすればこれら機能が動作しているように見える（Ｇ、Ｈ：ＭＡ動作モード）。もちろん、実際にこれらの機能が動作できるのは、それぞれの標準領域以上の作業領域が確保できてからとなる。このようにＭＡ動作モードによれば、多くのアプリケーションが常に機能できる（ような）状態をユーザに提供できる。
【００４７】
（分配モード設定）
次に、分配モードの設定動作について説明を行う。上述したように分配モードは、アプリケーションプログラムにどのように作業領域（ワークエリア）を分配するかについて規定するものであるが、これは予めユーザによって設定される。図１３は、分配モードの設定動作について説明するフローチャートである。これを参照して、以下説明する。
【００４８】
ステップＳ１３０１において、ユーザは、分配モードの選択が行う。ここでは、上述した単一モード、複数モード、複合モード、又はＭＡ動作モードから、一の分配モードが選択される。なお、複合モードが選択された場合、作業領域の一部を固定的に分配するアプリケーションプログラムも併せて選択しておく。同様に、ＭＡ動作モードが選択された場合、プログラム実行要求に対する応答に最低必要なアプリケーションプログラムも併せて選択しておく。
【００４９】
Ｓ１３０２において、ユーザは、時刻設定を行なう。時刻設定は、所定の時刻になると分配モードが変更したいときに設定される。例えば、日中は業務上、ＦＡＸを頻繁に使用するため複合モードにおいてＦＡＸ機能を固定的に分配し、夜はＦＡＸ機能は一切使用しないのでその他のアプリケーションで使用したりして、時刻によって使用アプリケーションを変更したい場合などに有効である。時刻設定を行なう場合は、時刻設定に続いて、変更後の分配モードを設定する。時刻設定を行なわない場合は、分配モードの設定動作を終了する。
【００５０】
Ｓ１３０３において、ユーザは、優先アプリ設定を行なう。Ｓ１３０１又はＳ１３０２で設定した分配モードが、複数モード、複合モード、又はＭＡ動作モードである場合に設定が可能である。複数モード、複合モード又はＭＡ動作モード（固定的な作業領域を除く）は、動的に複数のアプリケーションプログラムを分配できる作業領域を有しているので、優先アプリ設定は、複数のアプリケーションが分配されたとき、優先して作業領域を多く分配するアプリケーションの設定することができる。優先されたアプリケーションは作業領域を多めに分配されるので、アプリケーション機能を高めることができる。優先アプリ設定を行なう場合、ステップＳ１３０４に進み、優先アプリ及び優先度を設定する。以上で、分配モードの設定動作を終了する。
【００５１】
なお、上述した分配モードの設定動作については、分配モード変更部２０３の機能によるものである。
【００５２】
（分配モード設定）
次に、電源投入時の画像形成装置１の記憶領域の確保（分配）動作について説明を行う。
図１４は、画像形成装置１起動時の記憶領域の確保（分配）動作について説明するフローチャートである。これを参照して、以下説明する。
【００５３】
ステップＳ１４０１において、動的に作業領域を確保する場合は、ステップＳ１４０３に進む。動的に作業領域を確保しない場合は、ステップＳ１４０３に進む。
【００５４】
ステップＳ１４０２で、全作業領域に必要メモリを固定的に確保される。
【００５５】
ステップＳ１４０３で、作業領域分配部２０４は、分配モードに応じて、プログラムに分配すべき作業領域（ワークエリア）を確保する。設定された分配モードの情報（フラグ）は、不揮発性メモリであるＲＯＭ１１ａに保持されており、その配モードの情報（フラグ）が参照される。なお、作業領域分配部２０４は、使用状況検出部２０１により検出された記憶領域の使用状況と、分配モード記憶部２０２に記憶された分配モードとに応じて、実行されるべきプログラムに作業領域として記憶領域を（確保して）分配すると上述したが、この場合は、起動時（電源投入時）であるので、使用状況検出部２０１により、記憶領域の使用状況（空き状況）は、検出される必要はない（当然に空いている）。また使用状況が検出されても結果は当然に空いていることになる。
【００５６】
ここで、作業領域の確保に伴い、使用状況検出部２０１は、記憶領域（実メモリ）に対応して設けられた管理領域のビットを確保分、ＯＮに変更する。
【００５７】
（動作）
次に、アプリケーション動作要求時の動作について説明を行う。説明を行う中で、作業領域分配部２０４は、動作要求がされたアプリケーションを作業領域に分配する。このアプリケーションプログラムは、作業領域（容量）に応じて、機能が制限される場合がある。即ち、ローエンドモデル複写機の有するメモリ容量を鑑みて、作業領域（容量）残が、仕様最大領域分確保できれば、仕様最大領域を必要とする機能を実現できる作業領域を確保するが、そうでない場合、例えば、標準領域（相当）の作業領域を確保して、アプリケーションプログラムの機能に制限する。図１５を参照して、以下説明する。
【００５８】
ステップＳ１５０１において、実際にアプリケーションの動作要求がされた場合に、現在の分配モードが参照される。
【００５９】
単一モードの場合、動作要求がされたアプリケーションが、既に作業領域に分配されているアプリケーションと同一であれば、そのまま動作できるので、動作が実行される。同一でない場合には、アプリケーションプログラムを作業領域に分配する必要がある。よって、ステップＳ１５０２に進み、（動的）作業領域は初期化された上で、ステップＳ１５０２に進み、作業領域分配部２０４は、動作要求がされたアプリケーションを作業領域に分配する。
【００６０】
複数モードの場合、動作要求がされたアプリケーションが、既に作業領域に分配されている複数のアプリケーションと同一であれば（既に作業領域に分配されている複数のアプリケーションに含まれていれば）、そのまま動作できるので、動作が実行される。同一でない場合には、アプリケーションプログラムを作業領域に分配する必要がある。よって、ステップＳ１５０２に進み、（動的）作業領域は初期化された上で、ステップＳ１５０２に進み、作業領域分配部２０４は、動作要求がされたアプリケーションを作業領域に分配する。
【００６１】
複合モードの場合、動作要求がされたアプリケーションが、既に作業領域（固定的作業領域含む）に分配されているアプリケーションと同一であれば、そのまま動作できるので、動作が実行される。同一でない場合には、アプリケーションプログラムを作業領域に分配する必要がある。よって、ステップＳ１５０２に進み、（動的）作業領域は初期化された上で、ステップＳ１５０２に進み、作業領域分配部２０４は、動作要求がされたアプリケーションを作業領域に分配する。
【００６２】
ＭＡ動作モードの場合、ステップＳ１５０４で、動作要求がされたアプリケーションの最小領域が確保されており、且つ、ステップＳ１５０５で、動作要求がされたアプリケーションの標準領域以上が確保されていれば、そのまま動作できるので、動作が実行される。ステップＳ１５０５で、動作要求がされたアプリケーションの標準領域以上が確保されていなければ、ステップＳ１５０６で、作業領域分配部２０４は、動作要求がされたアプリケーションの標準領域以上を動的作業領域に分配（入力）する。一方、ステップＳ１５０４で、動作要求がされたアプリケーションの最小領域が確保されていない場合は、ステップＳ１５０７に進み、動作要求がされたアプリケーションの標準領域以上を動的作業領域に分配（入力）する。
【００６３】
なお、分配できない場合については、フローチャート上説明は省略した。特に、複合モード又はＭＡ動作モードにおいては、固定的に分配される作業領域がある分、動的に分配可能な作業領域容量は少ない。よって、使用状況検出部２０１により作業領域の使用状況（空き状況）を検出された結果、動的に分配可能な作業領域に、動作要求がされたアプリケーションの標準領域以上を分配するとき、それでも分配できない場合がある。この場合、分配モード自体を、例えば、単一モード（又は複数モード）に変更して、アプリケーションの標準領域以上を分配可能な作業領域を確保することとなる。
【００６４】
＜総括＞
以上、本発明によれば、画像形成装置１（ローエンドモデル複写機）は、メモリ容量は非常に少なく必要最低限の作業領域を有するのみであっても、効率的に作業領域を使用して複数のアプリケーションを動作させることができる。よって、ローエンドモデル複写機であっても、拡張機能を追加する場合、機能を実現するアプリケーションプログラムさえあれば、比較的高価な物理メモリ購入する必要もなく、ローエンドモデルの複写機において、コストに係る恩恵を得ることができる。
【００６５】
即ち、本発明によれば、小容量のメモリであっても効率的に使用して複数のアプリケーションを動作させる画像形成装置、メモリ管理方法、及びメモリ管理プログラムを提供することができる。
【００６６】
なお、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。即ち、ローエンドモデル複写機のように、コスト削減という観点からでなくとも、その装置の機能が出荷当初単一（単一アプリケーション搭載）であるが故、出荷機には、必要程度の物理メモリ（ＲＡＭ）容量しか搭載していない装置についても適用できる。例えば、画像形成装置１には、ローエンドモデル複写機だけでなく、広幅機も含めることができる。広幅機は、長尺印刷が可能な印刷装置で、ローエンドモデル複写機のように、コスト削減という観点というよりはその機能が単一であるが故、出荷機には必要程度の物理メモリ容量しか搭載していない。Ａ０のサイズを600dpi、8bit（Ｋ）の条件でプリントの際、約５２０ＭＢのＲＡＭを必要とし、またカラー（ＣＭＹＫ）であればさらにこの４倍、約２ギガバイトを必要とする。出荷機の物理メモリ容量４ＧＢ（最大物理容量とする）を搭載させても、拡張アプリケーション追加時には、単一モードからの切り替えをしないと拡張アプリケーションの実現ができないケース（メモリ不足）もある。広幅機はＨＤＤを搭載するが、ＨＤＤなどへのバッファリングを避けて、本発明を適用することにより速度アップが可能となり、好適にアプリケーションを実行できる。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施形態に係る画像形成装置１の一実施形態の主要構成を示すハードウェア構成図である。
【図２】本発明の実施形態に係る画像形成装置１の一実施形態の主要機能を示す機能ブロック図である。
【図３】本実施例による作業領域としての実メモリを示す図である。
【図４】実メモリのブロック分割を説明する図である。
【図５】実メモリと管理領域との対応イメージを示す模式図である。
【図６】標準領域を説明する図である。
【図７】仕様最大領域を説明する図である。
【図８】最小領域を説明する図である。
【図９】単一モードを説明する図の一例である。
【図１０】複数モードを説明する図の一例である。
【図１１】複合モードを説明する図の一例である。
【図１２】ＭＡ動作モードを説明する図の一例である。
【図１３】分配モードの設定動作について説明するフローチャートである。
【図１４】画像形成装置１起動時の記憶領域の確保（分配）動作について説明するフローチャートである。
【図１５】アプリケーション動作要求時の動作について説明するフローチャートである。
【図１６】ハイエンドモデル複写機が備える標準メモリ領域と、搭載されるアプリケーションに割り当てられるメモリ領域とを示す模式図である。
【図１７】ローエンドモデル複写機が備える標準メモリ領域と、搭載されるアプリケーションに割り当てられるメモリ領域とを示す模式図である。
【図１８】ローエンドモデル複写機にオプションメモリの追加を示す模式図である。
【図１９】ローエンドモデル複写機にオプションメモリが追加され、オプションメモリ領域と対応するアプリケーションに割り当てられるメモリ領域を示す模式図である。
【符号の説明】
【００６８】
１        画像形成装置
１０        操作パネル
１０ａ    入力装置
１０ｂ    表示装置
１１        コントローラ
１１ａ    ＲＯＭ
１１ｂ    ＲＡＭ
１１ｃ    ＣＰＵ
１２        データ通信Ｉ／Ｆ
１２ａ    インターフェース装置
１３        スキャナ
１３ａ    画像読取装置
１４        プロッタ
１４ａ    印刷装置
２０１    使用状況検出部
２０２    分配モード記憶部
２０３    分配モード変更部
２０４    作業領域分配部
【図１】
2010041415.tif 000003
【図２】
2010041415.tif 000004
【図３】
2010041415.tif 000005
【図４】
2010041415.tif 000006
【図５】
2010041415.tif 000007
【図６】
2010041415.tif 000008
【図７】
2010041415.tif 000009
【図８】
2010041415.tif 000010
【図９】
2010041415.tif 000011
【図１０】
2010041415.tif 000012
【図１１】
2010041415.tif 000013
【図１２】
2010041415.tif 000014
【図１３】
2010041415.tif 000015
【図１４】
2010041415.tif 000016
【図１５】
2010041415.tif 000017
【図１６】
2010041415.tif 000018
【図１７】
2010041415.tif 000019
【図１８】
2010041415.tif 000020
【図１９】
2010041415.tif 000021