説明

デジタル画像形成装置

【課題】 主記憶装置であるハードディスクが故障した際に、必要な補助記憶装置の容量を削減する事。
【解決手段】 補助記憶装置から縮退起動を行なう。主記憶装置上の制御プログラムをカスタマイズして補助記憶装置に保存する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、主記憶装置をもつコンピュータシステム、コンピュータシステムを使用した組み込み機器等に適用可能である。サーバ等の機能を有し、システムダウンを最小限にしたい場合に特に有効となる。
【背景技術】
【0002】
従来コンピュータのシステムは飛躍的に進化してきている。これに伴い制御プログラムも増大しており、この記憶装置も磁気テープから現在はハードディスク装置などを用いることが多い。特に制御プログラムにおいては主記憶装置に保存する場合が多い。一方主記憶装置は大きな容量を必要とするため、容量単価が安いものが選択される。例えばハードディスク装置などの物理的なアクセス手段を有する装置においては常に故障のリスクを持っており、故障によりシステムが起動しなくなる障害が発生する事がある。その場合、システムダウンしてはならない責任を持つシステムにおいては、記憶装置を多重化するなどの障害対策を行なわれている。
【0003】
例えば、特許文献1によれば、主記憶装置が故障した際に、フラッシュROM上に圧縮した補助ブートプログラムを入れており、主記憶装置が壊れた場合にもシステムを起動することが可能な構成を用いている。
【特許文献1】特開2007-128204号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
現在の複写機などの画像形成装置はサーバ機能を持つものがある。特にMFP等の高性能機になると、ウエブブラウザや、多くのフォーマットに対応したプリント出力を実現するための多くの頁記述言語用のインタープリタ制御プログラム、FAXプログラム、HTTPサーバプログラムなどが全て含まれる。従ってファームウエアも非常に多くの記憶容量を必要とする。
【0005】
特許文献1によれば主記憶装置が故障した際に、補助記憶装置であるフラッシュROMに補助ブートプログラムを入れておくが、大きい制御プログラム郡を全て入れておくためには多くの記憶容量が必要となってしまうため大きいコストが必要となる。また全てのプログラムモジュールを入れない場合、ユーザが常に使用するプログラムモジュールが補助記憶装置に含まれない場合、主記憶装置が故障し、補助記憶装置から起動できたとしてもユーザの要望を満たせない場合がある。つまり、第一の課題としては、補助記憶装置上の容量の問題がある。
【0006】
第二の課題として、プログラムモジュールをメモリに展開した際に、そのモジュールがメモリを使用してしまう問題がある。通常コンピュータシステムにおいては、主物理メモリには限りがあるため、仮想記憶技術が行なわれることになる。仮想記憶技術には高速なストレージデバイスが必要となるが、このストレージには主記憶装置が多く用いられる。つまり、主記憶装置が故障した場合、仮想メモリ機能を使用することができなくなり、物理メモリのみを使用して動作しなければならなくなってしまう。そのため、不要なモジュールはできるだけメモリに常駐させないことによりメモリの容量を増やすことが必要である。例えば画像処理装置においては、10枚の原稿を5部作る場合、フィニッシャー装置に対して1、2、3、・・・10、と出力後に、再度同じ事を4回繰り返す必要がある。つまり、1〜10までの画像を蓄積しておく場所が必要であるが、主記憶装置が故障している場合はメモリにその容量を確保する必要があるため、主メモリの空き容量が無い場合、フィニッシング枚数が減るという結果になる。
【課題を解決するための手段】
【0007】
本発明によれば、主記憶装置上のモジュールに対する情報を蓄積してモジュール管理を行なう。このモジュール管理手段の結果を用いてモジュールの重要度を判断し、これを元に補助記憶装置に記録するモジュールを選択する事が可能となる。
【0008】
その結果、主記憶装置が故障した際にも、ユーザが常に使用するような重要な機能を落とすことなく、補助記憶装置に格納するプログラムモジュールを減らす事が可能である。また、メモリに常駐するプログラムも減らす事が可能となり、フィニッシング枚数を保証することが可能となる。
【発明の効果】
【0009】
本発明によれば、主記憶装置が壊れた場合、補助記憶装置からシステムを起動することが可能なシステムにおいて、ユーザが補助記憶装置から起動したシステムで有効にする機能を選択することが可能となる。これにより補助記憶装置が小さい場合、制御プログラムが大きい場合でも、補助記憶装置に無駄なく必要な機能だけを入れることが可能となり、補助記憶装置の容量削減が可能となることでコスト的効果が期待できる。かつ、ユーザが必要としている機能を落とさずに縮退を行なうため、縮退時も使用勝手の良い画像形成装置を提供することが可能となる。さらに、縮退時に問題となる複数部のジョブを実行した際の最大電子ソート実行可能枚数をユーザに通知することで、ユーザの使用用途に応じて最適な縮退システムを提供することが可能となる。
【発明を実施するための最良の形態】
【0010】
次に、本発明の詳細を実施例の記述に従って説明する。
【実施例1】
【0011】
以下、本発明の実施の形態を図面を参照して説明する。
【0012】
図1は本発明に係る電子部品としてのコントローラ部が搭載された画像入出力装置(データ処理装置)の一実施の形態を示すブロック構成図であって、該画像入出力装置100は、LAN(Local Area Network)600にてホストコンピュータ(本実施の形態では第一のホストコンピュータ601、第二のホストコンピュータ602)に接続されている。
【0013】
上記画像入出力システム100は、画像データの読取処理を行うリーダ装置(リーダー部)200と、画像データの出力処理を行うプリンタ装置(プリンタ部)300と、画像データの入出力操作を行うキーボード、及び画像データや各種機能の表示/設定などを行う液晶パネルを備えた操作部150と、リーダー装置200を制御して読み込んだ画像データや、LAN600を介してホストコンピュータ601、602より受信したコードデータから生成される画像データを格納/保存できる画像記憶部160を装着し、これら各構成要素に接続されて該構成要素を制御する単一の電子部品からなる制御装置(コントローラ部)110で構成されている。
【0014】
リーダー装置200は、原稿用紙を搬送する原稿給紙ユニット250と、原稿画像を光学的に読み取って電気信号としての画像データに変換するスキャナユニット210とを有し、プリンタ装置300は、記録用紙を収容する複数段の給紙カセットを備えた給紙ユニット310と、画像データを記録用紙に転写/定着するマーキングユニット(部)320と、印字された記録用紙にソート処理やステイプル処理を施し、外部に排出する排紙ユニット(部)330とを有している。
【0015】
制御装置110は、リーダー部200を制御して、原稿の画像データを読込み、プリンタ部300を制御して画像データを記録用紙に出力してコピー機能を提供する。また、リーダー部200から読取った画像データを、コードデータに変換し、ネットワーク600を介してホストコンピュータ601,602へ送信するスキャナ機能、ホストコンピュータからネットワーク600を介して受信したコードデータを画像データに変換し、プリンタ部300に出力するプリンタ機能、その他の機能ブロックを有している。
【0016】
図2はリーダ部200及びプリンタ部300の詳細を示す断面図である。
【0017】
リーダー部200では、原稿給送ユニット250に積層された原稿用紙がその積層順に従って、先頭から順次1枚ずつプラテンガラス211上へ給送され、スキャナユニット210で所定の読み取り動作が終了した後、読み取られた原稿用紙は、プラテンガラス211上の原稿を排出トレイ219に排出される。また、原稿用紙がプラテンガラス211上に搬送されると、ランプ212を点灯し、次いで光学ユニット213の移動を開始させ、原稿用紙を下方から照射し走査する。そして、原稿用紙からの反射光は、複数のミラー214、215、216、及び、レンズ217を介してCCDイメージセンサ(以下「CCD」と記す)218へ導かれ、走査された原稿画像はCCD218によって読み取られる。CCD218で読み取られた画像データは、所定の処理が施された後、コントローラユニット110に転送される。
【0018】
原稿給送ユニット250が原稿流し読み機能を有している場合、原稿給送部250に積層された原稿用紙は、原稿流し読み位置240を一定の速度で通過する。この場合、光学ユニット213は原稿流し読み位置240に移動し、等速で搬送される原稿をランプ212によって照射し、CCD218によって随時読み取ることで画像データを生成し、コントローラユニット110に転送される。
【0019】
次いで、プリンタ部300では、コントローラ部110から出力された画像データに対応するレーザ光が、レーザドライバ321により駆動されるレーザ発行部322から発行され、感光ドラム323にはレーザ光に応じた静電潜像が形成され、現像器324により前記静電潜像の部分に現像剤が付着される。
【0020】
一方、レーザ光の照射開始と同期したタイミングで、カセット311、カセット312、カセット313、カセット314、手差し給紙段315のいずれかから記録用紙が給紙されて転写部325に搬送路331により搬送され、感光ドラム323に付着している現像剤を記録用紙に転写する。画像データが転写された記録用紙は搬送ベルト326によって、定着部327に搬送され、定着部327における加熱・加圧処理により画像データが記録紙に定着される。定着部327を通過した記録紙は搬送路335、搬送路334を通り、排紙ビン328に排出される。印字面を反転して排紙ビン328に排出する場合には、搬送路336、搬送路338まで導かれ、そこから記録紙を逆方向に搬送し、搬送路337、搬送路334を通り、排紙ビン328に排出される。図に記していないが、排紙ビンの変わりに、排紙ユニットを装着することが可能で、排紙ユニットは排出された記録用紙を束ねて記録用紙の仕分け、仕分けされた記録用紙のステイプル処理などを行うことができる。
【0021】
また、画像データを記録用紙に両面記録する場合は、定着部327を通過したあと、記録紙は、搬送路336からフラッパ329によって搬送路333に導かれ、その後、記録紙を逆方向に搬送し、フラッパ329によって搬送路338、再給紙搬送路332へ導かれる。再給紙搬送路332へ導かれた記録紙は上述と同様にして搬送路331を通り、転写部325へ給紙される。
【0022】
図3は制御装置(コントローラ部)110の詳細を示すブロック図である。
【0023】
すなわち、メインコントローラ111は、CPU112と、バスコントローラ113と、後述する各種コントローラ回路を含む機能ブロックを内蔵すると共に、ROM I/F115を介してROM114と接続され、DRAM I/F117を介してDRAM116と接続され、コーデックI/F118を介してコーデック119と接続され、また、ネットワークI/F123を介してネットワークコントローラ121と接続され、コネクタ122によりLAN600との間で所定の制御動作を行う。ネットワークとしては一般的なもので良い。
【0024】
ROM114は、メインコントローラ111のCPU112で実行される各種制御プログラムや演算データが確認されている。DRAM116は、CPU112が動作するための作業領域や画像データを蓄積するための領域として使用される。コーデック119はDRAM116に蓄積されたラスターイメージデータをMH/MR/MMR/JBIGなどの周知の圧縮方式で圧縮し、また圧縮されたデータをラスターイメージに伸長する。また、コーデック119にはSRAM120が接続されており、該SRAM120は前記コーデック119の一時的な作業領域として使用される。
【0025】
また、前記メインコントローラ111はスキャナバス141を介してスキャナI/F140に接続され、プリンタバス146を介してプリンタI/F145に接続され、さらにPCIバス等の汎用高速バス125を介して拡張ボードを接続するための拡張コネクタ124及び入出力制御部(I/O制御部)126に接続されている。
【0026】
I/O制御部126はリーダ部200やプリンタ部300との間で制御コマンドを送受信するための調歩同期式のシリアル通信コントローラ127が2チャンネル装備されており、該シリアル通信コントローラ127はI/Oバス128を介してスキャナI/F140及びプリンタI/F145に接続されている。
【0027】
スキャナI/F140は、第一の調歩同期シリアルI/F143及び第一のビデオI/F144を介してスキャナコネクタ142に接続され、さらに該スキャナコネクタ142はリーダ部200のスキャナユニット210に接続されている。そして、スキャナI/F140はスキャナユニット210から受信した画像データに対し所望の2値化処理や、主走査方向及び/又は副走査方向の変倍処理を行い、またスキャナユニット210から送られてきたビデオ信号に基づいて制御信号を生成し、スキャナバス141を介してメインコントローラ111に画像データを転送する。
【0028】
また、プリンタI/F145は、第2の調歩同期シリアルI/F148及び第2のビデオI/F149を介してプリンタコネクタ147に接続され、さらに該プリンタコネクタ147はプリンタ部300のマーキングユニット320に接続されている。そして、プリンタI/F145はメインコントローラ111から出力された画像データにスムージング処理を施して該画像データをマーキングユニット320に出力し、さらにマーキングユニット320から送られたビデオ信号に基づいて、生成された制御信号をプリンタバス146に出力する。
【0029】
そして、CPU112は、ROM114からROMI/F115を介して読み込まれた制御プログラムに基づいて動作し、例えば、第1及び第2のホストコンピュータ601、602から受信したPDL(ページ記述言語)データを解釈し、ラスターイメージデータに展開処理を行う。
【0030】
また、バスコントローラ113は、スキャナI/F140プリンタI/F145、その他拡張コネクタ124等に接続された外部機器から入出力されるデータ転送を制御するものであり、バス競合時のアービトレーション(調停)やDMAデータ転送の制御を行う。即ち、例えば、上述したDRAM116とコーデック119との間のデータ転送や、スキャナユニット210からDRAM116へのデータ転送、DRAM116からマーキングユニット320へのデータ転送等は、バスコントローラ113によって制御され、DMA転送される。
【0031】
また、I/O制御部126は、LCDコントローラ131及びキー入力I/F130を介してパネルI/F132に接続され、パネルI/F132は操作部150に接続されている。また、前記I/O制御部126は不揮発性メモリとしてのEEPROM135に接続され、またE−IDEコネクタ161を介して画像データの書き込み/読み出しが可能なハードディスクドライブ(HDD)162に接続され、さらに、機器内で管理する日付と時刻を更新/保存するリアルタイムクロックモジュール133に接続されている。尚、リアルタイムクロックモジュール133はバックアップ用電池134に接続されて該バックアップ用電池134によりバックアップされている。
【0032】
図4はメインコントローラ111の内部詳細を示すブロック構成図である。
【0033】
プロセッサコア401は、64ビットのプロセッサバス(SCバス)を介して、システム・バス・ブリッジ(SBB)402に接続される。SBB402は4×4の64ビットクロスバスイッチであり、プロセッサコア401の他に、キャッシュメモリを備えたSDRAMやROMを制御するメモリコントローラ403と専用のローカルバス(MCバス)で接続されており、さらに、グラフィックバスであるGバス404、IOバスであるBバス405と接続され、全部で4つのバスに接続される。SBB402は、これら4モジュール間を、可能な限り同時平行接続を確保することができるように設計されている。また、データの圧縮伸張ユニット(CODEC)418とも、CODEC I/Fを介して接続されている。
【0034】
Gバス404はGバスアービタ(GBA)406により協調制御されており、スキャナやプリンタと接続するためのスキャナ/プリンタコントローラ(SPC)408に接続される。また、Bバス405は、Bバスアービタ(BBA)407により協調制御されており、SPC408のほか、電力管理ユニット(PMU)409、インタラプトコントローラ(IC)410、UARTを用いたシリアルインタフェースコントローラ(SIC)411、USBコントローラ412、IEEE1284を用いたパラレルインタフェースコントローラ(PIC)413、LANコントローラ(LANC)414、汎用入出力コントローラ(MISC)415、PCIバスインタフェース(PCIC)416にも接続されている。
【0035】
Bバスアービタ407はBバス405を協調制御するアービトレーションであり、Bバス405のバス使用要求を受け付け、調停の後、使用許可が選択された一つのマスタに与えられ、これにより同時に2つ以上のマスタがバスアクセスを行うのを禁止している。尚、アービトレーション方式は3段階の優先権を有し、それぞれの優先権に複数のマスタが割り当てられる。
【0036】
インタラプトコントローラ410は、上述した各機能ブロック及びコントローラユニット110の外部からインタラプトを集積し、CPU401がサポートするコントローラ類408、411−416及びノンマスカブルインタラプト(NMI)に再配分する。
【0037】
電力管理ユニット409は機能ブロック毎に電力を管理し、さらに1チップで構成されている電子部品としてコントローラユニット110の消費電力量の監視を行う。すなわち、コントローラユニット110は、CPU401を内蔵した大規模なASIC(特定用途向けIC)で構成されており、このため全ての機能ブロックが同時に動作すると大量の熱を発生して、コントローラ部110自体が破壊されてしまう虞がある。
【0038】
そこで、このような事態を防止するために各に機能ブロック毎に消費電力を管理し、各機能ブロックの消費電力量はパワーマネージメントレベルとして電力管理ユニット409に集積される。そして、該電力管理ユニット409では各機能ブロックの消費電力量を合計し、該消費電力量が限界消費電力を超えないように各機能ブロックの消費電力量を一括して監視する。
【0039】
Gバスアービタ406は中央アービトレーション方式によりGバス404を協調制御しており、各バスマスタに対して専用の要求信号と許可信号とを有する。尚、バスマスタへの優先権の付与方式として、全てのバスマスタを同じ優先権として、公平にバス権を付与する公平アービトレーションモードといずれか一つのバスマスタに対して優先的にバスを使用させる優先アービトレーションモードのいずれかを指定することができる。
【0040】
図5は、操作部150の例を示す図である。
【0041】
500は、ユーザーインターフェイスであり、種々のコピーモード(例えば、両面設定、グループ、ソート、ステイプル出力等)を設定することが可能である。なお、これらのコピーモード設定手段は、ハードキーであっても、タッチパネルに表示されるソフトキーであっても良い。501は、スタートボタンで、このボタンが押されたことを契機にコピー処理が開始される。
【0042】
図6は、スタートボタン501押下によりコピー処理が開始された後に、コピーモードとして、原稿の読取り蓄積を繰り返し行う「連続読込モード」が選択されたときにユーザーインターフェース500に表示される原稿読込設定画面502の例である。原稿読込設定画面502には、それまで読み込んだ画像を表示されるモードに入るための「確認」ボタン503と、それまで読み込んだ画像を一括出力するための「読込終了」ボタン504が備えられている。
【0043】
図7は、原稿読込設定画面502で「確認」ボタン503が押下されたときに表示される読込画像確認画面で、505の領域にはそれまでに蓄積された画像の総ページ数および表示中のページ番号が表示される。506および507は、蓄積された画像のページを移動させる「ページ移動」ボタンで、506を押下すると前ページに、507を押下すると次ページに移動する。508および509は、確認用画像の拡大/縮小表示を行うための「拡大/縮小」ボタンで、508を押下すると確認用画像は縮小表示され、509を押下すると確認用画像は拡大表示される。510は、蓄積画像確認画面で、505に表示されているページの内容が表示される。511は「再読込」ボタンで、「再読込」ボタン511が押下されるとそのときに表示されていたページを記憶し、画像確認画面をクローズする。画像確認画面がクローズされると502の原稿読込設定画面に戻り原稿読込が可能になる。このとき、原稿読込は再読込モードで実行される。512は「閉じる」ボタンで、「閉じる」ボタン512が押下されると画像確認画面はクローズされる。原稿確認画面がクローズされると502の原稿読込設定画面に戻り原稿読込が可能になる。このとき、原稿読込は連続読込モードで実行される。
【0044】
なお、上述の連続読込モードとは、読込んだ画像データが蓄積記憶された最後尾(最終画像)から再度画像データの蓄積記憶を行い、処理中に蓄積記憶された全画像データを1組の画像データとして扱うことを意味し、再読込モードとは、蓄積記憶された特定の画像データを、新たに読み込んだ画像データに置き換えることを意味する。また、何れの場合も原稿読込み指示はスタートボタン501押下により行われる。
【0045】
図8は、連続読込コピー処理のフローチャートである。
【0046】
S1001では、スタートボタン501が押下されたことによるスタート指示がされたか否かを判別する。スタートボタン501が押下されていない場合はスタートボタン501が押下されるまでその判別を繰り返す。スタートボタン501が押下された場合はS1002に進み、「連続読込モード」が選択されたかの確認を行う。S1002にて「連続読込モード」が設定されていない場合、S1012に進み、通常のコピー処理を行い処理を終了する。「読込画像確認モード」が設定された場合、S1003に進み、自動紙送り装置(DF)にセットされた原稿束の読込み、または、圧板上に置かれた原稿の読込みを行う原稿読込処理を実行する。処理が終了すると操作部150による指示が可能になる。S1004では、画像記憶部160に蓄積された画像確認処理(プレビュー処理)の指示がされたか否かを判別する。画像確認処理実行が指示された場合、S1005に進み画像確認処理(プレビュー処理)を行い、その後S1006に進む。画像確認処理実行の指示が無い場合はS1006に進む。S1006では、「再読込」が指示されたか否かを判別する。再読込の指示はS1005のプレビュー処理内で行われ、再読込の指示がされると、再読込の対象となるページの画像格納場所が記憶さる。再読込が指示されるとS1007に進み、再読込の指示がされない場合はS1008に進む。S1007では、再読込指示がされた時に記憶されたページの画像データ破棄(削除)処理を実行する。その後、S1003に戻り原稿読込処理を実行し、再読込み対象ページの画像データを置き換える。なお、原稿読込処理S1003は、自動紙送り装置(DF)にセットされた全原稿の読込処理、圧板上に置かれた原稿の読込み処理の他、自動紙送り装置にセットされた原稿から指定枚数の読込処理を行うことが可能で、再読込み時は、読込枚数が1ページという指定がされる。S1008は、連続読込処理中止の指示の判別を行う。S1008で中止の指示があった場合はS1009に進み、それまで読込蓄積した画像データの全てを破棄する読込画像破棄処理S1009を実行した後、コピー処理を終了する。S1008で中止の指示が無い場合はS1010に進む。S1010では読込終了指示の判別を行う。S1010で読込終了が指示された場合S1011に進み、それまで読込んだ画像データを全て印刷する読込画像印刷処理を実行した後、コピー処理を終了する。S1010で読込終了が支持されない場合はS1013に進み読込指示の判別を行う。S1013で読込の指示があった場合、S1003に戻り原稿読込処理を実行する。S1013で読込の指示が無い場合はS1004に戻る。つまり、操作部160による指示が何も無いときは、画像確認、再読込、中止、読込終了、読込の何れかの指示待ちになる。
【0047】
図9は、原稿読込処理のフローチャートである。
【0048】
S2001では、自動紙送り装置(DF)の状態の判別を行う。DFがオープンの時はS2006に進み、圧板からの原稿読込処理を行い処理を終了する。DFがクローズの時はS2002に進み、DFに原稿がセットされているか否かの判別を行う。DFに原稿がセットされていない場合はS2006に進み、圧板からの原稿読込処理を行い処理を終了する。DFに原稿がセットされている場合はS2003に進み、再読込処理が指示されているか否かの判別を行う。S2003にて再読込が指示されていると判別した場合はS2004に進み、DFにセットされた原稿から1ページだけ画像を読込み処理を終了する。S2003にて再読込が指示されていないと判別した場合はS2005に進み、DFにセットされた原稿の全ページの読込み処理を行い処理を終了する。
【0049】
図10は、蓄積画像確認(プレビュー)処理のフローチャートである。
【0050】
S3001では、蓄積画像の確認を行う画像格納先の指定がされているかの判別を行う。連続読込コピー処理で繰り返し読込まれる画像データは、実行中の連続読込コピー処理が使用している画像格納先である文書管理部900のジョブ管理部902配下に管理されており、ジョブ管理部902を指定することで、それまでに読込蓄積した画像データの先頭ページから最終ページまでたどることが可能なように管理されている。S3001で指定が無い場合は処理を終了する。つまり、プレビュー処理は実行されない。S3001で指定があった場合はS3002に進み蓄積された画像の先頭ページを特定する。S3003では蓄積されている画像データから、蓄積画像確認画面510に表示する画像データの生成を行う。本実施例では、蓄積画像確認画面510に表示する直前に画像データの生成を行っているが、原稿読込蓄積時に蓄積画像確認画面表示用の画像データを生成し、オリジナル画像と対応付けて外部記憶部160に格納しておいても良い。S3004では、S3003で生成された画像データを蓄積画像確認画面510に表示する。S3005は入力指示待ちで、入力指示をループして待っている。S3006では次ページを表示する指示がされたかの判別を行い、次ページ表示の指示がされた場合はS3007に進む。S3007では蓄積されている画像データの最後尾かを判別し、最後尾であった場合はS3005に戻り再度入力指示待ちになる。S3007で最後尾で無いと判別した場合、S3003に進み特定されたページの蓄積画像確認画面表示用の画像データの生成を行い処理を繰り返す。S3008では、前ページ表示の指示がされたかの判別を行う。前ページ表示の指示がされた場合はS3009に進み、蓄積されている画像データの先頭かの判別を行う。先頭と判別した場合はS3005に戻り再度入力指示待ちになる。先頭で無いと判別した場合、S3003に進み特定されたページの蓄積画像確認画面表示用の画像データの生成を行い処理を繰り返す。S3010では蓄積画像確認画面510に表示されている画像を縮小表示する指示がされたかの判別を行う。縮小表示が指示されたと判別した場合はS3003に進み特定されたページの蓄積画像確認画面表示用の画像データの生成を行い処理を繰り返す。縮小表示の指示が無い場合S3011に進み、拡大表示の指示がされたかの判別を行う。S3011で拡大表示の指示がされたと判別した場合は指定された場合S3003に進み特定されたページの蓄積画像確認画面表示用の画像データの生成を行い処理を繰り返す。拡大表示の指示が無い場合S3012に進み、画像再読込の指示がされたか判別を行う。S3012で画像再読込の指示がされた場合、S3013に進み、現在表示されているページが文書管理部900のどこで管理されているか等を特定する識別情報を記憶(保持)し処理を終了する。ここで保持された情報が前述の画像読込処理に伝わり、再読込処理が実行される。S3012で再読込の指示が無い場合S3005に戻り入力指示待ちとなる。
【0051】
図11は、制御装置110の内部ソフトウェア構造を示す図である。700はコントローラソフトウェアであり、その中はプロトコル解釈部701、ジョブ制御部702、デバイス部703で構成されている。プロトコル解釈部701はホストコンピュータ601や、操作部150から、各インタフェース(411−414)を介して送られてきたコマンド(プロトコル)を解釈し、ジョブ制御部702に対してジョブの実行を依頼する。ジョブ制御部702は、プロトコル解釈部の依頼に基づき種々のジョブを実行する。デバイス部703は、画像入出力システム100を構成する各ユニットを制御するドライバソフトを含み、ジョブ制御部702がジョブを実行する際に使用される。
【0052】
図12は、ジョブ制御部702の構造を示す図である。
【0053】
同図において700はコントローラソフトウェア、701はプロトコル解釈部、702はジョブ制御部、703はデバイス部である。ジョブ制御部702は、ジョブ生成部800、ジョブ処理部810、ドキュメント処理部820、ページ処理部830、バンド処理部840、デバイス割り当て部850を有している。また、ジョブ処理部810は、ジョブ管理部811、バインダ管理部812、ドキュメント管理部813を有している。また、デバイス部703は、第1デバイス851、第2デバイス852及び第3デバイス853等複数のデバイスを有する事が可能となっている。
【0054】
ホストコンピュータ601,602や、操作部150から送られてきた一連の操作依頼は、コマンド(プロトコル)という形で、各インタフェース(411−414)を介して送られてくる。送られてきたコマンドは、プロトコル解釈部701で解釈された後、ジョブ制御部702に送られる。この時点でコマンドは、ジョブ制御部702が理解できる形に変換される。
【0055】
ジョブ生成部800はジョブ814を生成する。ジョブ814にはコピージョブ、プリントジョブ、スキャンジョブ及びファックスジョブ等様々なジョブが存在する。プロトコル解釈部701により解釈されたプロトコルには、例えば、プリントジョブならば印刷する文書の名前や印刷部数、出力先の排紙トレイの指定等の種々の設定情報や、印刷データ自体(PDLデータ)等が含まれる。ジョブ814はジョブ処理部810に送られ処理が行われる。ジョブ処理部810は、ジョブを構成する複数のバインダの出力順など、ジョブ全体に関わる設定がされるジョブ管理部811、バインダを構成する複数のドキュメントの出力順など、バインダ全体に関わる設定がされるバインダ管理部812、ドキュメントを構成する複数のページの出力順など、ドキュメント全体に関わる設定がされるドキュメント管理部813を有し、ジョブ814全体に関する設定や処理が行われる。
【0056】
更に、ジョブ処理部810では、ジョブ814全体に関する設定や処理以外は、ジョブ814を構成するさらに小さな仕事の単位であるバインダ815に分割し、また、バインダ815全体に関する設定や処理以外は、バインダ815を構成するさらに小さな仕事の単位であるドキュメント816に分割し処理する。ドキュメント816は入力ドキュメント821と1対1に対応付けされており、入力ドキュメント821は、ドキュメント処理部820により出力ドキュメント822に変換処理される。例えば、原稿の束をスキャナで読み取り、複数のイメージデータに変換するスキャンジョブを考えると、原稿の束に関する設定や操作の手順が書かれているのが入力ドキュメント821であり、複数のイメージデータに関する設定や操作の手順が書かれているのが出力ドキュメント822である。そして、紙の束を複数のイメージデータに変換する役割を持っているのがドキュメント処理部820である。
【0057】
ドキュメント処理部820は、ドキュメント単位の入力ドキュメント821から出力ドキュメント822への変換処理を行い、ドキュメント全体に関する設定や処理以外は、更に小さな仕事の単位である入力ページ831に分割し、ページ処理部830に処理を依頼する。これは、ちょうどジョブ処理部815がジョブ単位の処理に専念して、更に細かい仕事のためにバインダ815、ドキュメント816を生成するのと同じである。ドキュメント単位の設定及び操作は、具体的にはページの並び替え、両面印刷の指定、表紙の付加、OHP中差し等のページ順序に関するものである。
【0058】
ページ処理部830は、ページ単位の入力ページ831から出力ページ832への変換処理を行う。例えば、上述のスキャンジョブの場合、入力ページ831には読み取りの解像度、読み取りの向き(ランドスケープ/ポートレイト)等の各種設定や、手順が書かれており、出力ページ832にはイメージデータの格納場所等の設定や手順が書かれている。
【0059】
ここまでは、ジョブの単位を徐々に小さくして、ページの単位で扱えるようにすることを説明してきた。高価なシステムで1ページ分のページメモリを持てるならば、最終的にページ単位までジョブを細分化して処理すればよい。しかし、現実にはメモリのコスト等の問題から1ページ分のページメモリを持てない場合には、数ライン分のメモリ(バンドメモリ)でジョブ814を処理するシステムもある。このような場合、ページを更に細かい単位であるバンドに分割して変換処理を行う。それが入力バンド841、バンド処理部840、出力バンド842であり、これらの動作に関してはページの場合と同様である。
【0060】
ジョブ処理部810、ドキュメント処理部820、ページ処理部830及びバンド処理部840は、いずれも処理を進める際に画像入出力システム100を構成する種々の物理デバイスを使用する。当然、複数の処理部が同時に仕事を進めるとデバイスの競合が発生するので、それを調停するのがデバイス割り当て部850である。例として図に示した第1〜第3のデバイス851〜853は、デバイス割り当て部850により上述した各処理部に割り当てられる論理デバイスであり、例えば、ページメモリやバンドメモリ、原稿給紙ユニット250、マーキングユニット320エンジン及びスキャナユニット210等が考えられる。
【0061】
図13は、画像記憶部160に蓄積される画像データを管理する文書管理部900の管理構造を示す図である。
【0062】
文書管理部900は、フォルダ管理部901、ジョブ管理部902、バインダ管理部903、ドキュメント管理部904、ページ管理部905で構成され、それぞれ管理情報(属性値)を持っている。文書管理部900は、1つまたは複数のフォルダ管理部901で構成され、フォルダ管理部901の管理情報が格納されている。フォルダ管理部901は、1つまたは複数のジョブ管理部902で構成され、ジョブ管理部902の管理情報が格納されている。ジョブ管理部902は、1つまたは複数のバインダ管理部903で構成され、バインダ管理部902の管理情報が格納されている。さらに、ジョブ管理部902は、ジョブ制御部702において処理されるジョブ814の動作に必要な情報で、ジョブ管理部811に格納されている属性値を格納/保存することができる。バインダ管理部903は、1つまたは複数のドキュメント管理部904で構成され、ドキュメント管理部904の管理情報が格納されている。さらに、バインダ管理部903は、ジョブ制御部702において処理されるバインダ815の動作に必要な情報で、バインダ管理部812に格納されている属性値を格納/保存することができる。ドキュメント管理部904は、1つまたは複数のページ管理部905で構成され、ページ管理部905の管理情報が格納されている。さらに、ドキュメント管理部904は、ジョブ制御部702において処理されるドキュメント管理部813に格納されている属性値や、ドキュメント処理部820により処理された出力ドキュメント822の属性値を格納/保存することができる。ページ905は、画像記憶部160に保存された、スキャナで読込んだ1ページ分の画像データ、ホストコンピュータから送信されたPDLを展開した1ページ分の画像データ、FAXで受信した1ページ分の画像データなどと対応付けられている。さらに、ページ管理部905は、ジョブ制御部702のページ処理部830により処理された出力ページ832の属性値を格納/保存することができる。つまり、文書管理部900に保存された情報と、画像記憶部160に保存された画像データから画像蓄積時に投入されたジョブ814を再現することが可能である。また、保存されている情報を再設定することで投入時のジョブと異なる動作をさせることも可能である。
【0063】
図14は、該制御装置110で実行されるジョブ814の1つであるコピージョブの構成の一例を示す図である。
【0064】
ホストコンピュータ601、602や、操作部150から送られてくる一連の操作依頼はコマンド(プロトコル)という形で、各インタフェース(411−414)を介して送られてくる。送られてきたコマンドは、プロトコル解釈部701で解釈され、ジョブ制御部702に送られる。この時点でコマンドはジョブ制御部が理解出来る形に変換されることになる。ジョブ生成部800は、送られてきたコマンドを解釈し、コピージョブ1001を生成し制御を依頼する。コピージョブ1001はコピー動作を実現するための機能を有しており、スキャンジョブ1002、イメージエージェントジョブ1003、および、プリントジョブ1006を生成し、これらの動作を制御することでコピー処理を実現する。イメージエージェントジョブ1003は、イメージエージェントバインダ1004を、イメージエージェントバインダ1004は、イメージエージェントドキュメント1005をというように、自身を構成する細かい単位に処理を依頼しそれぞれの動作を制御する。イメージエージェントドキュメント1006は、ドキュメント処理部(紙→イメージ)1010の出力ドキュメントであるイメージドキュメント1011の生成を行う。生成されたイメージドキュメント1011は、イメージエージェントドキュメント1005、イメージエージェントバインダ1004、イメージエージェントジョブ1003、コピージョブ1001を経由しスキャンジョブ1002、プリントジョブ1006に伝達される。
【0065】
スキャンジョブ1002は、ドキュメント処理部(紙→イメージ)1010の入力ドキュメントであるスキャン紙ドキュメント1009の生成を行った後に、ドキュメント処理部(紙→イメージ)1010を生成する。この時、ドキュメント処理部(紙→イメージ)1010に、入力ドキュメントのスキャン紙ドキュメント1009、出力ドキュメントのイメージドキュメント1011が伝えられる。さらに、スキャンジョブ1002は、ドキュメント処理部(紙→イメージ)1010に処理を依頼し動作の制御を行う。なお、スキャンジョブ1002では、ジョブ処理部810で、スキャンジョブ1002全体に関する設定や処理、およびバインダに関する設定や処理が行われる。スキャンジョブ1002では、スキャナユニット210、スキャナ原稿ユニット250の物理的構造から、1回のスキャン動作は、1ジョブ、1バインダ、1ドキュメントの構成で制御可能なため、本実施例では、バインダ815、ドキュメント816を省略している。
【0066】
スキャン紙ドキュメント1009は、原稿に関する情報が属性として管理されており、また、イメージドキュメント1011は、読込み結果である画像データに関する情報が属性として管理される。これらの属性をもとに、ドキュメント処理部(紙→イメージ)1010は、入力ドキュメントであるスキャン紙ドキュメント1009から出力ドキュメントであるイメージドキュメント1011への変換を制御する。ドキュメント処理部(紙→イメージ)1010は、ドキュメント単位の処理のみを行い、さらに細かい仕事は、小さな仕事の単位であるスキャン紙ページ1017、ページ処理部(紙→イメージ)1018、イメージページ1019で行われる。スキャン紙ドキュメント1009は、原稿の枚数に対応したスキャン紙1014を順次生成する。スキャン紙1014は生成されると、原稿の処理順を制御するスキャナ紙管理部1016に識別子を付加して登録した後、スキャン紙ページ1017の生成を行う。スキャン紙ページ1017は原稿の表ページ/裏ページに対応しており、両面原稿の時は1つのスキャン紙1014に対して2つのスキャン紙ページ1017が生成される。スキャナ紙管理部1016は、スキャン紙1014に付加された識別子やデバイスの仕様(原稿読み取り順など)によりスキャン紙ページ1017の処理順序の決定を行う。スキャン紙ページ1017には原稿の各ページに関する情報が管理されており、イメージドキュメント1011により生成されるイメージページ1019には各ページの読込画像データに関する情報が管理される。ページ処理部(紙→イメージ)1018は、入力ページであるスキャン紙ページ1017から出力ページであるイメージページ1019への変換を制御する。また、ページ処理部(紙→イメージ)1018は、実際のスキャナデバイスを制御するためのシーケンスを把握しており、スキャナデバイス制御部1023に用意されたエンジン制御コマンドを発行することで原稿読み取り動作(スキャン動作)の制御を行う。また、スキャン紙ページ1017、イメージページ1019に管理されている属性を画像処理部1025aに設定し制御することで、原稿を画像データとして画像記憶部160に蓄積させる。蓄積された画像データは、文書管理部900にて管理されており、文書管理部900を介して、読み出し、複製、移動、削除、等の操作をすることが可能である。また、画像処理部1025a、1025bには、解像度変換、符号変換などの制御を含んでいる。
【0067】
一方、プリントジョブ1006は、ジョブ全体に関わる設定や処理以外は、さらに小さな仕事の単位であるプリントバインダ1007分割し、バインダ全体に関わる設定や処理以外は、さらに小さな仕事の単位であるプリントドキュメント1008に分割し、プリント処理全体に関する設定や処理の制御を行う。プリントドキュメント1008は、ドキュメント処理部(イメージ→紙)1012の出力ドキュメントであるプリント紙ドキュメント1013の生成を行った後に、ドキュメント処理部(イメージ→紙)1012を生成する。この時、ドキュメント処理部(イメージ→紙)1012に、入力ドキュメントのイメージドキュメント1011、出力ドキュメントのプリント紙ドキュメント1013が伝えられる。さらに、プリントドキュメント1008は、ドキュメント処理部(イメージ→紙)1012に処理を依頼し動作の制御を行う。プリント紙ドキュメント1013には、印刷出力に関する情報が属性として管理されており、イメージドキュメント1011には、画像データに関する情報が属性として管理されている。これらの属性をもとに、ドキュメント処理部(イメージ→紙)1012は、入力ドキュメントであるイメージドキュメント1011から出力ドキュメントであるプリント紙ドキュメント1013への変換を制御する。ドキュメント処理部(イメージ→紙)1012は、ドキュメント単位の処理のみを行い、さらに細かい仕事は、小さな仕事の単位であるイメージページ1019、ページ処理部(イメージ→紙)1020、プリント紙ページ1021で行われる。
【0068】
プリント紙ドキュメント1013は、印刷出力する枚数分のプリント紙1015を順次生成する。プリント紙1015は生成されると、印字の処理順を制御するプリンタ紙管理部1022に識別子を付加して登録した後、プリントン紙ページ1021の生成を行う。プリント紙ページ1021は出力用紙の表ページ/裏ページに対応しており、両面印刷の時は1つのプリント紙1015に対して2つのプリント紙ページ1021生成される。プリンタ紙管理部1022は、プリント紙1015に付加された識別子やデバイスの仕様(内部循環枚数や両面出力時の紙制御順など)によりプリント紙ページ1021の処理順序の決定を行う。プリント紙ページ1021には印字する各ページに関する情報が管理されており、イメージページ1019には各ページの画像データに関する情報が管理されている。ページ処理部(イメージ→紙)1020は、入力ページであるイメージページ1019から出力ページであるプリント紙ページ1021への変換を制御する。また、ページ処理部(イメージ→紙)1020は、実際のプリンタデバイスを制御するためのシーケンスを把握しており、プリンタデバイス制御部1024に用意されたエンジン制御コマンドを発行することで印刷動作(プリント動作)の制御を行う。また、イメージページ1019、プリント紙ページ1021に管理されている属性を画像処理部1025bに設定し制御することで、画像記憶部160に蓄積された画像データを印刷用紙に印字する。
【0069】
このような一連の動作によりより小さな仕事の単位である処理部に制御を任せて行くことで、コピー動作を実現することが可能となる。
【0070】
図15は、図14に記述できなかった、コピージョブ実行時に行われる文書管理900への属性格納の例を抜粋した図である。前述の通り(図13)、文書管理部900は、フォルダ管理部901、ジョブ管理部902、バインダ管理部903、ドキュメント管理部904、ページ管理部905で構成され、それぞれが管理情報(属性値)を持っている。ジョブ制御部702において処理されるジョブ814の動作に必要な情報で、ジョブ管理部811に格納されている属性値は、イメージエージェントジョブ1003により文書管理部900のジョブ管理部902に格納/保存され、ジョブ制御部702において処理されるバインダ815の動作に必要な情報で、バインダ管理部812に格納されている属性値は、イメージエージェントバインダ1004により文書管理部900のバインダ管理部903に格納/保存され、ジョブ制御部702において処理されるドキュメント管理部813に格納されている属性値や、ドキュメント処理部820により処理された出力ドキュメント822の属性値は、出力ドキュメントに該当するイメージドキュメント1011により文書管理部900のドキュメント管理部904に格納/保存され、ジョブ制御部702のページ処理部830により処理された出力ページ832の属性値は、出力ページに該当するイメージページ1019により文書管理部900のページ管理部905に格納/保存される。
【0071】
次に、本発明における特徴的な部分の詳細について述べる。
【0072】
(複数のモジュールから成る第一制御ソフトウエア構成)
図16に本実施例で説明する制御ソフトウエアの構成について述べる。
【0073】
3001は主記憶装置である。現在では主にHDD装置が用いられている。3002は共通プログラムモジュールである。3003はモジュールAの制御プログラムである。3004はモジュールBの制御プログラムである。3010はモジュールCの制御プログラムである。3011はモジュールDの制御プログラムである。3002、3003、3010、3011は3001の主記憶装置上に論理パーティションが構成され、既知の論理パーティションを制御するファイルシステムを介してファイルという形で存在する。
【0074】
本実施例では制御プログラムをこのように複数のモジュールで構成するようになっており、それぞれのモジュールは起動時、もしくは使用時にメモリ上にロードされてプロセス間通信を行なうことで連携して動作する。
【0075】
3005は本発明のシステムにおけるメモリイメージとなる。3006は3002からロードされた制御プログラムを置いた領域である。3007は3003からロードされたモジュールAを置く領域である。3008は3003からロードされた制御プログラムを置く領域である。同じように、3012は3010、3011を置く領域である。
【0076】
3009はこれらのモジュールを置いた余りであり、ワーク領域となる。
【0077】
CPUシステムはメモリからプログラムをフェッチして実行しなければならない。従ってメモリ上にプログラムをロードして実行するのが一般的な方法である。
【0078】
一部、仮想メモリを有するカーネルなどはプログラム全体をストレージ装置に置いておき、必要な領域のみをメモリ上に展開して起動するものもあるが、本実施例においては主ストレージ装置が壊れた場合の説明を行なうため、プログラム領域に対する仮想記憶は除外して説明を行なう。
【0079】
(前記第一制御ソフトウエア構成を格納するための主記憶装置)
(前記主記憶装置とは異なるプロセスで構成されている副記憶装置)
図18は本実施例で用いるストレージ装置の外観である。3201はI/Fであり例えばPCI等の汎用I/Fを介してCPUとデータのやり取りを行なう。3202は本ストレージ装置に対する電源を供給するI/Fである。
【0080】
図17に本実施例で用いるストレージ装置の内部のブロック図を示す。
【0081】
本発明において、図16の3001の主記憶装置は3105の主記憶装置と同一である。
【0082】
3104は3101のストレージ装置である。3201、3202は図18で説明した汎用I/F及び電源I/Fである。3105が主記憶装置である。主記憶装置は大容量が求められるため容量単価の安いものを選択して構成される。現在の技術においては磁気ディスクと磁気ヘッドを用いたハードディスク装置が一般的に用いられる。3106は補助記憶装置である。補助記憶装置は様々な種類のものがある。主にFlushROM、EEPROM、FRAMなどである。これらは全てシリコン製の記憶装置であり、磁気ディスク装置と異なり故障率が非常に低い特徴を持つが、容量単価が高かったり、アクセス速度が遅いという特徴をもつ。
【0083】
現在補助記憶装置として有効なものはNANDプロセスを用いたFlushROMである。現行で数GB程度のものが主流品となる。数年先には数十GBの記憶容量となる可能性もあり、その場合は主記憶装置としての役割を担える可能性もある。
【0084】
またシリコン製の補助記憶装置としては、磁気を用いた不揮発性記憶メモリであるPRAMやMRAM等が将来的に期待できるデバイスとして有力である。
【0085】
記憶装置としての性能は大きく、記憶容量、アクセス速度の2つのパラメータを持つ。一般的に主記憶装置、記憶装置の定義は主に記憶容量を重視するものが主記憶装置となる。補助記憶装置としては、速度的な優位性を持つものは仮想記憶用のテンポラリ領域として使用する用途など、高速に起動するために使用する用途、などが考えられる。現時点において、一般的なデバイスでは補助記憶装置はNANDプロセスによるフラッシュROMになるであろう。
【0086】
(前記主記憶装置からシステムを起動させる第一ブート手段)
図19に本システムのCPU回りの詳細なブロック図を示す。
【0087】
3301はブートロムである。3302はメモリ装置である。131は先に説明したバスコントローラである。401は先に説明したCPUである。3303は現在主流と成っている汎用バスであるPCIバスである。3304は一般的なストレージI/FであるIDEコントローラである。3304の先に図18のストレージ装置が装着されるが、内部に3305主記憶装置と、3306補助記憶装置が繋がっており、CPUは各々にアクセスすることが可能である。
【0088】
図20に本システムのブートシーケンスを示す。
【0089】
3401は非図示の電源ONによりシステムに電源が入るとシステムリセットが掛かった時にCPUが起動する。CPUは図19の3301ブートロムを実行してストレージ装置から制御プログラムをロードする動作を行なう。このブートシーケンスのフローである。
【0090】
3402でまず主記憶装置をチェックする。記憶装置へのI/Fは様々ある。もちろんI/Fによりチェック方法は異なる。3403で主記憶装置が正常か否かの判断を行なう。正常ではない場合は3404で他のフローへ遷移する、この部分は後で述べる。主記憶装置が正常だった場合、3405で主記憶装置のファイルをメモリにロードする。このとき、図16で示した主記憶装置からのプログラムモジュールがメモリにロードされる。3406ではメモリ上のプログラムにジャンプすることで、ブートロムのプログラムから制御プログラムへとCPUの制御を移す。3002の共通モジュールのみを先にロードしておき、共通モジュールの中から3003モジュールA、3004モジュールBなどを逐次ロードする方法も一般的な方法である。
【0091】
(本システムのフロー)
図25に本システムのフローを記載する。
【0092】
以上説明してきたとおり、制御プログラムは通常主記憶装置に含まれる。主記憶装置が仮に故障した場合、システムが起動しなくなり復旧には多大な時間がかかる。
【0093】
この問題を解決するために、特許文献1は補助ブートプログラムを補助記憶装置上に圧縮して記録する方式を用いている。しかし、制御プログラムが大きいと補助記憶装置に入りきらない場合が考えられる。また、入れるためには大容量の補助記憶装置を用意する必要があり高価なものとなる。これを回避するために本実施例では、補助記憶装置に対して入れるモジュールの中から重要なモジュールのみを入れるという方法を行なう。
【0094】
補助記憶装置上に入れるモジュールを生成するプロセスを図25に示す。
【0095】
3901は非図示の補助記憶装置上の制御プログラムを更新するタイミングで呼ばれるフローである。3902はファーム更新イベント待ちである。例えば一定時間おきでも良いし、ユーザがメニューから指定したタイミングでも良い、また、新しい機能が有効になった時点でも良いし、新しい機能が有効となって一定時間経過した後でも良い。3903は図21のモジュール管理テーブルを参照して、重要な機能を画面に表示する図26である。ユーザはその設定で満足か否かを判断して満足だった場合は3906で終了する。3904で満足しなかった場合は3905でユーザが画面(図22)上で機能をカスタマイズすることが可能である。3906では補助記憶装置に対して主記憶装置が壊れた場合にブートするプログラムモジュールを記録する。
【0096】
以下に本フローで用いる各々の技術について説明していく。
【0097】
(前記主記憶装置に格納してある前記複数のモジュールに対して、プログラムサイズ、ワーク(メモリの使用容量、使用頻度等のステータスを蓄積していくモジュール管理手段)
図21に本実施例で用いるモジュール管理手段のデータ構造を示す。表の形式で説明を行なうが、実際はメモリ上にデジタルデータとして情報更新される。
【0098】
3501の第一列はモジュールの種類によって構成される。本実施例においてはモジュールA〜Dの4種類で説明を行なう。
【0099】
3502は各々のモジュールにおける重要度を記録しておくレコードである。
【0100】
仮に、
モジュールAはFAX機能と定義する。
【0101】
モジュールBはVNC機能と定義する。
【0102】
モジュールCはLIPS-PDLと定義する。
【0103】
モジュールDはPS-PDLと定義する。
【0104】
FAX機能とは電話回線やLAN回線を用いて、文書の仮想的な物理的転送を行なう機能である。多くのオフィスがFAX機能を使用している。VNC機能とは操作部をネットワークを介して遠隔表示・操作を行なうための機能である。LIPS-PDLはLIPS頁記述言語でかかれたプリンタ言語である。PC上のLIPSドライバが文書をLIPS言語に変換して送信してきたものをラスター画像に変換してプリント出力する。PS-PDLはPS規格に順ずる頁記述言語であり、LIPSと同様にプリント出力を行なう機能である。
【0105】
例えばMFPにおいてはFAX等の機能が故障することによりお客様の業務に影響が大きいと予想されるものに対しては高い重要度を設定しておく。またVNC等の機能がなくなったとしても重要ではないものに対しては低い重要度を設定する。
【0106】
3503は使用頻度を記録するレコードである。
【0107】
使用頻度はユーザが使用した頻度により決定する。正規化方法はいろいろ考えられる。プリントの出力に対しては、正規化用の使用回数テーブルを持ち、それに応じて頻度を決定するという方法が考えられるし、総出力枚数に対してプリンタ出力の割合を元に正規化することにより本MFPをユーザがコピーとして主に使用しているのか、プリンタとして主に使用しているかなどを正確にプログラムが把握することができる。
【0108】
例えばVNC等は10日中に何日使用されたかによって0〜10の値を取るという方法もある。VNCを毎日使っているユーザにとって毎日使用している場合は使用頻度が10となり、3502の機器としての重要度予測は1でも3503の使用頻度が10であり、ユーザにとって重用な機能であることが判断できる。
【0109】
3504のレコードは各々のモジュールのプログラムのメモリ上のサイズである。モジュールのファイルがバイナリ形式であればファイルサイズでも良いし、独自のフォーマットであればヘッダ部に常駐サイズを記載しておく事で取得可能である。これは図16の3007や3008の領域となる。
【0110】
3505はワークメモリの使用量である。3504のプログラムは実行するために必要とするメモリがあり、これをワークメモリと呼ぶ。C言語などにおいて代表的なものはmalloc()、new()などにより動的に確保するメモリなどであり、ヒープと呼ばれる共通メモリ領域から動的に確保してメモリを使用する。
【0111】
3506は機能名称のレコードである。3501のモジュールが持っている機能名称を入れておく。
【0112】
この情報は機能が使用されたときに更新され、ストレージ装置へと記録されることにより情報を常に蓄積していく。
【0113】
図26に3902で表示する画面の説明を行なう。
【0114】
4001は画面イメージである。4002は図21のモジュール管理テーブルから生成される画面で、主記憶装置が壊れた時に補助記憶装置から起動できます。という情報をユーザに示し、その際に、4002の機能が有効になり、4003の機能が無効になることを通知している。4006は複数部のジョブで実行可能な最大枚数を示す。3909はメモリイメージである。3910はプログラム領域であり、4002で有効となっているプログラムモジュールに対する、3504のプログラムサイズを合計した量である。3911はワーク領域であり、4003で無効となっているプログラムモジュールに対する、3505のワーク使用量を合計した量と3002の共通モジュールが使用する量である。残った領域は3912の画像を蓄積することが可能な領域となる。主記憶装置が壊れている場合、複数部の印刷を行なう場合に、印刷束の全頁の情報を一時的にどこかに蓄積する必要があるが、補助記憶装置が低速なデバイスの場合は印刷速度が出なくなる問題がある。また、補助記憶装置が書き込み回数に制限があるような場合、ワークとして書き込み頻度が高いとデバイス自体が故障する可能性もある。そのため、メモリ上に画像を一時保存する必要がある。しかし全ての機能を有効にするとメモリに頁画像領域が取れなくなるため、重要度と使用頻度の低いものは機能を落とすことにより原稿束の画像領域を増やす事が可能である。つまり、4006においては、4002と4003の結果により複数部印刷時に上記計算を行なってジョブが実行可能な枚数を通知する。
【0115】
(前記モジュール管理手段に従って、前記複数のモジュールから重要なモジュールを画面に表示し、その構成の時に余剰するメモリ容量を表示する手段)
(前記複数のモジュールをユーザが入力することが可能なユーザインターフェイス)
(前記メモリ容量から電子ソート可能な枚数を表示する手段)
図22に補助記憶装置のモジュール決定画面について説明する。
【0116】
フロー3903の図26において、4004のOKではなく、4005の編集を選択された場合、3905のフローに遷移し、図22の画面を出す。
【0117】
図22はユーザの機能選択画面である。
【0118】
3602列は全てのモジュールが有する機能を列挙する。図21における3506の列を使用することにより生成可能である。3601は各々の3602の機能が有効か否かをチェックする領域であり、ユーザが画面をタップすることにより有効・無効がトグル表示する事によりユーザが選択を自由に選べるようになっている。3603は各々の機能が必要とするメモリ量の通知である。これは図21の3504と3505を足すことにより計算した値が表示される。ユーザはプログラムサイズを気にする必要がないため合算した値を表示するのが好ましい。3604は重要度を通知する。これは図21の3505の列を高・中・低に正規化して表示する。3605は使用頻度である。これは図21の33506の列を高・中・低・未使用に正規化して表示する。
【0119】
3608は図25の3912のメモリ容量と、同じく3912から計算される頁メモリ枚数を通知する。
【0120】
ユーザはこの画面を用いて複数部のジョブを実行する際に電子ソート可能な枚数を確認しつつ機能の有効・無効を設定することができる。設定後は3607でキャンセル、3606のOKボタンで主記憶装置が壊れた時の補助記憶装置に入れるモジュールが決定する。
【0121】
補助記憶装置に入れるモジュールが決定すると図27の4101の補助記憶装置に対して図22で決定したモジュールをコピーする。
【0122】
図27は補助記憶装置とその起動時のメモリイメージを示す。
【0123】
4101は補助記憶装置であり、図17の3106の中を示す。補助記憶装置も3105と同様に論理パーティションを持ち、特定のファイルシステムを介してCPUはファイルとして制御プログラムを参照・保存することが可能である。
【0124】
4102は共通モジュールである。共通モジュールはユーザの選択に関わらずシステムを動作させるのに必要であるため常に入ることになる。4103、4104は図22で有効とされた機能のモジュールである。このように主記憶装置よりユーザがしていしたより重要な機能だけを選択して補助記憶装置に制御プログラムの構成を作成することが可能となる。
【0125】
(前記主記憶装置が使用できない場合に、前記副記憶装置からシステムを起動させる旨の表示を行い、ユーザの指示の元に第二ブート手段を発動させる手段)
図20のフローにおいて主記憶装置が故障した場合、3403で3404へと分岐する。この時に図24の表示を行なう。
【0126】
図24においてはユーザに主記憶装置が故障していることを通知し、補助記憶装置からブートすることを判断してもらう。YESの場合は、2401に制御を移す。
【0127】
(このフローは図20の続きなので、CPUが3301のブートロム内の動作フローである。)
3801で3106の補助記憶装置をチェックする。3802では補助記憶装置が正常か否かの判断を行なう。以上だった場合は3805でエラーを出力してブート処理を中断する。
【0128】
この補助記憶装置は主記憶装置の代わりに動作させる目的をもつのであれば、より壊れない構成にしておくことが好ましい。例えば壊れにくいシリコンプロセスの不揮発性メモリを用いても良いし、もっと信頼性を上げたいのであればさらにRAID-ミラーリングを行なうことによりより強固なものとなる。コストがかかるものなので起動システムの重要度に応じて構成を変える事が望ましい。
【0129】
多くの場合3802では正常となる。正常の場合は3803にて補助記憶装置上のファイル、4102、4103、4104、を各々4106、4107、4108のメモリ上にロードする。その後、4104でメモリ上のプログラム4106の共通モジュールのブート部に対してジャンプすることにより、機能が限定された補助プログラムが起動することが可能である。
【0130】
なお、図23は、実施例1の主記憶装置が壊れた時に出力する画面である。
【図面の簡単な説明】
【0131】
【図1】本発明に係わるデータ処理装置としてのデジタル複合機の1実施例形態を示すブロック構成図である。
【図2】デジタル複合機の内部構成図である。
【図3】本発明に係わる電子部品としてのコントローラ部の詳細を示すブロック構成図である。
【図4】メインコントローラの詳細を示すブロック構成図である。
【図5】操作部150の例を示す図である。
【図6】「連続読込モード」時の原稿読込設定画面の例を示す図である。
【図7】読込画像確認画面の例を示す図である。
【図8】連続読込コピー処理のフローチャートである。
【図9】原稿読込処理のフローチャートである。
【図10】蓄積画像確認(プレビュー)処理のフローチャートである。
【図11】制御装置内部のソフトウェア構造を示す図である。
【図12】ジョブ制御部の構造を示す図である。
【図13】文書管理部の管理構造を示す図である。
【図14】コピージョブの構成例を示す図である。
【図15】コピージョブ実行中の文書管理部との関係を抜粋した図である。
【図16】第一制御ソフトウエア構成
【図17】実施例1で用いるストレージ装置のブロック図
【図18】実施例1で用いるストレージ装置の外観図
【図19】実施例1で用いるCPU回りの詳細のブロック図
【図20】実施例1のブートシーケンスのフロー1
【図21】実施例1のモジュール管理手段
【図22】実施例1の機能カスタマイズの画面
【図23】実施例1の主記憶装置が壊れた時に出力する画面
【図24】実施例1のブートシーケンスのフロー2
【図25】実施例1の本実施例のフローとメモリイメージ
【図26】実施例1の有効機能を表示する画面
【図27】第二制御ソフトウエア構成

【特許請求の範囲】
【請求項1】
(a)複数のモジュールから成る第一制御ソフトウエア構成と、
前記第一制御ソフトウエア構成を格納するための主記憶装置と、
前記主記憶装置とは異なるプロセスで構成されている副記憶装置と、
前記主記憶装置からシステムを起動させる第一ブート手段と、
(b)前記主記憶装置に格納してある前記複数のモジュールに対して、各々のステータスを蓄積していくモジュール管理手段と、
(c)前記モジュール管理手段に従って、前記複数のモジュールから重要なモジュールを選択的に前記副記憶装置に記録する自動モジュールカスタマイズ手段と、
前記副記憶装置に記録された数のモジュールから成る第二制御ソフトウエア構成と、
(d)前記主記憶装置が使用できない場合に、前記副記憶装置からシステムを起動させる第二ブート手段を有することを特徴とするデジタル画像形成装置。
【請求項2】
(a)複数のモジュールから成る第一制御ソフトウエア構成と、
前記第一制御ソフトウエア構成を格納するための主記憶装置と、
前記主記憶装置とは異なるプロセスで構成されている副記憶装置と、
前記主記憶装置からシステムを起動させる第一ブート手段と、
(b2)前記主記憶装置に格納してある前記複数のモジュールに対して、プログラムサイズ、ワークメモリの使用容量、使用頻度のステータスを蓄積していくモジュール管理手段と、
(c)前記モジュール管理手段に従って、前記複数のモジュールから重要なモジュールを選択的に前記副記憶装置に記録する自動モジュールカスタマイズ手段と、
前記副記憶装置に記録された数のモジュールから成る第二制御ソフトウエア構成と、
(d)前記主記憶装置が使用できない場合に、前記副記憶装置からシステムを起動させる第二ブート手段を有することを特徴とするデジタル画像形成装置。
【請求項3】
(a)複数のモジュールから成る第一制御ソフトウエア構成と、
前記第一制御ソフトウエア構成を格納するための主記憶装置と、
前記主記憶装置とは異なるプロセスで構成されている副記憶装置と、
前記主記憶装置からシステムを起動させる第一ブート手段と、
(b)前記主記憶装置に格納してある前記複数のモジュールに対して、プログラムサイズ、ワークメモリの使用容量、使用頻度のステータスを蓄積していくモジュール管理手段と、
(c2)前記モジュール管理手段に従って、前記複数のモジュールから重要なモジュールを画面に表示し、その構成の時に余剰するメモリ容量を表示する手段と、
前記複数のモジュールをユーザが入力することが可能なユーザインターフェイスと、
前記副記憶装置に記録された数のモジュールから成る第二制御ソフトウエア構成とその作成手段と、
(d)前記主記憶装置が使用できない場合に、前記副記憶装置からシステムを起動させる第二ブート手段を有することを特徴とするデジタル画像形成装置。
【請求項4】
(a)複数のモジュールから成る第一制御ソフトウエア構成と、
前記第一制御ソフトウエア構成を格納するための主記憶装置と、
前記主記憶装置とは異なるプロセスで構成されている副記憶装置と、
前記主記憶装置からシステムを起動させる第一ブート手段と、
(b)前記主記憶装置に格納してある前記複数のモジュールに対して、各々のステータスを蓄積していくモジュール管理手段と、
(c)前記モジュール管理手段に従って、前記複数のモジュールから重要なモジュールを選択的に前記副記憶装置に記録する自動モジュールカスタマイズ手段と、
前記副記憶装置に記録された数のモジュールから成る第二制御ソフトウエア構成とその作成手段と、
(d2)前記主記憶装置が使用できない場合に、前記副記憶装置からシステムを起動させる旨の表示を行い、ユーザの指示の元に第二ブート手段を発動させる手段
を有することを特徴とするデジタル画像形成装置。
【請求項5】
(a)複数のモジュールから成る第一制御ソフトウエア構成と、
前記第一制御ソフトウエア構成を格納するための主記憶装置と、
前記主記憶装置とは異なるプロセスで構成されている副記憶装置と、
前記主記憶装置からシステムを起動させる第一ブート手段と、
(b2)前記主記憶装置に格納してある前記複数のモジュールに対して、プログラムサイズ、ワークメモリの使用容量、使用頻度のステータスを蓄積していくモジュール管理手段と、
(c2)前記モジュール管理手段に従って、前記複数のモジュールから重要なモジュールを画面に表示し、その構成の時に余剰するメモリ容量を表示する手段と、
前記複数のモジュールをユーザが入力することが可能なユーザインターフェイスと、
前記副記憶装置に記録された数のモジュールから成る第二制御ソフトウエア構成とその作成手段と、
(d2)前記主記憶装置が使用できない場合に、前記副記憶装置からシステムを起動させる旨の表示を行い、ユーザの指示の元に第二ブート手段を発動させる手段
を有することを特徴とするデジタル画像形成装置。
【請求項6】
(a)複数のモジュールから成る第一制御ソフトウエア構成と、
前記第一制御ソフトウエア構成を格納するための主記憶装置と、
前記主記憶装置とは異なるプロセスで構成されている副記憶装置と、
前記主記憶装置からシステムを起動させる第一ブート手段と、
(b2)前記主記憶装置に格納してある前記複数のモジュールに対して、プログラムサイズ、ワークメモリの使用容量、使用頻度のステータスを蓄積していくモジュール管理手段と、
(c3)前記モジュール管理手段に従って、前記複数のモジュールから重要なモジュールを画面に表示し、その構成の時に余剰するメモリ容量を表示する手段と、
前記複数のモジュールをユーザが入力することが可能なユーザインターフェイスと、
前記メモリ容量から電子ソート可能な枚数を表示する手段と、
前記副記憶装置に記録された数のモジュールから成る第二制御ソフトウエア構成とその作成手段と、
(d2)前記主記憶装置が使用できない場合に、前記副記憶装置からシステムを起動させる旨の表示を行い、ユーザの指示の元に第二ブート手段を発動させる手段
を有することを特徴とするデジタル画像形成装置。
【請求項7】
(a2)複数のモジュールから成る第一制御ソフトウエア構成と、
前記第一制御ソフトウエア構成を格納するための主記憶装置と、
前記主記憶装置とは異なるプロセスで構成されている副記憶装置と、
前記主記憶装置からシステムを起動させる第一ブート手段と、
前記主記憶装置と前記副記憶装置が同一の装置内にあると共に、
(b2)前記主記憶装置に格納してある前記複数のモジュールに対して、プログラムサイズと、ワークメモリの使用容量、使用頻度のステータスを蓄積していくモジュール管理手段と、
(c3)前記モジュール管理手段に従って、前記複数のモジュールから重要なモジュールを画面に表示し、その構成の時に余剰するメモリ容量を表示する手段と、
前記複数のモジュールをユーザが入力することが可能なユーザインターフェイスと、
前記メモリ容量から電子ソート可能な枚数を表示する手段と、
(d2)前記主記憶装置が使用できない場合に、前記副記憶装置からシステムを起動させる旨の表示を行い、ユーザの指示の元に第二ブート手段を発動させる手段
を有することを特徴とするデジタル画像形成装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate


【公開番号】特開2009−151464(P2009−151464A)
【公開日】平成21年7月9日(2009.7.9)
【国際特許分類】
【出願番号】特願2007−327563(P2007−327563)
【出願日】平成19年12月19日(2007.12.19)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FRAM
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】