(57)【要約】【課題】メモリにおけるセキュア印刷ジョブ用のスプール領域の大きさを適切に制御する。【解決手段】記録装置は、印刷ジョブのためのスプールバッファとして用いられる所定のメモリを有する記録装置であって、セキュア印刷ジョブに関する入力を受け付ける受け付け手段と、前記受け付けられた前記セキュア印刷ジョブに関する入力に応じて、前記所定のメモリにおける前記セキュア印刷ジョブ用のスプール領域の大きさを制御する制御手段と、前記セキュア印刷ジョブが前記情報処理装置から送信された後に前記記録装置に対するユーザ操作が行われたことに応じて、前記セキュア印刷ジョブに基づくセキュア印刷を実行する印刷手段とを有する。【選択図】図８
2020116848.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブのためのスプールバッファとして用いられる所定のメモリを有する記録装置であって、
セキュア印刷ジョブに関する入力を受け付ける受け付け手段と、
前記受け付けられた前記セキュア印刷ジョブに関する入力に応じて、前記所定のメモリにおける前記セキュア印刷ジョブ用のスプール領域の大きさを制御する制御手段と、
前記セキュア印刷ジョブが情報処理装置から送信された後に前記記録装置に対するユーザ操作が行われたことに応じて、前記セキュア印刷ジョブに基づくセキュア印刷を実行する印刷手段と、
を有することを特徴とする記録装置。
【請求項２】
前記印刷手段は、非セキュア印刷ジョブが前記情報処理装置から送信された後に前記記録装置に対するユーザ操作が行われることなく、前記非セキュア印刷ジョブに基づく非セキュア印刷を実行可能であり、
前記セキュア印刷ジョブに関する入力の受け付けは、前記記録装置の環境が前記非セキュア印刷より前記セキュア印刷を多く実行する環境であることを示す入力の受け付けであり、
前記制御手段は、前記受け付けられた前記セキュア印刷ジョブに関する入力に応じて、前記所定のメモリにおける前記セキュア印刷ジョブ用のスプール領域の大きさが、前記所定のメモリにおける前記非セキュア印刷ジョブ用のスプール領域の大きさより大きくなるように制御する、
ことを特徴とする請求項１に記載の記録装置。
【請求項３】
前記記録装置の環境が前記非セキュア印刷より前記セキュア印刷を多く実行する環境であることを示す入力が受け付けられた場合、前記制御手段は、前記所定のメモリにおける全てのスプール領域が、前記セキュア印刷ジョブ用のスプール領域となるように制御する、ことを特徴とする請求項２に記載の記録装置。
【請求項４】
前記記録装置の環境が前記セキュア印刷より前記非セキュア印刷を多く実行する環境であることを示す入力が受け付けられた場合、前記制御手段は、前記所定のメモリにおける前記非セキュア印刷ジョブ用のスプール領域の大きさが、前記所定のメモリにおける前記セキュア印刷ジョブ用のスプール領域の大きさより大きくなるように制御する、ことを特徴とする請求項２又は３に記載の記録装置。
【請求項５】
前記記録装置の環境が前記セキュア印刷より前記非セキュア印刷を多く実行する環境であることを示す入力が受け付けられた場合、前記制御手段は、前記所定のメモリにおける全てのスプール領域が、前記非セキュア印刷ジョブ用のスプール領域となるように制御する、ことを特徴とする請求項４に記載の記録装置。
【請求項６】
前記セキュア印刷ジョブに関する入力が受け付けられなかった場合、前記所定のメモリにおける前記非セキュア印刷ジョブ用のスプール領域の大きさが、前記所定のメモリにおける前記セキュア印刷ジョブ用のスプール領域の大きさと同じとなるように制御することを特徴とする請求項２乃至５のいずれか１項に記載の記録装置。
【請求項７】
前記セキュア印刷ジョブに関する入力の受け付けは、所定の期間における前記セキュア印刷ジョブの受信であり、
前記制御手段は、前記所定の期間において受信された前記セキュア印刷ジョブに基づいて、前記所定の期間の後の特定の期間における、前記所定のメモリにおける前記セキュア印刷ジョブ用のスプール領域の大きさを制御する、
ことを特徴とする請求項１乃至６のいずれか１項に記載の記録装置。
【請求項８】
前記制御手段は、前記所定の期間の間の前記所定のメモリにおける前記セキュア印刷ジョブの瞬間最大蓄積量に基づいて、前記特定の期間における、前記所定のメモリにおける前記セキュア印刷ジョブ用のスプール領域の大きさを制御する、ことを特徴とする請求項７に記載の記録装置。
【請求項９】
前記制御手段は、前記特定の期間における、前記所定のメモリにおける前記セキュア印刷ジョブ用のスプール領域の大きさが、前記所定の期間の間の前記所定のメモリにおける前記セキュア印刷ジョブの瞬間最大蓄積量を格納可能な大きさとなるように制御する、ことを特徴とする請求項８に記載の記録装置。
【請求項１０】
前記制御手段は、前記所定の期間の間の前記所定のメモリにおける前記セキュア印刷ジョブの瞬間最大蓄積量が、規定値より大きい場合、前記所定のメモリにおける前記セキュア印刷ジョブ用のスプール領域の大きさが、前記規定値のデータ量を格納可能な大きさとなるように制御する、ことを特徴とする請求項８又は９に記載の記録装置。
【請求項１１】
前記印刷手段は、非セキュア印刷ジョブが前記情報処理装置から送信された後に前記記録装置に対するユーザ操作が行われることなく、前記非セキュア印刷ジョブに基づく非セキュア印刷を実行可能であり、
前記制御手段は、前記所定の期間において、前記所定のメモリにおける前記非セキュア印刷ジョブ用のスプール領域の大きさが、前記所定のメモリにおける前記セキュア印刷ジョブ用のスプール領域の大きさと同じとなるように制御する、
ことを特徴とする請求項７乃至１０のいずれか１項に記載の記録装置。
【請求項１２】
前記制御手段は、前記特定の期間の間の前記所定のメモリにおける前記セキュア印刷ジョブの瞬間最大蓄積量に基づいて、前記特定の期間より後の期間における、前記所定のメモリにおける前記セキュア印刷ジョブ用のスプール領域の大きさを制御する、ことを特徴とする請求項７乃至１１のいずれか１項に記載の記録装置。
【請求項１３】
前記所定のメモリにおける前記セキュア印刷ジョブ用のスプール領域の大きさに相当する量以上のデータ量の前記セキュア印刷ジョブが受信された場合、前記所定のメモリと異なる特定のメモリに、前記セキュア印刷ジョブを格納する格納手段、をさらに有することを特徴とする請求項１乃至１２のいずれか１項に記載の記録装置。
【請求項１４】
前記所定のメモリにおける前記セキュア印刷ジョブ用のスプール領域に含まれる前記セキュア印刷ジョブに基づく印刷が実行された場合、前記実行された印刷に基づく前記セキュア印刷ジョブを、前記所定のメモリにおける前記セキュア印刷ジョブ用のスプール領域から削除する削除手段、をさらに有することを特徴とする請求項１乃至１３のいずれか１項に記載の記録装置。
【請求項１５】
前記特定のメモリは、不揮発性メモリである請求項１３に記載の記録装置。
【請求項１６】
前記所定のメモリは、揮発性メモリである請求項１乃至１３のいずれか１項に記載の記録装置。
【請求項１７】
印刷ジョブのためのスプールバッファとして用いられる所定のメモリを有する記録装置の制御方法であって、
セキュア印刷ジョブに関する入力を受け付ける受け付け工程と、
前記受け付けられた前記セキュア印刷ジョブに関する入力に応じて、前記所定のメモリにおける前記セキュア印刷ジョブ用のスプール領域の大きさを制御する制御工程と、
前記セキュア印刷ジョブが情報処理装置から送信された後に前記記録装置に対するユーザ操作が行われたことに応じて、前記セキュア印刷ジョブに基づくセキュア印刷を実行する印刷工程と、
を有することを特徴とする制御方法。
【請求項１８】
請求項１乃至１６のいずれか１項に記載の記録装置の各手段として、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録装置、制御方法およびプログラムに関する。
【背景技術】
【０００２】
オフィス等で複数のユーザに共用されるプリンタは、通常オフィスのローカルネットワーク上に設置される。この環境において、印刷データは個々のユーザの情報端末からネットワークを経由してプリンタに送信され、各ユーザは各自の印刷物をプリンタの所に取りに行くといった形態をとることが多い。ユーザが出力した印刷物には機密情報が含まれる場合があるが、ユーザが印刷データを送信した直後にプリンタがその印刷物を出力した場合、次のような問題が起きる。即ち、ユーザが印刷物を取りに行くまでに時間が空いてしまうとその印刷物に印刷された機密情報が他のユーザの目に触れたり、場合によってはその印刷物を持って行かれたりしてしまうというおそれがある。
【０００３】
このため、オフィスで共有されるプリンタにおいては、ユーザが印刷データを送信した後に実際にユーザがプリンタの所に行くまでは印刷出力をせず、ユーザがプリンタの前で印刷を許可したタイミングで実際の印刷を開始する方式が採用される場合がある。情報セキュリティの観点から、そのような印刷方式をセキュア印刷と呼ぶ。
【０００４】
特許文献１には、セキュア印刷設定がなされた印刷ジョブのジョブ状態をＰＣ側に適切に通知する構成が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１８−１５８５５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、セキュア印刷が普及するにつれ、メモリにおけるセキュア印刷ジョブ用のスプール領域の大きさを適切に制御することが要望されている。
【０００７】
本発明の目的は、メモリにおけるセキュア印刷ジョブ用のスプール領域の大きさを適切に制御することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明に係る記録装置は、印刷ジョブのためのスプールバッファとして用いられる所定のメモリを有する記録装置であって、セキュア印刷ジョブに関する入力を受け付ける受け付け手段と、前記受け付けられた前記セキュア印刷ジョブに関する入力に応じて、前記所定のメモリにおける前記セキュア印刷ジョブ用のスプール領域の大きさを制御する制御手段と、前記セキュア印刷ジョブが前記情報処理装置から送信された後に前記記録装置に対するユーザ操作が行われたことに応じて、前記セキュア印刷ジョブに基づくセキュア印刷を実行する印刷手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、メモリにおけるセキュア印刷ジョブ用のスプール領域の大きさを適切に制御することができる。
【図面の簡単な説明】
【００１０】
【図１】記録装置の構成を示す図である。
【図２】記録装置の制御系のブロック構成を示す図である。
【図３】メインコントローラ、ＲＯＭ、ＲＡＭの構成を示す図である。
【図４】メモリマップを示す図である。
【図５】スプール領域の割り当てを説明するための図である。
【図６】スプール領域の割り当てを説明するための図である。
【図７】スプール領域の割り当てを説明するための図である。
【図８】スプール領域の設定処理を示すフローチャートである。
【図９】蓄積量の変化に伴うスプール領域の割り当ての変化を示す図である。
【図１０】蓄積量の変化に伴うスプール領域の割り当ての変化を示す図である。
【図１１】蓄積量の変化に伴うスプール領域の割り当ての変化を示す図である。
【図１２】スプール領域の設定処理を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１２】
本実施形態における記録装置について説明する。本実施形態における記録装置は、インクジェット方式により、記録剤としてインクを用いた記録を行う装置であるものとするが、この形態に限定されない。例えば記録装置は、電子写真方式により、記録剤としてトナーを用いた記録を行う装置であっても良い。図１は、本実施形態で使用するインクジェット記録装置１（以下、記録装置１、若しくはプリンタ１と呼ぶ）の内部構成図である。図において、ｘ方向は水平方向、ｙ方向（紙面垂直方向）は後述する記録ヘッド８において吐出口が配列する方向、ｚ方向は鉛直方向をそれぞれ示す。
【００１３】
記録装置１は、プリント部２とスキャナ部３を備える複合機であり、記録動作と読取動作に関する様々な処理を、プリント部２とスキャナ部３で個別にあるいは連動して実行可能である。スキャナ部３は、ＡＤＦ（オートドキュメントフィーダ）とＦＢＳ（フラットベッドスキャナ）を備えており、ＡＤＦで自動給紙される原稿の読み取りと、ユーザによってＦＢＳの原稿台に置かれた原稿の読み取り（スキャン）を行うことができる。なお、本実施形態はプリント部２とスキャナ部３を併せ持った複合機であるが、スキャナ部３を備えない形態であってもよい。図１は、記録装置１が記録動作も読取動作も行っていない待機状態にあるときを示す。
【００１４】
プリント部２において、筐体４の鉛直方向下方の底部には、記録媒体（カットシート）Ｓを収容するための第１カセット５Ａと第２カセット５Ｂが着脱可能に設置されている。第１カセット５ＡにはＡ４サイズまでの比較的小さな記録媒体が、第２カセット５ＢにはＡ３サイズまでの比較的大きな記録媒体が、平積みに収容されている。第１カセット５Ａ近傍には、収容されている記録媒体を１枚ずつ分離して給送するための第１給送ユニット６Ａが設けられている。同様に、第２カセット５Ｂ近傍には、第２給送ユニット６Ｂが設けられている。記録動作が行われる際にはいずれか一方のカセットから選択的に記録媒体Ｓが給送される。
【００１５】
搬送ローラ７、排出ローラ１２、ピンチローラ７ａ、拍車７ｂ、ガイド１８、インナーガイド１９およびフラッパ１１は、記録媒体Ｓを所定の方向に導くための搬送機構である。搬送ローラ７は、記録ヘッド８の上流側および下流側に配され、不図示の搬送モータによって駆動される駆動ローラである。ピンチローラ７ａは、搬送ローラ７と共に記録媒体Ｓをニップして回転する従動ローラである。排出ローラ１２は、搬送ローラ７の下流側に配され、不図示の搬送モータによって駆動される駆動ローラである。拍車７ｂは、記録ヘッド８の下流側に配される搬送ローラ７および排出ローラ１２と共に記録媒体Ｓを挟持して搬送する。
【００１６】
ガイド１８は、記録媒体Ｓの搬送経路に設けられ、記録媒体Ｓを所定の方向に案内する。インナーガイド１９は、ｙ方向に延在する部材で湾曲した側面を有し、当該側面に沿って記録媒体Ｓを案内する。フラッパ１１は、両面記録動作の際に、記録媒体Ｓが搬送される方向を切り替えるための部材である。排出トレイ１３は、記録動作が完了し排出ローラ１２によって排出された記録媒体Ｓを積載保持するためのトレイである。
【００１７】
本実施形態の記録ヘッド８は、フルラインタイプのカラーインクジェット記録ヘッドであり、記録データに従ってインクを吐出する吐出口が、図１におけるｙ方向に沿って記録媒体Ｓの幅に相当する分だけ複数配列されている。記録ヘッド８が待機位置にあるとき、記録ヘッド８の吐出口面８ａは、図１のようにキャップユニット１０によってキャップされている。記録動作を行う際は、後述するプリントコントローラ１２２によって、吐出口面８ａがプラテン９と対向するように記録ヘッド８の向きが変更される。プラテン９は、ｙ方向に延在する平板によって構成され、記録ヘッド８によって記録動作が行われる記録媒体Ｓを背面から支持する。
【００１８】
インクタンクユニット１４は、記録ヘッド８へ供給される４色のインクをそれぞれ貯留する。インク供給ユニット１５は、インクタンクユニット１４と記録ヘッド８を接続する流路の途中に設けられ、記録ヘッド８内のインクの圧力及び流量を適切な範囲に調整する。本実施形態では循環型のインク供給系を採用しており、インク供給ユニット１５は記録ヘッド８へ供給されるインクの圧力と記録ヘッド８から回収されるインクの流量を適切な範囲に調整する。
【００１９】
メンテナンスユニット１６は、キャップユニット１０とワイピングユニット１７を備え、所定のタイミングにこれらを作動させて、記録ヘッド８に対するメンテナンス動作を行う。
【００２０】
図２は、記録装置１における制御構成を示すブロック図である。制御構成は、主にプリント部２を統括するプリントエンジンユニット１２０と、スキャナ部３を統括するスキャナエンジンユニット１５０と、記録装置１全体を統括するコントローラユニット１００を含んで構成されている。プリントコントローラ１２２は、コントローラユニット１００のメインコントローラ１０１の指示に従ってプリントエンジンユニット１２０の各種機構を制御する。スキャナエンジンユニット１５０の各種機構は、コントローラユニット１００のメインコントローラ１０１によって制御される。以下に制御構成の詳細について説明する。
【００２１】
コントローラユニット１００において、ＣＰＵを含んで構成されるメインコントローラ１０１は、ＲＯＭ１０７に記憶されているプログラムや各種パラメータに従って、ＲＡＭ１０６をワークエリアとしながら記録装置１全体を制御する。メインコントローラ１０１や、ＲＡＭ１０６、ＲＯＭ１０７によって、記録装置のコンピュータが形成される。例えば、ホストＩ／Ｆ１０２またはワイヤレスＩ／Ｆ１０３を介してホスト装置１５６から印刷ジョブが入力されると、メインコントローラ１０１の指示に従って、画像処理部１０８が受信した画像データに対して所定の画像処理を施す。そして、メインコントローラ１０１はプリントエンジンＩ／Ｆ１０５を介して、画像処理を施した画像データをプリントエンジンユニット１２０へ送信する。
【００２２】
なお、記録装置１は無線通信や有線通信を介して、汎用的な情報処理装置の構成を有するホスト装置１５６から画像データを取得しても良いし、記録装置１に接続された外部記憶装置（ＵＳＢメモリ等）から画像データを取得しても良い。無線通信や有線通信に利用される通信方式は限定されない。例えば、無線通信に利用される通信方式として、Ｗｉ−Ｆｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）（登録商標）やＢｌｕｅｔｏｏｔｈ（登録商標）が適用可能である。また、有線通信に利用される通信方式としては、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等が適用可能である。また、例えばホスト装置１５６から読取コマンドが入力されると、メインコントローラ１０１は、スキャナエンジンＩ／Ｆ１０９を介してこのコマンドをスキャナ部３に送信する。
【００２３】
操作パネル１０４は、ユーザが記録装置１に対して入出力等のユーザ操作を行うための機構である。ユーザは、操作パネル１０４を介してコピーやスキャン等の動作を指示したり、印刷モードを設定したり、記録装置１の情報を認識したりすることができる。
【００２４】
プリントエンジンユニット１２０において、ＣＰＵを含んで構成されるプリントコントローラ１２２は、ＲＯＭ１２３に記憶されているプログラムや各種パラメータに従って、ＲＡＭ１２４をワークエリアとしながら、プリント部２が備える各種機構を制御する。コントローラＩ／Ｆ１２１を介して各種コマンドや画像データが受信されると、プリントコントローラ１２２は、これを一旦ＲＡＭ１２４に保存する。図１の記録ヘッド８に対応する記録ヘッド１４０が記録動作に利用できるように、プリントコントローラ１２２は画像処理コントローラ１２５に、保存した画像データを記録データへ変換させる。記録データが生成されると、プリントコントローラ１２２は、ヘッドＩ／Ｆ１２６を介して、記録ヘッド１４０に記録データに基づく記録動作を実行させる。この際、プリントコントローラ１２２は、搬送制御部１２７を介して図１に示す給送ユニット６Ａ、６Ｂ、搬送ローラ７、排出ローラ１２、フラッパ１１を駆動して、記録媒体Ｓを搬送する。プリントコントローラ１２２の指示に従って、記録媒体Ｓの搬送動作に連動して記録ヘッド１４０による記録動作が実行され、印刷処理が行われる。
【００２５】
ヘッドキャリッジ制御部１２８は、記録装置１のメンテナンス状態や記録状態といった動作状態に応じて記録ヘッド１４０の向きや位置を変更する。インク供給制御部１２９は、記録ヘッド１４０へ供給されるインクの圧力が適切な範囲に収まるように、インク供給ユニット１５を制御する。メンテナンス制御部１３０は、記録ヘッド１４０に対するメンテナンス動作を行う際に、メンテナンスユニット１６におけるキャップユニット１０やワイピングユニット１７の動作を制御する。
【００２６】
スキャナエンジンユニット１５０においては、メインコントローラ１０１が、ＲＯＭ１０７に記憶されているプログラムや各種パラメータに従って、ＲＡＭ１０６をワークエリアとしながら、スキャナコントローラ１５２のハードウェアリソースを制御する。これにより、スキャナ部３が備える各種機構は制御される。例えば、コントローラＩ／Ｆ１５１を介してメインコントローラ１０１がスキャナコントローラ１５２内のハードウェアリソースを制御することにより、ユーザによってＡＤＦに搭載された原稿を、搬送制御部３０４を介して搬送し、センサ１５５によって読み取る。そして、スキャナコントローラ１５２は読み取った画像データをＲＡＭ１５３に保存する。なお、プリントコントローラ１２２は、上述のように取得された画像データを記録データに変換することで、記録ヘッド１４０に、スキャナコントローラ１５２で読み取った画像データに基づく記録動作を実行させることが可能である。
【００２７】
図３は、図２からブロックを抜粋し、その詳細を説明するものである。図２のメインコントローラ１０１、ホストＩＦ１０２、ＲＡＭ１０６、ＲＯＭ１０７はそれぞれ、図３のメインコントローラ３０１、ホストＩＦ３０２、ＲＡＭ３０３、ＲＯＭ３０４に対応する。ホストＩＦ３０２で受信された印刷データは、一旦プリンタのスプールバッファに格納される。スプールバッファの領域（スプール領域）は、ＲＡＭ３０３、またはＲＯＭ３０４上に確保される。ここで、ＲＡＭ３０３は、プリンタを制御するＩＣ内のＳＲＡＭでも良いし、プリンタを制御するＩＣ外のＤＲＡＭでも良いが、スプールバッファは比較的大容量のメモリ領域を必要とするので、本実施形態では、ＤＲＡＭとして説明する。
【００２８】
また、ＲＯＭ３０４は、ＮＯＲ型ＦｌａｓｈやＮＡＮＤ型Ｆｌａｓｈのどちらでも良いが、こちらも大容量の必要性からＮＡＮＤ型Ｆｌａｓｈとして説明する。例えば、本実施形態では、ウェアレベリング制御をチップ内に内蔵したｅＭＭＣを用いる。ｅＭＭＣ上のスプールバッファの領域は、ＣＰＵから直接メモリマップ上に見ることができる非ファイルシステム領域でも良いし、ファイルシステムを介したファイルシステム領域でも良い。尚、本実施形態では、非ファイルシステム領域として説明する。
【００２９】
ＲＯＭデバイスには書込み回数の制限があるので、スプールデータは書込み回数制限のないＲＡＭに優先的に格納することが望ましく、ＲＡＭ内に確保しているスプールバッファの容量を超えた時にＲＯＭを併用する。また、ユーザの使用状況に応じてＲＡＭのスプールバッファの容量（最大量）を適切に設定することができれば、スプールデータがＲＡＭのスプールバッファを超える可能性が低くなり、ＲＯＭへの書き込み制限の問題が解消され、その結果、製品としての寿命を長く保つことができる。更に、ユーザの印刷データは機密情報を含む場合があるので、印刷後はプリンタ内から消去することが望ましい。ＲＡＭにスプールデータを書き込む場合は、印刷データを消去し損ねる事態が発生したとしても、プリンタに電源が供給されなくなればＲＡＭ内の印刷データは消去される。一方、ＲＯＭにスプールデータを格納する場合、印刷データの記録と消去という二回の書き込みが発生する為、書込み回数制限に早くに達してしまう。以上のことから、図３では、ＲＡＭ３００３を優先度の高いスプールバッファ１とし、ＲＯＭ３００４を優先度の低いスプールバッファ２としている。
【００３０】
ＲＯＭ３０４は、スプールバッファとして用いられるだけでなく、メモリ管理テーブル、ユーザのジョブ履歴、スプールバッファに関するユーザの設定情報の格納のためにも用いられる。メインコントローラ３０１は、ＲＯＭ３０４に格納されているユーザの設定情報からメモリ管理テーブルを選択し、スプールバッファ１、スプールバッファ２の容量を設定し、印刷ジョブデータを各スプールバッファに割り当てる制御を行う。また、メインコントローラ３０１は、ＲＯＭ３０４に格納されたジョブ履歴、特に必要となったスプールバッファの履歴を読み出し、読み出した履歴に基づいてスプールバッファの容量の設定を行うことも可能である。このスプールバッファの設定の詳細については後述する。また、メモリ管理テーブルは、予め設定されたテーブルであっても良いが、ユーザの指定値またはスプールバッファの履歴から導出される値であっても良い。
【００３１】
ここで、本実施形態が解決する課題について説明する。
【００３２】
オフィス等で複数のユーザに共用されるプリンタは、通常オフィスのローカルネットワーク上に設置される。この環境において、印刷データは個々のユーザの情報端末からネットワークを経由してプリンタに送信され、各ユーザは各自の印刷物をプリンタの所に取りに行くといった形態をとることが多い。ユーザが出力した印刷物には機密情報が含まれる場合があるが、ユーザが印刷データを送信した直後にプリンタがその印刷物を出力した場合、次のような問題が起きる。即ち、ユーザが印刷物を取りに行くまでに時間が空いてしまうとその印刷物に印刷された機密情報が他のユーザの目に触れたり、場合によってはその印刷物を持って行かれたりしてしまうというおそれがある。
【００３３】
このため、オフィスで共有されるプリンタにおいては、ユーザが印刷データを送信した後に実際にユーザがプリンタの所に行くまでは印刷出力をせず、ユーザがプリンタの前で印刷を許可したタイミングで実際の印刷を開始する方式が採用される場合がある。情報セキュリティの観点から、そのような印刷方式をセキュア印刷と呼ぶ。一方、前者のように、印刷データがプリンタに送られた時点で印刷を開始する方式を非セキュア印刷と呼ぶ。
【００３４】
セキュア印刷が可能な環境を提供するためには、印刷データを印刷出力せずに保持する構成、印刷データを送信したユーザをプリンタが識別し、正しいユーザの許可に応じて実際の印刷出力を行う構成が必要となる。ユーザを識別する構成としては、例えば印刷ジョブを生成するごとに識別用のＩＤ番号をユーザに通知しておき、ユーザがプリンタに対してそのＩＤ番号を入力する。また、他の構成としては、ユーザの持つＩＤカードに識別情報を予め登録しておき、情報端末から印刷ジョブを送信する際にそのユーザＩＤをジョブに付与することで、プリンタ側がユーザとジョブの紐付けを行う。
【００３５】
一方、印刷データを保持する構成としては、印刷データを集中管理するためのプリンタサーバを設置する。各ユーザの印刷データは一旦プリンタサーバに蓄えられ、ユーザがプリンタの前で印刷許可を出した時に、当該プリンタがユーザのＩＤをプリンタサーバに送ることで、プリンタサーバから当該プリンタに印刷データが送信される。一般的に、印刷データを一時的に格納しておくことをスプールすると言い、スプールの為のメモリ領域をスプールバッファと呼ぶ。プリンタサーバは、そのオフィス規模で想定される印刷データ量よりも大きなスプールバッファを確保できるように設計される。また、スプールバッファをオーバーフローさせないための構成として、印刷データの発生から一定時間以上経過した場合は、その印刷データを削除する。
【００３６】
しかしながら、小規模なオフィス環境の場合はコスト、場所等の問題でプリンタサーバを設置できない場合もある。プリンタサーバを設置しない場合は、ネットワーク上で共有された個々のプリンタに直接ユーザからの印刷データが送信され、プリンタ内部にスプールされる。
【００３７】
プリンタ内部にスプールバッファを持つ場合、そのスプール領域として、プリンタ制御部の揮発メモリであるＤＲＡＭあるいはＨＤＤ等の不揮発メモリが用いられる。スプールバッファは、ユーザが印刷出力を許可するまでの一時的なデータ格納であり、基本的には、印刷出力後にはデータを保持しておく必要はない。このため、スプールバッファには揮発メモリであるＤＲＡＭが適するが、複数のユーザが送信してきた印刷データを格納するためには容量的に不足する場合があるので、比較的メモリ単価の安いＨＤＤをスプールバッファとして使用する場合が多い。しかしながら、ＨＤＤはディスクの回転機構など機械的な故障の可能性があること、比較的大きな動作電力を必要とすること、などの問題点がある。そのため、ＮＡＮＤＦｌａｓｈといった不揮発性の半導体メモリを使用することがある。特に、ＮＡＮＤＦｌａｓｈは、近年低価格化が進んでおり、スプールバッファとしての利用が増加している。
【００３８】
ＮＡＮＤＦｌａｓｈメモリは書込み回数に制限があり、読み書きを繰り返すとメモリセルが使用できなくなる。使用できなくなったメモリセルの集合は不良ブロックとして扱われ、代替のメモリセルが割り当てられる。代替のメモリセルを割り当てられないほど不良ブロックが増加した場合には、規定の容量のメモリとして使用できない状態となることがある。
【００３９】
そこで、本実施形態では、揮発性メモリにおけるセキュア印刷ジョブ用のスプール領域の大きさを適切に制御する。これにより、不揮発性メモリの使用（アクセス）が抑制され、不揮発性メモリの寿命が長くなる。
【００４０】
また、揮発性メモリにおけるセキュア印刷ジョブ用のスプール領域の大きさが、記録装置１のセキュア印刷環境に応じた適切なものに制御されることで、揮発性メモリにおける、セキュア印刷ジョブ用のスプール領域以外の領域を有効活用することができる。本実施形態により、具体的には例えば、記録装置１がセキュア印刷があまり行われない環境にあるならば、揮発性メモリにおけるセキュア印刷ジョブ用のスプール領域の大きさが小さくなる。そのため、セキュア印刷があまり行われない環境において、記録装置１は、セキュア印刷ジョブ用のスプール領域以外の領域を有効活用することができる。
【００４１】
図４を参照しながら、ＲＯＭ、ＲＡＭのメモリ領域管理について説明する。図３のＲＡＭ３０３は、図４の揮発性メモリ４０１に対応し、図３のＲＯＭ３０４は図４の不揮発性メモリ４０６に対応している。揮発性メモリ４０１と不揮発性メモリ４０６はそれぞれ、各メモリ内のメモリ領域管理の概要を示している。揮発性メモリ４０１は、プログラム領域４０２、ワーク領域４０３、スプール領域４０４、その他領域４０５を含んで構成される。プログラム領域４０２は、例えば不揮発性メモリ４０６からコピーされた実行プログラムが格納される領域であり、例えばブート後のＣＰＵは、この領域からプログラムをフェッチして動作する。実行プログラムは、不揮発性メモリから直接フェッチされる場合もある。ワーク領域４０３には、例えば、処理中の中間データ等が格納される。また、スプール領域４０４は、ワーク領域の一部として用いられる場合もある。
【００４２】
不揮発性メモリ４０６は、プログラム格納領域４０７、ユーザデータ格納領域４０８、ジョブ履歴格納領域４０９、メモリ管理テーブル格納領域４１０、スプール領域４１１、その他領域４１２を含んで構成される。プログラム格納領域４０７は、実行プログラムの実体が格納可能な領域であり、例えば、ＣＰＵは、格納されているこのプログラムを揮発性メモリ４０１にコピーしてフェッチするか、若しくは、不揮発性メモリ４０６から直接フェッチすることで実行する。ユーザデータ格納領域４０８は、例えばユーザの電話帳やアドレス帳、ＬＣＤの輝度やＵＩ音量設定といったプリンタに関する各種の設定情報が格納される。メモリ管理テーブルの選択情報等も、ユーザデータ格納領域４０８に格納される。
【００４３】
ジョブ履歴格納領域４０９は、１日や１週間といった一定期間における印刷ジョブの数、印刷データの大きさ、スプールバッファの占有率などを記憶する。本実施形態では、これらの情報を用いることにより、プリンタが設置された環境に合わせたスプールバッファのメモリ管理テーブルを選択することができる。この詳細については後述する。スプール領域４１１はスプールデータの格納場所であり、揮発性メモリ４０１のスプール領域よりも多くのスプールデータが発生した場合に、不揮発性メモリ４０６のスプールバッファが用いられる。
【００４４】
ここで、図５を参照しながら、揮発性メモリおよび不揮発性メモリのスプール領域の設定について説明する。図５の揮発性メモリスプール領域５０１は、図４のスプール領域４０４に対応する。また、図５の不揮発性メモリスプール領域５０４は、図４のスプール領域４１１に対応する。図５では、揮発性メモリスプール領域５０１を、セキュア印刷ジョブ用のスプール領域５０２と、非セキュア印刷ジョブ用のスプール領域５０３とに対して５０％ずつの割合で、互いに重複しないように割り当てている。また、不揮発性メモリスプール領域５０４を、セキュア印刷ジョブ用のスプール領域５０５と、非セキュア印刷ジョブ用のスプール領域５０６とに対して５０％ずつの割合で、互いに重複しないように割り当てている。セキュア印刷ジョブと非セキュア印刷ジョブがほぼ同じデータ量および頻度でプリンタに送られてくるような設置環境においては、このように、スプール領域を半分ずつで割り当てることが適切である。このようなメモリ管理を行うことにより、セキュア印刷であっても非セキュア印刷であっても、不揮発性メモリスプール領域を使用する確率を小さくすることができる。
【００４５】
図６は、揮発性メモリスプール領域６０１に対して非セキュア印刷スプール領域を１００％割り当てた場合を示す図である。例えば、プリンタの設置環境として、セキュア印刷を一切出力する必要がない場合には、図５のように、セキュア印刷ジョブ用のスプール領域を確保していても、そのスプール領域は使用されることがない。また、図５の設定では、非セキュア印刷ジョブであって印刷データが大きいジョブがプリンタに送られるような場合には、揮発性メモリの非セキュア印刷ジョブ用のスプール領域が全体の５０％しかないので、印刷データが不揮発性メモリのスプール領域に格納される可能性が高まる。その結果、不揮発性メモリは、使用回数制限に到達しやすくなってしまう。一方、図６の設定であれば、メモリ領域を最大限に活用することができるので、不揮発性メモリを使用する頻度を比較的低減させることができる。
【００４６】
図７は、揮発性メモリスプール領域７０１に対してセキュア印刷ジョブ用のスプール領域を１００％割り当てた場合を示す図である。プリンタの設置環境によっては、印刷ジョブを全てセキュア印刷としている場合がある。そういった環境においては、メモリ領域を全てセキュア印刷ジョブ用のスプール領域とすることで、不揮発性メモリスプール領域７０２に印刷データをスプールする頻度を低減させることができる。
【００４７】
図８を参照しながら、図５、図６、図７で説明したようなスプール領域の設定方法について、フローチャートを用いて説明する。図８のフローチャートは、例えば、プリンタ１の初期設定時に開始されるが、操作パネル１０４に対するユーザ指示に基づき、でユーザの任意のタイミングで開始されるようにしても良い。図８の処理が開始されるとき、スプール領域の設定は、例えばプリンタメーカの指定するデフォルト状態になっている。デフォルト状態とは、具体的には例えば、揮発性メモリスプール領域７０１おけるセキュア印刷ジョブ用のスプール領域の割合とセキュア印刷ジョブ用のスプール領域の割合が同じ状態である。図８の処理は、例えば、メインコントローラ１０１のＣＰＵがＲＯＭ１０７に記憶されたプログラムをＲＡＭ１０６に読み出して実行することにより実現される。
【００４８】
Ｓ８０１では、メインコントローラ１０１は、スプール領域の設定をユーザが行うか否かを判定する。具体的には、メインコントローラ１０１は、操作パネル１０４上に、スプール領域の設定をユーザが行うか否かをユーザに問うための設定画面を表示し、当該設定画面に対する入力をユーザから受け付ける。そして、メインコントローラ１０１は、受け付けた入力に基づいて本判定を行う。例えば、ユーザが予めプリンタ設置環境における印刷ジョブの種類等を把握できている場合がある。それにより、例えば、全てのジョブが非セキュア印刷ジョブである若しくは全てのジョブがセキュア印刷ジョブであることをユーザが予め認識している場合がある。その場合に、ユーザは、スプール領域の設定をユーザが行うことを示すユーザ指示を行う。メインコントローラ１０１は、設定画面において、スプール領域の設定をユーザが行うことを示すユーザ指示を受け付けると、ユーザによるスプール領域の設定を行うと判定してＳ８０５に進む。一方、ユーザは、全てのジョブが非セキュア印刷ジョブであるかどうか、若しくは全てのジョブがセキュア印刷ジョブであるかどうかがわからない場合がある。また例えば、ユーザは、非セキュア印刷ジョブとキュア印刷ジョブが混在することを予め認識している場合がある。その場合に、ユーザは、スプール領域の設定をユーザが行わないことを示すユーザ指示を行う。メインコントローラ１０１は、設定画面において、スプール領域の設定をユーザが行わないことを示すユーザ指示を受け付けると、ユーザによるスプール領域の設定を行わないと判定してＳ８０２に進む。
【００４９】
Ｓ８０５において、メインコントローラ１０１は、ユーザの指定に応じて、スプール領域の設定を行う。具体的には、メインコントローラ１０１は、操作パネル１０４上に、プリンタ１に対してセキュア印刷のみが指示される環境か、プリンタ１に対して非セキュア印刷のみが指示される環境かをユーザに問うための設定画面を表示する。そして、メインコントローラ１０１は、当該設定画面に対する入力をユーザから受け付ける。プリンタ１に対してセキュア印刷のみが指示される環境であることを示す入力が受け付けられた場合、例えば、図７のようなメモリ割り当てを行う。メモリ割り当てを行うためのメモリ管理テーブルは、それぞれセキュア印刷ジョブ用のスプール領域の割合が異なる複数のテーブルから選択するようにしても良い。また、揮発性メモリスプール領域７０１に対してセキュア印刷ジョブ用のスプール領域を１００％割り当てなくとも良い。少なくとも、揮発性メモリスプール領域７０１に対するセキュア印刷ジョブ用のスプール領域が、揮発性メモリスプール領域７０１に対する非セキュア印刷ジョブ用のスプール領域より多くなるように割り当てればよい。また、例えば、揮発性メモリスプール領域７０１に対するセキュア印刷ジョブ用のスプール領域の任意の割合の指定を、ユーザから受け付けるようにしても良い。また、プリンタ１に対して非セキュア印刷のみが指示される環境であることを示す入力が受け付けられた場合、例えば、図６のようなメモリ割り当てを行う。メモリ割り当てを行うためのメモリ管理テーブルは、それぞれ非セキュア印刷ジョブ用のスプール領域の割合が異なる複数のテーブルから選択するようにしても良い。また、揮発性メモリスプール領域７０１に対して非セキュア印刷ジョブ用のスプール領域を１００％割り当てなくとも良い。少なくとも、揮発性メモリスプール領域７０１に対する非セキュア印刷ジョブ用のスプール領域が、揮発性メモリスプール領域７０１に対するセキュア印刷ジョブ用のスプール領域より多くなるように割り当てればよい。また、例えば、揮発性メモリスプール領域７０１に対する非セキュア印刷ジョブ用のスプール領域の任意の割合の指定を、ユーザから受け付けるようにしても良い。Ｓ８０５の後、図８の処理を終了する。
【００５０】
Ｓ８０１でユーザによるスプール領域の設定を行わないと判定された場合、Ｓ８０２で、メインコントローラ１０１は、プリンタの使用状況に合わせたスプール領域の設定をプリンタ１が自動で行うか否かを判定する。具体的には、メインコントローラ１０１は、操作パネル１０４上に、プリンタの使用状況に合わせたスプール領域の設定をプリンタ１が自動で行う否かをユーザに問うための設定画面を表示する。そして、メインコントローラ１０１は、当該設定画面に対する入力をユーザから受け付け、受け付けた内容に応じて、本判定をおこなう。ここで、プリンタの使用状況に合わせたスプール領域の設定をプリンタ１が自動で行うと判定された場合はＳ８０４に進む。一方、プリンタの使用状況に合わせたスプール領域の設定をプリンタ１が自動で行わないと判定された場合はＳ８０３へ進み、揮発性メモリスプール領域７０１をデフォルト状態のまま維持する。Ｓ８０３及びＳ８０４の後、図８の処理を終了する。Ｓ８０１及びＳ８０２の判定は、操作パネル１０４上の設定画面の設定内容に従って行われるようにしても良い。
【００５１】
以下、Ｓ８０４におけるスプール領域の設定について図１２のフローチャートを用いて説明する。また、図１２の処理は、例えば、メインコントローラ１０１のＣＰＵがＲＯＭ１０７に記憶されたプログラムをＲＡＭ１０６に読み出して実行することにより実現される。
【００５２】
Ｓ１２０１では、メインコントローラ１０１は、揮発性メモリスプール領域７０１をデフォルト状態として設定し、ジョブの受け付けを開始する。
【００５３】
Ｓ１２０２では、メインコントローラ１０１は、前回揮発性メモリスプール領域７０１を設定した時から所定の時間が経過したか否かを判定する。所定の時間が経過した場合、メインコントローラ１０１は、Ｓ１２０３に進む。所定の時間が経過していない場合、所定の時間が経過するまで、本判定を繰り返す。所定の時間は、例えば１時間程度でも良いし、１日、あるいは１週間でも良い。本実施形態において、揮発性メモリスプール領域７０１の設定は繰り返し行われるため、揮発性メモリスプール領域７０１の設定を行ってから所定の時間が経過するまでの時間間隔は、繰り返し到来することになる。
【００５４】
Ｓ１２０３では、メインコントローラ１０１は、前回揮発性メモリスプール領域７０１を設定した時から所定の時間が経過するまでの間に、セキュア印刷ジョブを受信したか否かを判定する。メインコントローラ１０１は、セキュア印刷ジョブを受信していない場合、Ｓ１２０４に進み、セキュア印刷ジョブを受信した場合、Ｓ１２０５に進む。
【００５５】
Ｓ１２０４では、メインコントローラ１０１は、揮発性メモリスプール領域７０１をデフォルト状態として設定し、Ｓ１２０２に戻る。
【００５６】
Ｓ１２０５では、メインコントローラ１０１は、前回揮発性メモリスプール領域７０１を設定した時から所定の時間が経過するまでの間の、揮発性メモリスプール領域７０１におけるセキュア印刷ジョブの瞬間最大蓄積量を特定する。
【００５７】
Ｓ１２０６では、メインコントローラ１０１は、Ｓ１２０５で特定した瞬間最大蓄積量に基づいて、揮発性メモリスプール領域７０１におけるセキュア印刷ジョブ用のスプール領域の割合を設定する。具体的には、Ｓ１２０５で特定した瞬間最大蓄積量が、揮発性メモリスプール領域７０１におけるセキュア印刷ジョブ用のスプール領域に収まるように設定する。なおこのとき、揮発性メモリスプール領域７０１におけるセキュア印刷ジョブ用のスプール領域の割合の上限値（規定値）が定められていても良い。具体的には例えば、上限値が８０％として設定されており、且つＳ１２０５で特定した瞬間最大蓄積量が、揮発性メモリスプール領域７０１の８０％以上に相当する量であったとする。この場合は、上限値を反映して、モリスプール領域７０１におけるセキュア印刷ジョブ用のスプール領域の割合は、８０％として設定されることになる。その後、メインコントローラ１０１は、Ｓ１２０２に戻る。
【００５８】
上述のようにして、揮発性メモリスプール領域７０１におけるセキュア印刷ジョブ用のスプール領域の割合の設定を繰り返すことによって、記録装置１の環境に応じた適切なスプール領域を設定することができる。
【００５９】
図９は、プリンタが設置された環境、即ち、印刷ジョブとスプールバッファの使用状況を時間軸に沿って示した図である。縦軸は、セキュア印刷によるスプールバッファのスプールデータの蓄積量を示し、横軸は経過時間を示す。また、蓄積量９０１は、スプールデータの蓄積量の変化を示している。横軸の時間は、任意の時間間隔でＰ１、Ｐ２、Ｐ３、Ｐ４に区切られている。Ｐ１〜Ｐ４の時間間隔は、例えば１時間程度でも良いし、１日、あるいは１週間でも良い。各期間の時間間隔が、Ｓ１２０２の判定における所定の時間に相当する。
【００６０】
ここで、期間Ｐ１におけるスプールデータの蓄積量について説明する。蓄積量９０１は、期間Ｐ１内で変動している。期間Ｐ１において、破線９０２は、揮発性メモリのセキュア印刷ジョブ用のスプールバッファの容量を示しており、破線９０２から破線９０３の間は、不揮発性メモリのセキュア印刷ジョブ用のスプールバッファの容量を示している。期間Ｐ１においては、蓄積量９０１は、破線９０２よりも下の領域で変動している。これは、期間Ｐ１において、スプールバッファへの蓄積量が、揮発性メモリ内で割り当てられたスプールバッファの容量以下で収まっていることを示しており、且つ、不揮発性メモリを使用していない状態である。そのため、不揮発性メモリの使用回数制限には影響しない。さらには、セキュア印刷ジョブ用のスプールバッファに余裕があるので、余剰となる部分を非セキュア印刷ジョブ用のスプールバッファに充てることができれば、より大きな非セキュア印刷ジョブ用の印刷データをプリンタが実行することができる。
【００６１】
そこで、本実施形態では、期間Ｐ２において、スプール領域の設定を変更する。つまり、期間Ｐ２において、期間Ｐ１でのセキュア印刷のスプールバッファへの蓄積量の最大値分を、セキュア印刷ジョブ用のスプール領域９０４として設定する。このスプールバッファ管理の状態変化を示したものが図１０である。
【００６２】
図１０において、横軸は経過時間を示し、図９と同様に、Ｐ１からＰ４の時間領域に区切られている。また、縦軸は、揮発性メモリおよび不揮発性メモリのスプールバッファの割り当てを示している。期間Ｐ１において、揮発性メモリに割り当てられたスプールバッファに対するセキュア印刷ジョブのスプール領域がスプール領域１００４であり、非セキュア印刷ジョブ用のスプール領域がスプール領域１００３である。また、不揮発性メモリに割り当てられたセキュア印刷ジョブ用のスプール領域がスプール領域１００２であり、非セキュア印刷ジョブ用のスプール領域がスプール領域１００１である。期間Ｐ１から期間Ｐ２に移行するにあたり、図９の破線９０４で示された揮発性メモリ内のセキュア印刷ジョブ用のスプール領域の変化は、図１０におけるスプール領域１００４からスプール領域１００６の変化と対応している。これに付随して、非セキュア印刷ジョブ用のスプール領域は、揮発性メモリのスプールバッファの残りのスプール領域として、スプール領域１００３からスプール領域１００５に変化している。
【００６３】
図９の期間Ｐ２では、期間Ｐ１と異なり、セキュア印刷によるスプールバッファのスプールデータの蓄積量９０１が大きく増えている。結果、破線９０４を超えた分は不揮発性メモリのスプール領域を使用することになり、不揮発性メモリの使用回数制限に影響を与え、製品寿命を短くする原因となってしまう。そこで、期間Ｐ３では、期間Ｐ２での結果を反映し、揮発性メモリのセキュア印刷ジョブ用のスプールバッファの容量を破線９０７に変更する。
【００６４】
図１０におけるスプール領域１００６からスプール領域１００８への変化は、セキュア印刷ジョブ用のスプールバッファが大きく確保され、代わりに、非セキュア印刷ジョブ用のスプールバッファがスプール領域１００５からスプール領域１００７へと低減されることを示している。非セキュア印刷は、印刷データがプリンタに届き次第、印刷出力されるので、セキュア印刷に比べると、印刷データはプリンタ内に長くとどまることがない。このため、非セキュア印刷ジョブ用のスプールバッファは、最低限１ジョブ分の領域があれば動作不良を防ぐことができるので、比較的小さい容量に設定することができる。但し、印刷中は、スプールバッファが不足する場合があるので、印刷中のプリンタに印刷ジョブを送信することができなくなる。その際、印刷データは、印刷データの送信元であるホスト装置１５６側で保持されることになる。
【００６５】
図９の期間Ｐ３では、セキュア印刷によるスプールバッファのスプールデータの蓄積量９０１が極めて大きくなり、破線９０７を超えてさらに不揮発性メモリのスプールバッファの容量上限の破線９０８まで到達している。図９において、蓄積量９０１が破線９０８に貼りついているように示されているのは、そのデータ量以上スプールができないからである。そこで、図１０に示すように、期間Ｐ４では、揮発性メモリのセキュア印刷ジョブ用のスプールバッファをスプール領域１０１２、不揮発性メモリのセキュア印刷ジョブ用のスプールバッファをスプール領域１０１０まで拡大している。図１０のスプール領域１０１１のように、非セキュア印刷ジョブ用のスプールバッファは一定量残しても良いし、非セキュア印刷ジョブが発生しないような設置環境であれば、非セキュア印刷ジョブ用のスプールバッファは残さなくても良い。図９および図１０では、非セキュア印刷ジョブ用のスプールバッファについて最低限必要な容量がある場合として、破線９１０を上限とし、スプール領域１０１１のように、非セキュア印刷ジョブ用のスプール領域を最低限確保している。
【００６６】
図９および図１０で示したように、一定期間におけるセキュア印刷によるスプールバッファのスプールデータの蓄積量を観測し、その結果に応じてスプール領域を設定することにより、プリンタ１の使用実態に合わせたスプールバッファを確保することができる。その結果、不揮発性メモリへの書込み機会の増大を抑えることができる。
【００６７】
図９および図１０では、一定期間におけるセキュア印刷によるスプールバッファのスプールデータの蓄積量の最大値に基づいて、次の期間でのスプール領域の割り当てを変更しているが、他の手法により割り当てを変更するようにしても良い。例えば、直近の複数期間の変化を近似関数化して新しい割り当てを導出するようにしても良い。また、例えば、通年のスプールバッファ量の変化を記録しておき、年間の各所定の時期ごとにスプール領域を変化させるようにしても良い。
【００６８】
以上のように、スプールバッファとして確保されている揮発性メモリおよび不揮発性メモリのスプール領域を、セキュア印刷ジョブ用、非セキュア印刷ジョブ用に動的に割り当てる処理について説明した。ところで、非セキュア印刷では、印刷ジョブが発生してプリンタに送付された後、印刷が完了すれば即座にそのジョブに使用されたスプールメモリ領域は解放される。このため、非セキュア印刷ジョブ用のスプール領域を揮発性メモリ内に一時的に確保することで、不揮発性メモリへの書き込みの増加を更に抑えることができる。
【００６９】
図１１は、図１０と同様、縦軸は揮発性メモリおよび不揮発性メモリのスプールバッファの割り当てを示し、横軸は経過時間を示している。スプール領域１１０１は、不揮発性メモリの非セキュア印刷ジョブ用のスプール領域であり、スプール領域１１０２は、不揮発性メモリのセキュア印刷ジョブ用のスプール領域である。また、スプール領域１１０３は、揮発性メモリの非セキュア印刷ジョブ用のスプール領域であり、スプール領域１１０４は、揮発性メモリのセキュア印刷ジョブ用のスプール領域である。また、蓄積量１１０７は、セキュア印刷ジョブ用のスプール領域への蓄積量の時間変化を示している。
【００７０】
ここで、Ｔ１＿１の時点で非セキュア印刷ジョブが発生したとする。非セキュア印刷ジョブのデータ量は、データ１１０５とデータ１１０６とを合わせた量である。データ１１０６は、揮発性メモリに確保された非セキュア印刷ジョブ用のスプールバッファの容量上限と一致しているので、オーバーした分がデータ１１０５として不揮発性メモリのスプール領域に書き込まれている。
【００７１】
印刷は、Ｔ１＿２で完了しているので、非セキュア印刷ジョブのデータ１１０５とデータ１１０６はなくなり、スプール領域が解放されている。ここで、データ１１０５の書込みを不揮発性メモリではなく揮発性メモリで行うことを考える。蓄積量１１０７は、Ｔ１＿１において確保されたスプール領域１１０４の領域に対して十分に小さく、仮にデータ１１０５のデータが格納されたとしても、セキュア印刷ジョブ用のスプール領域に格納されているスプールデータが破壊されることはない。
【００７２】
そこで、Ｔ２＿１では、非セキュア印刷ジョブ用のデータ１１０９を、セキュア印刷ジョブ用のスプール領域の空き領域を確認した上で、セキュア印刷ジョブ用のスプール領域に一時的に格納する。つまり、Ｔ２＿１から非セキュア印刷が完了するＴ２＿２までの間だけ、非セキュア印刷ジョブ用のスプール領域１１０３を一時的に拡大して、データ１１０８および１１０９を全て揮発性メモリに格納している。このように制御することで、不揮発性メモリへのデータの書き込みの増大を更に抑えることができる。
【００７３】
図９では、セキュア印刷ジョブ用のスプール領域を、決定された切り替え後のスプール領域に切り替える際に、スプールデータの量が、決定された切り替え後のスプール領域よりも少ない状態を示していた。しかしながら、実際の使用状況においては、スプール領域を切り替える時点で残っているスプールデータ量が、決定された切り替え後のスプール領域よりも大きい場合もある。そのような場合には、スプールデータが印刷出力によって低下して、決定された切り替え後のスプール領域以下になるタイミングを待って、その時点で切り替えを実行しても良い。また、ユーザから、強制的にスプールデータの消去の指示を受け付けるように構成し、その指示に従って切り替えを実行するようにしても良い。
【００７４】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７５】
１  記録装置：  １０１  メインコントローラ：  １０６  ＲＡＭ：  １０７  ＲＯＭ：  ４０１０  揮発性メモリ：  ４０１３、４０２５  スプール領域：  ４０２０  不揮発性メモリ
【図１】
2020116848.tif 000003
【図２】
2020116848.tif 000004
【図３】
2020116848.tif 000005
【図４】
2020116848.tif 000006
【図５】
2020116848.tif 000007
【図６】
2020116848.tif 000008
【図７】
2020116848.tif 000009
【図８】
2020116848.tif 000010
【図９】
2020116848.tif 000011
【図１０】
2020116848.tif 000012
【図１１】
2020116848.tif 000013
【図１２】
2020116848.tif 000014