(57)【要約】【課題】  現在多くの機器はプログラムをハードディスク等のストレージ装置上に持つ。ハードディスクは故障率が多く、故障してしまうと動作が停止しかねない。一方、画像複写装置業界では機器故障によるダウンタイムは重要な課題になりつつある。【解決手段】  ストレージ装置上の異常が検出され、ブート不能と判断した際に、ネットワーク上からブートプログラムをダウンロードして動作する。【選択図】  図１９
2007028183.tif 000002
【特許請求の範囲】
【請求項１】
一枚以上の画像データを蓄積することが可能なローカルストレージ装置を同一筐体内に有する画像複写装置において、
前記ローカルストレージ装置の故障を検出する故障検出手段、
前記故障検出手段よりブート不能と判断するブート不能判断手段、
複数のブートプログラムのロケーションを記憶する、ブートロケーション郡記憶手段、
第一ブートロケーション記憶手段に従い第一優先順位で起動する、第二ブートロケーション記憶手段に従い第二優先順位で起動する、第ｎブートロケーション記憶手段に従い第ｎ優先順位で起動するブートシーケンス手段、
前記第一のブートロケーション記憶手段の初期設定値をローカルストレージ上に設定する第一ブートロケーション記憶手段の初期値、
前記第一のブートロケーション記憶手段が指示している前記ローカルストレージ装置の故障を検出した際、前記第二のブートロケーション記憶手段に設定された経路上から、ブートプログラムをメモリ上にロードして実行する手段を具備することを特徴とする画像複写装置。
【請求項２】
請求項１におけるブートロケーションが、ネットワーク上のストレージ装置であることを特徴とする画像複写装置。
【請求項３】
請求項１におけるブートロケーションが、ネットワーク常に接続された自分と同じ機種の画像複写装置であることを特徴とする画像複写装置。
【請求項４】
請求項１におけるブートロケーションが、ネットワークに接続された自分のファームウエアをダウンロードするためのホームページであることを特徴とする画像複写装置。
【請求項５】
一枚以上の画像データを蓄積することが可能なローカルストレージ装置を同一筐体内に有する画像複写装置において、
自分が接続されているネットワークに対してブロードキャストを行い、自分と同じ機種を見つけ出して把握する同機種検出手段、
前記ローカルストレージ装置の故障を検出する故障検出手段、
前記故障検出手段よりブート不能と判断するブート不能判断手段、
複数のブートプログラムのロケーションを記憶する、ブートロケーション郡記憶手段、
第一ブートロケーション記憶手段に従い第一優先順位で起動する、第二ブートロケーション記憶手段に従い第二優先順位で起動する、第ｎブートロケーション記憶手段に従い第ｎ優先順位で起動するブートシーケンス手段、
前記第一のブートロケーション記憶手段の初期設定値をローカルストレージ上に設定する第一ブートロケーション記憶手段の初期値、
前記同機種検出手段により得られたロケーション情報を第二のブートロケーション記憶手段の初期値に設定する自動第二ブートロケーション設定手段、
前記第一のブートロケーション記憶手段が指示している前記ローカルストレージ装置の故障を検出した際、前記第二のブートロケーション記憶手段に設定された経路上から、ブートプログラムをメモリ上にロードして実行する手段を具備することを特徴とする画像複写装置。
【請求項６】
請求項５におけるブートロケーションが、ネットワーク上のストレージ装置であることを特徴とする画像複写装置。
【請求項７】
請求項５におけるブートロケーションが、ネットワーク常に接続された自分と同じ機種の画像複写装置であることを特徴とする画像複写装置。
【請求項８】
請求項５におけるブートロケーションが、ネットワークに接続された自分のファームウエアをダウンロードするためのホームページであることを特徴とする画像複写装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一枚以上の画像データを記憶することが可能なストレージ装置を有する画像複写装置に関して有効である。
【背景技術】
【０００２】
従来の画像複写装置はブートプログラムが保存されている同一筐体内のローカルストレージ装置がなんらかの原因で故障した場合、起動しないという状況に陥っていた。
【０００３】
又、従来例としては、例えば特許文献１をあげることが出来る。
【特許文献１】特開２０００−２５０８７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
近年、装置のダウンタイムの改善が大きな課題となりつつあり、この改善が求められている。
【課題を解決するための手段】
【０００５】
本実施例では、ローカルストレージ装置の故障を検出し、スタンドアロンでブート不能と判断した場合、ネットワーク上からブートプログラムをロードして起動することが可能となる。
【０００６】
複数のブートプロラムのロケーションの記憶手段を持ち、自分と同機種をネットワーク上から自動的に検出し、故障発生時に自動的に選択起動を行う。また、ネットワーク上に静的に配置されたストレージ、メーカの公式のホームページ等も設定することが可能である。
【発明の効果】
【０００７】
本発明によれば、ローカルに搭載されているハードディスク装置が無い場合でも、ネットワーク上からブートプログラムを自動的に取ってきてブートすることが可能となる。これにより、ストレージ装置が故障した場合でもブートすることが可能となり、ダウンタイムの低下を実現することが可能となる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態を図面を参照して説明する。
【０００９】
図１は本発明に係る電子部品としてのコントローラ部が搭載された画像入出力装置（データ処理装置）の一実施の形態を示すブロック構成図であって、該画像入出力装置１００は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）６００にてホストコンピュータ（本実施の形態では第一のホストコンピュータ６０１、第二のホストコンピュータ６０２）に接続されている。
【００１０】
上記画像入出力システム１００は、画像データの読取処理を行うリーダ装置（リーダー部）２００と、画像データの出力処理を行うプリンタ装置（プリンタ部）３００と、画像データの入出力操作を行うキーボード、及び画像データや各種機能の表示／設定などを行う液晶パネルを備えた操作部１５０と、リーダー装置２００を制御して読み込んだ画像データや、ＬＡＮ６００を介してホストコンピュータ６０１、６０２より受信したコードデータから生成される画像データを格納／保存できる画像記憶部１６０を装着し、これら各構成要素に接続されて該構成要素を制御する単一の電子部品からなる制御装置（コントローラ部）１１０で構成されている。
【００１１】
リーダー装置２００は、原稿用紙を搬送する原稿給紙ユニット２５０と、原稿画像を光学的に読み取って電気信号としての画像データに変換するスキャナユニット２１０とを有し、プリンタ装置３００は、記録用紙を収容する複数段の給紙カセットを備えた給紙ユニット３１０と、画像データを記録用紙に転写／定着するマーキングユニット(部)３２０と、印字された記録用紙にソート処理やステイプル処理を施し、外部に排出する排紙ユニット（部）３３０とを有している。
【００１２】
制御装置１１０は、リーダー部２００を制御して、原稿の画像データを読込み、プリンタ部３００を制御して画像データを記録用紙に出力してコピー機能を提供する。また、リーダー部２００から読取った画像データを、コードデータに変換し、ネットワーク６００を介してホストコンピュータ６０１，６０２へ送信するスキャナ機能、ホストコンピュータからネットワーク６００を介して受信したコードデータを画像データに変換し、プリンタ部３００に出力するプリンタ機能、その他の機能ブロックを有している。
【００１３】
図２はリーダ部２００及びプリンタ部３００の詳細を示す断面図である。
【００１４】
リーダー部２００では、原稿給送ユニット２５０に積層された原稿用紙がその積層順に従って、先頭から順次１枚ずつプラテンガラス２１１上へ給送され、スキャナユニット２１０で所定の読み取り動作が終了した後、読み取られた原稿用紙は、プラテンガラス２１１上の原稿を排出トレイ２１９に排出される。また、原稿用紙がプラテンガラス２１１上に搬送されると、ランプ２１２を点灯し、次いで光学ユニット２１３の移動を開始させ、原稿用紙を下方から照射し走査する。そして、原稿用紙からの反射光は、複数のミラー２１４、２１５、２１６、及び、レンズ２１７を介してＣＣＤイメージセンサ(以下「ＣＣＤ」と記す)２１８へ導かれ、走査された原稿画像はＣＣＤ２１８によって読み取られる。ＣＣＤ２１８で読み取られた画像データは、所定の処理が施された後、コントローラユニット１１０に転送される。
【００１５】
原稿給送ユニット２５０が原稿流し読み機能を有している場合、原稿給送部２５０に積層された原稿用紙は、原稿流し読み位置２４０を一定の速度で通過する。この場合、光学ユニット２１３は原稿流し読み位置２４０に移動し、等速で搬送される原稿をランプ２１２によって照射し、ＣＣＤ２１８によって随時読み取ることで画像データを生成し、コントローラユニット１１０に転送される。
【００１６】
次いで、プリンタ部３００では、コントローラ部１１０から出力された画像データに対応するレーザ光が、レーザドライバ３２１により駆動されるレーザ発行部３２２から発行され、感光ドラム３２３にはレーザ光に応じた静電潜像が形成され、現像器３２４により前記静電潜像の部分に現像剤が付着される。
【００１７】
一方、レーザ光の照射開始と同期したタイミングで、カセット３１１、カセット３１２、カセット３１３、カセット３１４、手差し給紙段３１５のいずれかから記録用紙が給紙されて転写部３２５に搬送路３３１により搬送され、感光ドラム３２３に付着している現像剤を記録用紙に転写する。画像データが転写された記録用紙は搬送ベルト３２６によって、定着部３２７に搬送され、定着部３２７における加熱・加圧処理により画像データが記録紙に定着される。定着部３２７を通過した記録紙は搬送路３３５、搬送路３３４を通り、排紙ビン３２８に排出される。印字面を反転して排紙ビン３２８に排出する場合には、搬送路３３６、搬送路３３８まで導かれ、そこから記録紙を逆方向に搬送し、搬送路３３７、搬送路３３４を通り、排紙ビン３２８に排出される。図に記していないが、排紙ビンの変わりに、排紙ユニットを装着することが可能で、排紙ユニットは排出された記録用紙を束ねて記録用紙の仕分け、仕分けされた記録用紙のステイプル処理などを行うことができる。
【００１８】
また、画像データを記録用紙に両面記録する場合は、定着部３２７を通過したあと、記録紙は、搬送路３３６からフラッパ３２９によって搬送路３３３に導かれ、その後、記録紙を逆方向に搬送し、フラッパ３２９によって搬送路３３８、再給紙搬送路３３２へ導かれる。再給紙搬送路３３２へ導かれた記録紙は上述と同様にして搬送路３３１を通り、転写部３２５へ給紙される。
【００１９】
図３は制御装置（コントローラ部）１１０の詳細を示すブロック図である。
すなわち、メインコントローラ１１１は、ＣＰＵ１１２と、バスコントローラ１１３と、後述する各種コントローラ回路を含む機能ブロックを内蔵すると共に、ＲＯＭ  Ｉ／Ｆ１１５を介してＲＯＭ１１４と接続され、ＤＲＡＭ  Ｉ／Ｆ１１７を介してＤＲＡＭ１１６と接続され、コーデックＩ／Ｆ１１８を介してコーデック１１９と接続され、また、ネットワークＩ／Ｆ１２３を介してネットワークコントローラ１２１と接続され、コネクタ１２２によりＬＡＮ６００との間で所定の制御動作を行う。
【００２０】
ＲＯＭ１１４は、メインコントローラ１１１のＣＰＵ１１２で実行される各種制御プログラムや演算データが確認されている。ＤＲＡＭ１１６は、ＣＰＵ１１２が動作するための作業領域や画像データを蓄積するための領域として使用される。コーデック１１９はＤＲＡＭ１１６に蓄積されたラスターイメージデータをＭＨ／ＭＲ／ＭＭＲ／ＪＢＩＧなどの周知の圧縮方式で圧縮し、また圧縮されたデータをラスターイメージに伸長する。また、コーデック１１９にはＳＲＡＭ１２０が接続されており、該ＳＲＡＭ１２０は前記コーデック１１９の一時的な作業領域として使用される。
【００２１】
また、前記メインコントローラ１１１はスキャナバス１４１を介してスキャナＩ／Ｆ１４０に接続され、プリンタバス１４６を介してプリンタＩ／Ｆ１４５に接続され、さらにＰＣＩバス等の汎用高速バス１２５を介して拡張ボードを接続するための拡張コネクタ１２４及び入出力制御部（Ｉ／Ｏ制御部）１２６に接続されている。
【００２２】
Ｉ／Ｏ制御部１２６はリーダ部２００やプリンタ部３００との間で制御コマンドを送受信するための調歩同期式のシリアル通信コントローラ１２７が２チャンネル装備されており、該シリアル通信コントローラ１２７はＩ／Ｏバス１２８を介してスキャナＩ／Ｆ１４０及びプリンタＩ／Ｆ１４５に接続されている。
【００２３】
スキャナＩ／Ｆ１４０は、第一の調歩同期シリアルＩ／Ｆ１４３及び第一のビデオＩ／Ｆ１４４を介してスキャナコネクタ１４２に接続され、さらに該スキャナコネクタ１４２はリーダ部２００のスキャナユニット２１０に接続されている。そして、スキャナＩ／Ｆ１４０はスキャナユニット２１０から受信した画像データに対し所望の２値化処理や、主走査方向及び／又は副走査方向の変倍処理を行い、またスキャナユニット２１０から送られてきたビデオ信号に基づいて制御信号を生成し、スキャナバス１４１を介してメインコントローラ１１１に画像データを転送する。
【００２４】
また、プリンタＩ／Ｆ１４５は、第２の調歩同期シリアルＩ／Ｆ１４８及び第2のビデオＩ／Ｆ１４９を介してプリンタコネクタ１４７に接続され、さらに該プリンタコネクタ１４７はプリンタ部３００のマーキングユニット３２０に接続されている。そして、プリンタI/F１４５はメインコントローラ１１１から出力された画像データにスムージング処理を施して該画像データをマーキングユニット３２０に出力し、さらにマーキングユニット３２０から送られたビデオ信号に基づいて、生成された制御信号をプリンタバス１４６に出力する。
【００２５】
そして、ＣＰＵ１１２は、ＲＯＭ１１４からＲＯＭＩ／Ｆ１１５を介して読み込まれた制御プログラムに基づいて動作し、例えば、第1及び第2のホストコンピュータ６０１、６０２から受信したＰＤＬ（ページ記述言語）データを解釈し、ラスターイメージデータに展開処理を行う。
【００２６】
また、バスコントローラ１１３は、スキャナＩ／Ｆ１４０プリンタＩ／Ｆ１４５、その他拡張コネクタ１２４等に接続された外部機器から入出力されるデータ転送を制御するものであり、バス競合時のアービトレーション（調停）やＤＭＡデータ転送の制御を行う。即ち、例えば、上述したＤＲＡＭ１１６とコーデック１１９との間のデータ転送や、スキャナユニット２１０からＤＲＡＭ１１６へのデータ転送、ＤＲＡＭ１１６からマーキングユニット３２０へのデータ転送等は、バスコントローラ１１３によって制御され、ＤＭＡ転送される。
【００２７】
また、Ｉ／Ｏ制御部１２６は、ＬＣＤコントローラ１３１及びキー入力Ｉ／Ｆ１３０を介してパネルＩ／Ｆ１３２に接続され、パネルＩ／Ｆ１３２は操作部１５０に接続されている。また、前記Ｉ／Ｏ制御部１２６は不揮発性メモリとしてのＥＥＰＲＯＭ１３５に接続され、またＥ−ＩＤＥコネクタ１６１を介して画像データの書き込み／読み出しが可能なハードディスクドライブ（ＨＤＤ）１６２に接続され、さらに、機器内で管理する日付と時刻を更新／保存するリアルタイムクロックモジュール１３３に接続されている。尚、リアルタイムクロックモジュール１３３はバックアップ用電池１３４に接続されて該バックアップ用電池１３４によりバックアップされている。
【００２８】
図４はメインコントローラ１１１の内部詳細を示すブロック構成図である。
【００２９】
プロセッサコア４０１は、６４ビットのプロセッサバス（ＳＣバス）を介して、システム・バス・ブリッジ(ＳＢＢ)４０２に接続される。ＳＢＢ４０２は４×４の６４ビットクロスバスイッチであり、プロセッサコア４０１の他に、キャッシュメモリを備えたＳＤＲＡＭやＲＯＭを制御するメモリコントローラ４０３と専用のローカルバス（ＭＣバス）で接続されており、さらに、グラフィックバスであるＧバス４０４、ＩＯバスであるＢバス４０５と接続され、全部で４つのバスに接続される。ＳＢＢ４０２は、これら４モジュール間を、可能な限り同時平行接続を確保することができるように設計されている。また、データの圧縮伸張ユニット（ＣＯＤＥＣ）４１８とも、ＣＯＤＥＣ  Ｉ／Ｆを介して接続されている。
【００３０】
Ｇバス４０４はＧバスアービタ（ＧＢＡ）４０６により協調制御されており、スキャナやプリンタと接続するためのスキャナ/プリンタコントローラ（ＳＰＣ）４０８に接続される。また、Ｂバス４０５は、Ｂバスアービタ（ＢＢＡ）４０７により協調制御されており、ＳＰＣ４０８のほか、電力管理ユニット（ＰＭＵ）４０９、インタラプトコントローラ（ＩＣ）４１０、ＵＡＲＴを用いたシリアルインタフェースコントローラ（ＳＩＣ）４１１、ＵＳＢコントローラ４１２、ＩＥＥＥ１２８４を用いたパラレルインタフェースコントローラ（ＰＩＣ）４１３、ＬＡＮコントローラ（ＬＡＮＣ）４１４、汎用入出力コントローラ（ＭＩＳＣ）４１５、ＰＣＩバスインタフェース（ＰＣＩＣ）４１６にも接続されている。
Ｂバスアービタ４０７はＢバス４０５を協調制御するアービトレーションであり、Ｂバス４０５のバス使用要求を受け付け、調停の後、使用許可が選択された一つのマスタに与えられ、これにより同時に２つ以上のマスタがバスアクセスを行うのを禁止している。尚、アービトレーション方式は３段階の優先権を有し、それぞれの優先権に複数のマスタが割り当てられる。
【００３１】
インタラプトコントローラ４１０は、上述した各機能ブロック及びコントローラユニット１１０の外部からインタラプトを集積し、ＣＰＵ４０１がサポートするコントローラ類４０８、４１１−４１６及びノンマスカブルインタラプト（ＮＭＩ）に再配分する。
【００３２】
電力管理ユニット４０９は機能ブロック毎に電力を管理し、さらに１チップで構成されている電子部品としてコントローラユニット１１０の消費電力量の監視を行う。すなわち、コントローラユニット１１０は、ＣＰＵ４０１を内蔵した大規模なＡＳＩＣ（特定用途向けＩＣ）で構成されており、このため全ての機能ブロックが同時に動作すると大量の熱を発生して、コントローラ部１１０自体が破壊されてしまう虞がある。
【００３３】
そこで、このような事態を防止するために各に機能ブロック毎に消費電力を管理し、各機能ブロックの消費電力量はパワーマネージメントレベルとして電力管理ユニット４０９に集積される。そして、該電力管理ユニット４０９では各機能ブロックの消費電力量を合計し、該消費電力量が限界消費電力を超えないように各機能ブロックの消費電力量を一括して監視する。
【００３４】
Ｇバスアービタ４０６は中央アービトレーション方式によりＧバス４０４を協調制御しており、各バスマスタに対して専用の要求信号と許可信号とを有する。尚、バスマスタへの優先権の付与方式として、全てのバスマスタを同じ優先権として、公平にバス権を付与する公平アービトレーションモードといずれか一つのバスマスタに対して優先的にバスを使用させる優先アービトレーションモードのいずれかを指定することができる。
【００３５】
図５は、操作部１５０の例を示す図である。
【００３６】
５００は、ユーザーインターフェイスであり、種々のコピーモード（例えば、両面設定、グループ、ソート、ステイプル出力等）を設定することが可能である。なお、これらのコピーモード設定手段は、ハードキーであっても、タッチパネルに表示されるソフトキーであっても良い。５０１は、スタートボタンで、このボタンが押されたことを契機にコピー処理が開始される。
【００３７】
図６は、スタートボタン５０１押下によりコピー処理が開始された後に、コピーモードとして、原稿の読取り蓄積を繰り返し行う「連続読込モード」が選択されたときにユーザーインターフェース５００に表示される原稿読込設定画面５０２の例である。原稿読込設定画面５０２には、それまで読み込んだ画像を表示されるモードに入るための「確認」ボタン５０３と、それまで読み込んだ画像を一括出力するための「読込終了」ボタン５０４が備えられている。
【００３８】
図７は、原稿読込設定画面５０２で「確認」ボタン５０３が押下されたときに表示される読込画像確認画面で、５０５の領域にはそれまでに蓄積された画像の総ページ数および表示中のページ番号が表示される。５０６および５０７は、蓄積された画像のページを移動させる「ページ移動」ボタンで、５０６を押下すると前ページに、５０７を押下すると次ページに移動する。５０８および５０９は、確認用画像の拡大／縮小表示を行うための「拡大／縮小」ボタンで、５０８を押下すると確認用画像は縮小表示され、５０９を押下すると確認用画像は拡大表示される。５１０は、蓄積画像確認画面で、５０５に表示されているページの内容が表示される。５１１は「再読込」ボタンで、「再読込」ボタン５１１が押下されるとそのときに表示されていたページを記憶し、画像確認画面をクローズする。画像確認画面がクローズされると５０２の原稿読込設定画面に戻り原稿読込が可能になる。このとき、原稿読込は再読込モードで実行される。５１２は「閉じる」ボタンで、「閉じる」ボタン５１２が押下されると画像確認画面はクローズされる。原稿確認画面がクローズされると５０２の原稿読込設定画面に戻り原稿読込が可能になる。このとき、原稿読込は連続読込モードで実行される。
【００３９】
なお、上述の連続読込モードとは、読込んだ画像データが蓄積記憶された最後尾（最終画像）から再度画像データの蓄積記憶を行い、処理中に蓄積記憶された全画像データを１組の画像データとして扱うことを意味し、再読込モードとは、蓄積記憶された特定の画像データを、新たに読み込んだ画像データに置き換えることを意味する。また、何れの場合も原稿読込み指示はスタートボタン５０１押下により行われる。
【００４０】
図８は、連続読込コピー処理のフローチャートである。
【００４１】
Ｓ１００１では、スタートボタン５０１が押下されたことによるスタート指示がされたか否かを判別する。スタートボタン５０１が押下されていない場合はスタートボタン５０１が押下されるまでその判別を繰り返す。スタートボタン５０１が押下された場合はＳ１００２に進み、「連続読込モード」が選択されたかの確認を行う。Ｓ１００２にて「連続読込モード」が設定されていない場合、Ｓ１０１２に進み、通常のコピー処理を行い処理を終了する。「読込画像確認モード」が設定された場合、Ｓ１００３に進み、自動紙送り装置（ＤＦ）にセットされた原稿束の読込み、または、圧板上に置かれた原稿の読込みを行う原稿読込処理を実行する。処理が終了すると操作部１５０による指示が可能になる。Ｓ１００４では、画像記憶部１６０に蓄積された画像確認処理（プレビュー処理）の指示がされたか否かを判別する。画像確認処理実行が指示された場合、Ｓ１００５に進み画像確認処理（プレビュー処理）を行い、その後Ｓ１００６に進む。画像確認処理実行の指示が無い場合はＳ１００６に進む。Ｓ１００６では、「再読込」が指示されたか否かを判別する。再読込の指示はＳ１００５のプレビュー処理内で行われ、再読込の指示がされると、再読込の対象となるページの画像格納場所が記憶さる。再読込が指示されるとＳ１００７に進み、再読込の指示がされない場合はＳ１００８に進む。Ｓ１００７では、再読込指示がされた時に記憶されたページの画像データ破棄（削除）処理を実行する。その後、Ｓ１００３に戻り原稿読込処理を実行し、再読込み対象ページの画像データを置き換える。なお、原稿読込処理Ｓ１００３は、自動紙送り装置（ＤＦ）にセットされた全原稿の読込処理、圧板上に置かれた原稿の読込み処理の他、自動紙送り装置にセットされた原稿から指定枚数の読込処理を行うことが可能で、再読込み時は、読込枚数が１ページという指定がされる。Ｓ１００８は、連続読込処理中止の指示の判別を行う。Ｓ１００８で中止の指示があった場合はＳ１００９に進み、それまで読込蓄積した画像データの全てを破棄する読込画像破棄処理Ｓ１００９を実行した後、コピー処理を終了する。Ｓ１００８で中止の指示が無い場合はＳ１０１０に進む。Ｓ１０１０では読込終了指示の判別を行う。Ｓ１０１０で読込終了が指示された場合Ｓ１０１１に進み、それまで読込んだ画像データを全て印刷する読込画像印刷処理を実行した後、コピー処理を終了する。Ｓ１０１０で読込終了が支持されない場合はＳ１０１３に進み読込指示の判別を行う。Ｓ１０１３で読込の指示があった場合、Ｓ１００３に戻り原稿読込処理を実行する。Ｓ１０１３で読込の指示が無い場合はＳ１００４に戻る。つまり、操作部１６０による指示が何も無いときは、画像確認、再読込、中止、読込終了、読込の何れかの指示待ちになる。
【００４２】
図９は、原稿読込処理のフローチャートである。
【００４３】
Ｓ２００１では、自動紙送り装置（ＤＦ）の状態の判別を行う。ＤＦがオープンの時はＳ２００６に進み、圧板からの原稿読込処理を行い処理を終了する。ＤＦがクローズの時はＳ２００２に進み、ＤＦに原稿がセットされているか否かの判別を行う。ＤＦに原稿がセットされていない場合はＳ２００６に進み、圧板からの原稿読込処理を行い処理を終了する。ＤＦに原稿がセットされている場合はＳ２００３に進み、再読込処理が指示されているか否かの判別を行う。Ｓ２００３にて再読込が指示されていると判別した場合はＳ２００４に進み、ＤＦにセットされた原稿から１ページだけ画像を読込み処理を終了する。Ｓ２００３にて再読込が指示されていないと判別した場合はＳ２００５に進み、ＤＦにセットされた原稿の全ページの読込み処理を行い処理を終了する。
【００４４】
図１０は、蓄積画像確認（プレビュー）処理のフローチャートである。
【００４５】
Ｓ３００１では、蓄積画像の確認を行う画像格納先の指定がされているかの判別を行う。連続読込コピー処理で繰り返し読込まれる画像データは、実行中の連続読込コピー処理が使用している画像格納先である文書管理部９００のジョブ管理部９０２配下に管理されており、ジョブ管理部９０２を指定することで、それまでに読込蓄積した画像データの先頭ページから最終ページまでたどることが可能なように管理されている。Ｓ３００１で指定が無い場合は処理を終了する。つまり、プレビュー処理は実行されない。Ｓ３００１で指定があった場合はＳ３００２に進み蓄積された画像の先頭ページを特定する。Ｓ３００３では蓄積されている画像データから、蓄積画像確認画面５１０に表示する画像データの生成を行う。本実施例では、蓄積画像確認画面５１０に表示する直前に画像データの生成を行っているが、原稿読込蓄積時に蓄積画像確認画面表示用の画像データを生成し、オリジナル画像と対応付けて外部記憶部１６０に格納しておいても良い。Ｓ３００４では、Ｓ３００３で生成された画像データを蓄積画像確認画面５１０に表示する。Ｓ３００５は入力指示待ちで、入力指示をループして待っている。Ｓ３００６では次ページを表示する指示がされたかの判別を行い、次ページ表示の指示がされた場合はＳ３００７に進む。Ｓ３００７では蓄積されている画像データの最後尾かを判別し、最後尾であった場合はＳ３００５に戻り再度入力指示待ちになる。Ｓ３００７で最後尾で無いと判別した場合、Ｓ３００３に進み特定されたページの蓄積画像確認画面表示用の画像データの生成を行い処理を繰り返す。Ｓ３００８では、前ページ表示の指示がされたかの判別を行う。前ページ表示の指示がされた場合はＳ３００９に進み、蓄積されている画像データの先頭かの判別を行う。先頭と判別した場合はＳ３００５に戻り再度入力指示待ちになる。先頭で無いと判別した場合、Ｓ３００３に進み特定されたページの蓄積画像確認画面表示用の画像データの生成を行い処理を繰り返す。Ｓ３０１０では蓄積画像確認画面５１０に表示されている画像を縮小表示する指示がされたかの判別を行う。縮小表示が指示されたと判別した場合はＳ３００３に進み特定されたページの蓄積画像確認画面表示用の画像データの生成を行い処理を繰り返す。縮小表示の指示が無い場合Ｓ３０１１に進み、拡大表示の指示がされたかの判別を行う。Ｓ３０１１で拡大表示の指示がされたと判別した場合は指定された場合Ｓ３００３に進み特定されたページの蓄積画像確認画面表示用の画像データの生成を行い処理を繰り返す。拡大表示の指示が無い場合Ｓ３０１２に進み、画像再読込の指示がされたか判別を行う。Ｓ３０１２で画像再読込の指示がされた場合、Ｓ３０１３に進み、現在表示されているページが文書管理部９００のどこで管理されているか等を特定する識別情報を記憶（保持）し処理を終了する。ここで保持された情報が前述の画像読込処理に伝わり、再読込処理が実行される。Ｓ３０１２で再読込の指示が無い場合Ｓ３００５に戻り入力指示待ちとなる。
【００４６】
図１１は、制御装置１１０の内部ソフトウェア構造を示す図である。７００はコントローラソフトウェアであり、その中はプロトコル解釈部７０１、ジョブ制御部７０２、デバイス部７０３で構成されている。プロトコル解釈部７０１はホストコンピュータ６０１や、操作部１５０から、各インタフェース（４１１−４１４）を介して送られてきたコマンド（プロトコル）を解釈し、ジョブ制御部７０２に対してジョブの実行を依頼する。ジョブ制御部７０２は、プロトコル解釈部の依頼に基づき種々のジョブを実行する。デバイス部７０３は、画像入出力システム１００を構成する各ユニットを制御するドライバソフトを含み、ジョブ制御部７０２がジョブを実行する際に使用される。
【００４７】
図１２は、ジョブ制御部７０２の構造を示す図である。
【００４８】
同図において７００はコントローラソフトウェア、７０１はプロトコル解釈部、７０２はジョブ制御部、７０３はデバイス部である。ジョブ制御部７０２は、ジョブ生成部８００、ジョブ処理部８１０、ドキュメント処理部８２０、ページ処理部８３０、バンド処理部８４０、デバイス割り当て部８５０を有している。また、ジョブ処理部８１０は、ジョブ管理部８１１、バインダ管理部８１２、ドキュメント管理部８１３を有している。また、デバイス部７０３は、第１デバイス８５１、第２デバイス８５２及び第３デバイス８５３等複数のデバイスを有する事が可能となっている。
【００４９】
ホストコンピュータ６０１，６０２や、操作部１５０から送られてきた一連の操作依頼は、コマンド（プロトコル）という形で、各インタフェース（４１１−４１４）を介して送られてくる。送られてきたコマンドは、プロトコル解釈部７０１で解釈された後、ジョブ制御部７０２に送られる。この時点でコマンドは、ジョブ制御部７０２が理解できる形に変換される。
【００５０】
ジョブ生成部８００はジョブ８１４を生成する。ジョブ８１４にはコピージョブ、プリントジョブ、スキャンジョブ及びファックスジョブ等様々なジョブが存在する。プロトコル解釈部７０１により解釈されたプロトコルには、例えば、プリントジョブならば印刷する文書の名前や印刷部数、出力先の排紙トレイの指定等の種々の設定情報や、印刷データ自体（ＰＤＬデータ）等が含まれる。ジョブ８１４はジョブ処理部８１０に送られ処理が行われる。ジョブ処理部８１０は、ジョブを構成する複数のバインダの出力順など、ジョブ全体に関わる設定がされるジョブ管理部８１１、バインダを構成する複数のドキュメントの出力順など、バインダ全体に関わる設定がされるバインダ管理部８１２、ドキュメントを構成する複数のページの出力順など、ドキュメント全体に関わる設定がされるドキュメント管理部８１３を有し、ジョブ８１４全体に関する設定や処理が行われる。
【００５１】
更に、ジョブ処理部８１０では、ジョブ８１４全体に関する設定や処理以外は、ジョブ８１４を構成するさらに小さな仕事の単位であるバインダ８１５に分割し、また、バインダ８１５全体に関する設定や処理以外は、バインダ８１５を構成するさらに小さな仕事の単位であるドキュメント８１６に分割し処理する。ドキュメント８１６は入力ドキュメント８２１と１対１に対応付けされており、入力ドキュメント８２１は、ドキュメント処理部８２０により出力ドキュメント８２２に変換処理される。例えば、原稿の束をスキャナで読み取り、複数のイメージデータに変換するスキャンジョブを考えると、原稿の束に関する設定や操作の手順が書かれているのが入力ドキュメント８２１であり、複数のイメージデータに関する設定や操作の手順が書かれているのが出力ドキュメント８２２である。そして、紙の束を複数のイメージデータに変換する役割を持っているのがドキュメント処理部８２０である。
【００５２】
ドキュメント処理部８２０は、ドキュメント単位の入力ドキュメント８２１から出力ドキュメント８２２への変換処理を行い、ドキュメント全体に関する設定や処理以外は、更に小さな仕事の単位である入力ページ８３１に分割し、ページ処理部８３０に処理を依頼する。これは、ちょうどジョブ処理部８１５がジョブ単位の処理に専念して、更に細かい仕事のためにバインダ８１５、ドキュメント８１６を生成するのと同じである。ドキュメント単位の設定及び操作は、具体的にはページの並び替え、両面印刷の指定、表紙の付加、ＯＨＰ中差し等のページ順序に関するものである。
【００５３】
ページ処理部８３０は、ページ単位の入力ページ８３１から出力ページ８３２への変換処理を行う。例えば、上述のスキャンジョブの場合、入力ページ８３１には読み取りの解像度、読み取りの向き（ランドスケープ／ポートレイト）等の各種設定や、手順が書かれており、出力ページ８３２にはイメージデータの格納場所等の設定や手順が書かれている。
【００５４】
ここまでは、ジョブの単位を徐々に小さくして、ページの単位で扱えるようにすることを説明してきた。高価なシステムで１ページ分のページメモリを持てるならば、最終的にページ単位までジョブを細分化して処理すればよい。しかし、現実にはメモリのコスト等の問題から１ページ分のページメモリを持てない場合には、数ライン分のメモリ（バンドメモリ）でジョブ８１４を処理するシステムもある。このような場合、ページを更に細かい単位であるバンドに分割して変換処理を行う。それが入力バンド８４１、バンド処理部８４０、出力バンド８４２であり、これらの動作に関してはページの場合と同様である。
【００５５】
ジョブ処理部８１０、ドキュメント処理部８２０、ページ処理部８３０及びバンド処理部８４０は、いずれも処理を進める際に画像入出力システム１００を構成する種々の物理デバイスを使用する。当然、複数の処理部が同時に仕事を進めるとデバイスの競合が発生するので、それを調停するのがデバイス割り当て部８５０である。例として図に示した第１〜第３のデバイス８５１〜８５３は、デバイス割り当て部８５０により上述した各処理部に割り当てられる論理デバイスであり、例えば、ページメモリやバンドメモリ、原稿給紙ユニット２５０、マーキングユニット３２０エンジン及びスキャナユニット２１０等が考えられる。
【００５６】
図１３は、画像記憶部１６０に蓄積される画像データを管理する文書管理部９００の管理構造を示す図である。
【００５７】
文書管理部９００は、フォルダ管理部９０１、ジョブ管理部９０２、バインダ管理部９０３、ドキュメント管理部９０４、ページ管理部９０５で構成され、それぞれ管理情報（属性値）を持っている。文書管理部９００は、１つまたは複数のフォルダ管理部９０１で構成され、フォルダ管理部９０１の管理情報が格納されている。フォルダ管理部９０１は、１つまたは複数のジョブ管理部９０２で構成され、ジョブ管理部９０２の管理情報が格納されている。ジョブ管理部９０２は、１つまたは複数のバインダ管理部９０３で構成され、バインダ管理部９０２の管理情報が格納されている。さらに、ジョブ管理部９０２は、ジョブ制御部７０２において処理されるジョブ８１４の動作に必要な情報で、ジョブ管理部８１１に格納されている属性値を格納／保存することができる。バインダ管理部９０３は、１つまたは複数のドキュメント管理部９０４で構成され、ドキュメント管理部９０４の管理情報が格納されている。さらに、バインダ管理部９０３は、ジョブ制御部７０２において処理されるバインダ８１５の動作に必要な情報で、バインダ管理部８１２に格納されている属性値を格納／保存することができる。ドキュメント管理部９０４は、１つまたは複数のページ管理部９０５で構成され、ページ管理部９０５の管理情報が格納されている。さらに、ドキュメント管理部９０４は、ジョブ制御部７０２において処理されるドキュメント管理部８１３に格納されている属性値や、ドキュメント処理部８２０により処理された出力ドキュメント８２２の属性値を格納／保存することができる。ページ９０５は、画像記憶部１６０に保存された、スキャナで読込んだ１ページ分の画像データ、ホストコンピュータから送信されたＰＤＬを展開した１ページ分の画像データ、ＦＡＸで受信した１ページ分の画像データなどと対応付けられている。さらに、ページ管理部９０５は、ジョブ制御部７０２のページ処理部８３０により処理された出力ページ８３２の属性値を格納／保存することができる。つまり、文書管理部９００に保存された情報と、画像記憶部１６０に保存された画像データから画像蓄積時に投入されたジョブ８１４を再現することが可能である。また、保存されている情報を再設定することで投入時のジョブと異なる動作をさせることも可能である。
【００５８】
図１４は、該制御装置１１０で実行されるジョブ８１４の１つであるコピージョブの構成の一例を示す図である。
【００５９】
ホストコンピュータ６０１、６０２や、操作部１５０から送られてくる一連の操作依頼はコマンド（プロトコル）という形で、各インタフェース（４１１−４１４）を介して送られてくる。送られてきたコマンドは、プロトコル解釈部７０１で解釈され、ジョブ制御部７０２に送られる。この時点でコマンドはジョブ制御部が理解出来る形に変換されることになる。ジョブ生成部８００は、送られてきたコマンドを解釈し、コピージョブ１００１を生成し制御を依頼する。コピージョブ１００１はコピー動作を実現するための機能を有しており、スキャンジョブ１００２、イメージエージェントジョブ１００３、および、プリントジョブ１００６を生成し、これらの動作を制御することでコピー処理を実現する。イメージエージェントジョブ１００３は、イメージエージェントバインダ１００４を、イメージエージェントバインダ１００４は、イメージエージェントドキュメント１００５をというように、自身を構成する細かい単位に処理を依頼しそれぞれの動作を制御する。イメージエージェントドキュメント１００６は、ドキュメント処理部（紙→イメージ）１０１０の出力ドキュメントであるイメージドキュメント１０１１の生成を行う。生成されたイメージドキュメント１０１１は、イメージエージェントドキュメント１００５、イメージエージェントバインダ１００４、イメージエージェントジョブ１００３、コピージョブ１００１を経由しスキャンジョブ１００２、プリントジョブ１００６に伝達される。
【００６０】
スキャンジョブ１００２は、ドキュメント処理部（紙→イメージ）１０１０の入力ドキュメントであるスキャン紙ドキュメント１００９の生成を行った後に、ドキュメント処理部（紙→イメージ）１０１０を生成する。この時、ドキュメント処理部（紙→イメージ）１０１０に、入力ドキュメントのスキャン紙ドキュメント１００９、出力ドキュメントのイメージドキュメント１０１１が伝えられる。さらに、スキャンジョブ１００２は、ドキュメント処理部（紙→イメージ）１０１０に処理を依頼し動作の制御を行う。なお、スキャンジョブ１００２では、ジョブ処理部８１０で、スキャンジョブ１００２全体に関する設定や処理、およびバインダに関する設定や処理が行われる。スキャンジョブ１００２では、スキャナユニット２１０、スキャナ原稿ユニット２５０の物理的構造から、１回のスキャン動作は、１ジョブ、１バインダ、１ドキュメントの構成で制御可能なため、本実施例では、バインダ８１５、ドキュメント８１６を省略している。
【００６１】
スキャン紙ドキュメント１００９は、原稿に関する情報が属性として管理されており、また、イメージドキュメント１０１１は、読込み結果である画像データに関する情報が属性として管理される。これらの属性をもとに、ドキュメント処理部（紙→イメージ）１０１０は、入力ドキュメントであるスキャン紙ドキュメント１００９から出力ドキュメントであるイメージドキュメント１０１１への変換を制御する。ドキュメント処理部（紙→イメージ）１０１０は、ドキュメント単位の処理のみを行い、さらに細かい仕事は、小さな仕事の単位であるスキャン紙ページ１０１７、ページ処理部（紙→イメージ）１０１８、イメージページ１０１９で行われる。スキャン紙ドキュメント１００９は、原稿の枚数に対応したスキャン紙１０１４を順次生成する。スキャン紙１０１４は生成されると、原稿の処理順を制御するスキャナ紙管理部１０１６に識別子を付加して登録した後、スキャン紙ページ１０１７の生成を行う。スキャン紙ページ１０１７は原稿の表ページ／裏ページに対応しており、両面原稿の時は１つのスキャン紙１０１４に対して２つのスキャン紙ページ１０１７が生成される。スキャナ紙管理部１０１６は、スキャン紙１０１４に付加された識別子やデバイスの仕様（原稿読み取り順など）によりスキャン紙ページ１０１７の処理順序の決定を行う。スキャン紙ページ１０１７には原稿の各ページに関する情報が管理されており、イメージドキュメント１０１１により生成されるイメージページ１０１９には各ページの読込画像データに関する情報が管理される。ページ処理部（紙→イメージ）１０１８は、入力ページであるスキャン紙ページ１０１７から出力ページであるイメージページ１０１９への変換を制御する。また、ページ処理部（紙→イメージ）１０１８は、実際のスキャナデバイスを制御するためのシーケンスを把握しており、スキャナデバイス制御部１０２３に用意されたエンジン制御コマンドを発行することで原稿読み取り動作（スキャン動作）の制御を行う。また、スキャン紙ページ１０１７、イメージページ１０１９に管理されている属性を画像処理部１０２５ａに設定し制御することで、原稿を画像データとして画像記憶部１６０に蓄積させる。蓄積された画像データは、文書管理部９００にて管理されており、文書管理部９００を介して、読み出し、複製、移動、削除、等の操作をすることが可能である。また、画像処理部１０２５ａ、１０２５ｂには、解像度変換、符号変換などの制御を含んでいる。
【００６２】
一方、プリントジョブ１００６は、ジョブ全体に関わる設定や処理以外は、さらに小さな仕事の単位であるプリントバインダ１００７分割し、バインダ全体に関わる設定や処理以外は、さらに小さな仕事の単位であるプリントドキュメント１００８に分割し、プリント処理全体に関する設定や処理の制御を行う。プリントドキュメント１００８は、ドキュメント処理部（イメージ→紙）１０１２の出力ドキュメントであるプリント紙ドキュメント１０１３の生成を行った後に、ドキュメント処理部（イメージ→紙）１０１２を生成する。この時、ドキュメント処理部（イメージ→紙）１０１２に、入力ドキュメントのイメージドキュメント１０１１、出力ドキュメントのプリント紙ドキュメント１０１３が伝えられる。さらに、プリントドキュメント１００８は、ドキュメント処理部（イメージ→紙）１０１２に処理を依頼し動作の制御を行う。プリント紙ドキュメント１０１３には、印刷出力に関する情報が属性として管理されており、イメージドキュメント１０１１には、画像データに関する情報が属性として管理されている。これらの属性をもとに、ドキュメント処理部（イメージ→紙）１０１２は、入力ドキュメントであるイメージドキュメント１０１１から出力ドキュメントであるプリント紙ドキュメント１０１３への変換を制御する。ドキュメント処理部（イメージ→紙）１０１２は、ドキュメント単位の処理のみを行い、さらに細かい仕事は、小さな仕事の単位であるイメージページ１０１９、ページ処理部（イメージ→紙）１０２０、プリント紙ページ１０２１で行われる。
【００６３】
プリント紙ドキュメント１０１３は、印刷出力する枚数分のプリント紙１０１５を順次生成する。プリント紙１０１５は生成されると、印字の処理順を制御するプリンタ紙管理部１０２２に識別子を付加して登録した後、プリントン紙ページ１０２１の生成を行う。プリント紙ページ１０２１は出力用紙の表ページ／裏ページに対応しており、両面印刷の時は１つのプリント紙１０１５に対して２つのプリント紙ページ１０２１生成される。プリンタ紙管理部１０２２は、プリント紙１０１５に付加された識別子やデバイスの仕様（内部循環枚数や両面出力時の紙制御順など）によりプリント紙ページ１０２１の処理順序の決定を行う。プリント紙ページ１０２１には印字する各ページに関する情報が管理されており、イメージページ１０１９には各ページの画像データに関する情報が管理されている。ページ処理部（イメージ→紙）１０２０は、入力ページであるイメージページ１０１９から出力ページであるプリント紙ページ１０２１への変換を制御する。また、ページ処理部（イメージ→紙）１０２０は、実際のプリンタデバイスを制御するためのシーケンスを把握しており、プリンタデバイス制御部１０２４に用意されたエンジン制御コマンドを発行することで印刷動作（プリント動作）の制御を行う。また、イメージページ１０１９、プリント紙ページ１０２１に管理されている属性を画像処理部１０２５ｂに設定し制御することで、画像記憶部１６０に蓄積された画像データを印刷用紙に印字する。
【００６４】
このような一連の動作によりより小さな仕事の単位である処理部に制御を任せて行くことで、コピー動作を実現することが可能となる。
【００６５】
図１５は、図１４に記述できなかった、コピージョブ実行時に行われる文書管理９００への属性格納の例を抜粋した図である。前述の通り（図１３）、文書管理部９００は、フォルダ管理部９０１、ジョブ管理部９０２、バインダ管理部９０３、ドキュメント管理部９０４、ページ管理部９０５で構成され、それぞれが管理情報（属性値）を持っている。ジョブ制御部７０２において処理されるジョブ８１４の動作に必要な情報で、ジョブ管理部８１１に格納されている属性値は、イメージエージェントジョブ１００３により文書管理部９００のジョブ管理部９０２に格納／保存され、ジョブ制御部７０２において処理されるバインダ８１５の動作に必要な情報で、バインダ管理部８１２に格納されている属性値は、イメージエージェントバインダ１００４により文書管理部９００のバインダ管理部９０３に格納／保存され、ジョブ制御部７０２において処理されるドキュメント管理部８１３に格納されている属性値や、ドキュメント処理部８２０により処理された出力ドキュメント８２２の属性値は、出力ドキュメントに該当するイメージドキュメント１０１１により文書管理部９００のドキュメント管理部９０４に格納／保存され、ジョブ制御部７０２のページ処理部８３０により処理された出力ページ８３２の属性値は、出力ページに該当するイメージページ１０１９により文書管理部９００のページ管理部９０５に格納／保存される。
【００６６】
（ストレージ装置）
本実施例で使用するストレージ装置は装置に限定するものではないが、説明の都合上現在最も一般的なハードディスク装置を例に記載する。
【００６７】
＜一般的なストレージ装置、ハードディスク装置＞
図１６にハードディスク概略図を記載する。
【００６８】
３０００はハードディスク装置の筐体部である。３００１はハードディスク装置を制御するためのCPUである。３００３はハードディスク装置と外部を接続するI/Fである。３００４は磁気記録ディスクである。一般的に精度の高い円盤状のディスク状の物体に磁性体と複数層の保護層を蒸着することで構成される。３００６は３００５上の磁性体上にデータの書き込み・読み込みを行うためのヘッドである。３００５は３００１のCPUにより位置制御され前記ヘッドを動かすためのアームである。
【００６９】
このように現在主流とされている大容量のストレージ装置はすべてがシリコンで構成されているわけではなく、正常動作にメカ・物理的な要素が含まれるため寿命が短く比較的壊れやすいという特徴がある。
【００７０】
［コントローラボックスの構成］
図１７にコントローラボックス構成図を記載する。
【００７１】
３１００はコントローラボックスの筐体である。３０００はハードディスク装置である。３１０１はコントローラボックスのふたである。３１０２は３１０１のふたを固定するためのビスである。３１０３は３１００コントローラボックス内の温度を下げる冷却FANである。３１０４はコントローラ装置におけるマザーボードである。３１０５はコントローラのCPUである。
【００７２】
コントローラ装置における画像複写のための制御は既に詳細に説明した通りであり、この場では説明を省く。
【００７３】
［本方式における課題］
コントローラ装置は前記ハードディスク装置を２つの用途して用いる。
【００７４】
１．制御用のファームウエアを格納するためのストレージ装置
２．画像の保存を目的としているストレージ装置
３．画像を一時的に保存するFIFO装置
である。仮にこのハードディスク装置が故障してしまうと、
上記３つの動作不具合が発生することになる。
【００７５】
１の障害に関して
もっとも致命的なのがこの１である。Boot用のBIOS手段が、制御プログラムをロードできないため、「起動しない」という状況を引き起こす。
【００７６】
２の障害に関して
画像のストレージ装置としての機能を制限すればハードディスク装置を必要としない。つまり、機能縮退で動作可能ということになる。
【００７７】
３の障害に関して
画像読み込み手段と画像出力手段を非同期に制御するために必要なFIFOであるため、この非同期性を抑制することで２と同じく機能縮退で動作可能ということになる。
【００７８】
したがって本発明の課題とは１のブートできないという致命的障害を回避し、縮退しながらも動作できるように制御する方法を提示していく。
【００７９】
［ネットワーク上の同機種検出手段］
＜自分と同じ機種を見つけ出して把握する同機種検出手段＞
ネットワークにはブロードキャストというプロトコルがあり、同一セグメント内のすべてのネットワーク機器に特定のパケットを送信することが可能である。つまり、特定のパケットパケットを約束しておき、前記特定のパケットを受信したときに返事を返す、というプログラムを実装することで、同一セグメント内にいる仲間の機械を特定することが可能である。
【００８０】
例えばパケットの構成の例を説明すると
機械Aから下記パケットがネットワーク上に送信される、
|-------------------|
|識別ヘッダ         |・・・このブロードキャストを認識するための識別に用いるヘッダ
|-------------------|
|機種名             |・・・機械Aの機種名
|-------------------|
|IPアドレス         |・・・機械AのIPアドレス
|-------------------|
機械Bは上記パケットを受け取り、同一セグメント内に機器Aという機械が存在することを把握する。次に下記のパケットを機械AのIPアドレスに対して送信する
|-------------------|
|識別ヘッダ         |・・・上記パケットの返事であることを識別するヘッダ
|-------------------|
|機種名             |・・・機械Bの機種名
|-------------------|
|IPアドレス         |・・・機械BのIPアドレス
|-------------------|
機器Aは上記パケットを受け取り、同一セグメント内に機器Bという機械が存在することを把握する。このとき同一セグメント内に複数台の機械があれば、複数台から返事がくることになる。その中から機種名の文字列をサーチし、自分と同じ機種名があればネットワーク上で自分と同じ機器を見つけたことになる。
【００８１】
［従来のブートシーケンス］
＜前記ローカルストレージ装置の故障を検出する故障検出手段＞
＜前記故障検出手段よりブート不能と判断するブート不能判断手段＞
図１８に通常のブートシーケンスのフローを記載する。
【００８２】
通常システムにリセットが入った場合、一番最初にBoot用のROM上でプログラムが動作する。一般的にBIOSと呼ばれている簡単な機能を持っているファームウエアのローダである。本フローはそのBIOSが行うシーケンスである。
【００８３】
３２００からブートシーケンスが始まる。３２０１で３０００のハードディスク装置に対してネゴシエーションをかける。現在もっとも標準的なI/FではIDEという規格があり、このIDEが準じている規格に従ってネゴシエーションシーケンスを行う。正常なI/F同士が接続されたものであれば、このネゴシエーションが成功し、ハードディスク装置が認識できる。ハード的に故障している場合はこのネゴシエーションが正常に動作できない、つまり、ハードディスクを認識できないということになる。その場合３２０２のフローから３２０６のブート不能という判断がされ、ブートシーケンスは中断される。正常にネゴシエーションが成功した場合３２０３でファームウエアのロードを行う。ハードディスク上にはファイルシステムというデータをファイルという形で扱うためのライブラリを介してアクセスするものであり、既知の技術で簡単にメモリ上にロードすることが可能である。３２０４でファームウエアをメモリ上にロードしたときにロードが成功したか否かを判断する。通常はハードディスク自身が持っているセルフチェックに頼る場合が多い。ここでエラーが検出された場合、３２０６のブート不能状態でブートが中断し、正常に動作した場合は３２０５のロードしたプログラムへシーケンスを移す（ジャンプする）。
【００８４】
ブート不能な場合、BIOSの容量は小さいためLCDにエラーであるむねを知らせる非常に粗末な最小限の表示[ErrorCode XXXX-XXXX]のみを行い、システムの異常をユーザに通知して停止する。
【００８５】
［ブートセレクタ］
＜複数のブートプログラムのロケーションを記憶する、ブートロケーション郡記憶手段＞
ブートロケーション郡記憶手段について記載する。
【００８６】
前記したBIOSのはプログラムローダとして動作を行うことが可能である。
つまり、所定のデバイスから所定のプログラムをメモリにロードして、そのプログラムに制御を移すことによりブート作業を行う。このBIOS上のプログラムローダ部に以下の拡張を行うことにより、ブートロケーションを複数記憶しておくことが可能である。
【００８７】
たとえば起動時に特定のキーを押したときに入れる特別なBIOS内のパラメータを変更するためのモードに入れるように作っておく。多くの場合BIOSはプログラムサイズを小さくしなければならないため、高度なGUIを持つことは難しい。以下のようなテキストベースによる簡略的な設定画面で設定を行うことになる。
__________________________                                      (3401)
<BootSelecter>                                                   (3402)
No.1 [Act] :[HDD]:/Boot/Default.exe                              (3403)
No.2 [   ] :[   ]:                                               (3404)
No.3 [   ] :[   ]:                                               (3405)
[Change:1-3, Quit:9]                                             (3406)
Input No > 2                                                     (3407)
<Change No.2 Boot>                                               (3408)
Locate? [Auto:0, HDD:1, LAN:2, USB:3, Cancel:9]                  (3409)
Input No > 2                                                     (3410)
<LAN Setting>                                                    (3411)
IP-Address > 192.168.1.1                                         (3412)
File Location > /Boot/Default.exe                                (3413)
Active? [yes:1, no:9]                                            (3414)
>>> No.2 [Act] :[LAN]:192.168.1.1/Boot/Default.exe              (3415)
Checking...........OK！                                          (3416)
Change OK? [yes:1, no:9]                                         (3417)
Input No > 1                                                     (3418)
__________________________                                       (3420)
<BootSelecter>                                                   (3421)
No.1 [Act] :[HDD]:/Boot/Default.exe                              (3422)
No.2 [Act] :[LAN]:192.168.1.1/Boot/Default.exe                   (3423)
No.3 [   ] :[   ]:                                               (3424)
[Change:1-3, Quit:9]                                             (3425)
Input No >                                                       (3426)
特定キーを押下しながら電源を立ち上げるとまず、３４０１〜３４０７の表示がLCD上に表示される。３４０１は処理単位の区切りに使われている適当な文字列である。３４０２は本メニューがブートセレクタのメニューであることを操作者に伝えている。３４０３は第一のブートロケーションの設定値である。[Act]は設定値が有効になっているということを意味する。[HDD]はローカルのハードディスク装置を意味する。"/Boot/Default.exe"は前記ローカルハードディスク上のファイルシステム上の場所"/Boot/Default.exe"にブートプログラムが格納されているということを示している。つまり、３４０３は「ローカルハードディスク装置上の"/Boot/"の中に入っている"Default.exe"というファイルがブートプログラムであり、その設定が有効になっている。」ということを示している。
【００８８】
３４０４、３４０５は各項目が空白であり現在の設定がされていないということがわかる。
【００８９】
３４０６は操作者が行うことが可能な動作の説明であり、１〜３までのキー押下で設定の変更、９キーによりメニューから抜けれることを意味している。
【００９０】
３４０７は操作者のキー押下を待っている状態である。(３４０７は２が入っているが、ユーザがなにもボタンを押していないときは２は表示されない)
３４０７にてユーザが２キーを押下すると、No2のブートパラメータの設定モードへと移行する。
【００９１】
３４０８は現在No.2のブートロケーションの設定変更状態であることを示す。３４０９でブートを行うデバイスを指定する。３４１０では２のLANを選択した。３４１１では現在LANのセッティング状態であることを示している。３４１２ではLAN上の特定の機器のロケーションをIPアドレスにて入力を行う。３４１３では前記IPアドレスの機器が持っているファイルシステム上にあるブートプログラムのロケーションをファイルシステムの「パス」という形式で入力する。３４１４ではこの設定を有効にするか否かを設定する。たとえば設定値だけを入力するが、設定していないことにする場合はここをアクティブにしないようにすればよい。これらの情報を入力すると３４１５でこのように設定が変更になるということをプレビューで通知する。３４１６では今回はネットワーク上のロケーションを定義したが、実際にアクセスを行い設定したブートプログラムが指定されたということを[OK!]で通知している。３４１７でこれらの設定を本当に記憶するか否かを操作者に問い合わせており３４１８でYESを選択し、この情報を既知の技術である非図示不揮発性のメモリ上に格納する。これにより電源を切ってもこの情報を忘れることはなくなる。そして、３４２０〜３４２６の最初のメニューに戻る。
【００９２】
このとき３４２３には先ほど入力したブートロケーションが設定されていることがわかる。
【００９３】
このようにして複数のブートロケーションを記憶・編集することが可能である。
【００９４】
＜第一ブートロケーション記憶手段に従い第一優先順位で起動する、第二ブートロケーション記憶手段に従い第二優先順位で起動する、第ｎブートロケーション記憶手段に従い第ｎ優先順位で起動する、ブートシーケンス手段＞
図１９に優先度にしたがったブートシーケンスのフローを示す。
【００９５】
３３００からこのフローは始まる。この図１８のフローの前段にあたるものであり、例えば、３３０２第一ブート試行の具体的処理が３２００フローとなる。まず、３３０１で３４２２の第一のブートロケーション記憶手段からブートロケーションをとってくる。３３０２で３３０１で獲得したロケーションに対してブートを試行する。３３０３でブートが成功したか否かを確認し、ブートが成功していた場合はこのフローを抜ける。ブートが失敗した場合は３３０４で３４２３の第2のブートロケーション記憶手段からブートロケーションをとってくる。３３０５で第2のブートロケーションに対してのブートを試行し、３３０６で成功したか否かを確認する。成功した場合はこのフローをぬけるが、失敗した場合３３０７で３４２４の第三のブートロケーションからブートロケーションをとってくる。３３０８で３３０７で獲得した第三のブートロケーションに対してブート試行を行い３３０９で成功か否かを判断して失敗だったときに３３１０にて、「ブートできなかった」という旨のエラーを出して終了する。
【００９６】
このように、複数のブートロケーションを順に行っていくことで、複数のブート先を設定することが可能となる。
【００９７】
［ブートロケーションの初期値］
＜ブートロケーション記憶手段の初期設定値をローカルストレージ上に設定する第一ブートロケーション記憶手段の初期値、＞
３４０２のブートセレクタで設定することが可能なブートロケーションであるが、本方式の場合なんらかの原因で初期化された場合、ブートしない現象が発生してしまう。これを防止するために初期値を決定しておくのが望ましい。通常第一優先となるブートロケーションはローカルハードディスク上のファイルシステムにブート可能プログラムを配置する。例えばそのデフォルトの位置が[/Boot/Default.exe]であった場合、データ初期化時の初期値は３４０３のようになる。
【００９８】
＜前記同機種検出手段により得られたロケーション情報を第二のブートロケーション記憶手段の初期値に設定する自動第二ブートロケーション設定手段＞
__________________________                                      (3501)
<BootSelecter>                                                  (3502)
No.1 [Act] :[HDD]:/Boot/Default.exe                             (3503)
No.2 [   ] :[   ]:                                              (3504)
No.3 [   ] :[   ]:                                              (3505)
[Change:1-3, Quit:9]                                            (3506)
Input No > 2                                                    (3507)
<Change No.2 Boot>                                              (3508)
Locate? [Auto:0, HDD:1, LAN:2, USB:3, Cancel:9]                 (3509)
Input No > 0                                                    (3510)
<Auto Setting>                                                  (3511)
Serching................Find!
IP-Address [192.168.1.1]                                        (3512)
File-Location [/Boot/Default.exe]                               (3513)
Active? [yes:1, no:9]                                           (3514)
同じ機種同士は同じブートプログラムを有する。したがって、同じ機種のブートプログラムをネットワーク上からブートすることも可能である。
【００９９】
３５０１〜３５０６は３４ｘｘで説明したものと同等である。３５０６で第二のブートロケーションを選択した。３５１０で'0'であるAuto設定を選択した場合、前記、同機種検出手段によりネットワーク上に配置された同じ機種を探し出し、３５１２でその見つけたIPアドレスを、３５１３でファイルのありかを表示する。３５１４以降は３４１４以降と同一の説明になるので省略する。このように自動的に同じブートプログラムを見つけ出して設定する機能があると非常に便利にブートロケーションの設定が可能となる。
【０１００】
手動で設定する部分は前記した。
【０１０１】
この自動設定手段は［ブートロケーションの初期値］の時に、自動的に第一のブートロケーション記憶手段以外の(第二、第三のブートロケーションに)場所に適用することで、初期化直後に自動的にネットワーク上のブート可能なロケーションとして登録可能である。
【０１０２】
［ローカルストレージ故障時の具体的なブート動作］
＜請求項１ブートロケーションが、ネットワーク上のストレージ装置であること＞
＜前記第一のブートロケーション記憶手段が指示している前記ローカルストレージ装置の故障を検出した際、前記第二のブートロケーション記憶手段に設定された経路上から、ブートプログラムをメモリ上にロードして実行する手段＞
__________________________                                      (3620)
<BootSelecter>                                                  (3621)
No.1 [Act] :[HDD]:/Boot/Default.exe                             (3622)
No.2 [Act] :[LAN]:192.168.1.1/Boot/Default.exe                  (3623)
No.3 [   ] :[   ]:                                              (3624)
[Change:1-3, Quit:9]                                            (3625)
仮に上記のような設定だったする。
【０１０３】
図１９とい図１８のフローを用いて説明する。
【０１０４】
３３０１で３６２２のロケーションを得る。３３０２ではこのブートプログラムはハードディスク上に配置されていることから、３２００のハードディスクブートのシーケンスへと移る。３２０１で前記ハードディスクとのネゴシエーションを行う。このとき、ローカルハードディスクが故障しておりネゴシエーション動作ができなかったと仮定すると、３２０２でエラーが検出されて３２０６のブート不能と判断してブートシーケンス失敗となる。つまり３３０２の第一のブート試行が失敗となったわけなので、３３０３でNOが選択され３３０４へと制御が移る。
【０１０５】
３３０４では第二のブートロケーションを３６２３から獲得してくる。IP-Addressが192.168.1.1のマシン上のストレージ/Boot/Default.exeを指示してある。ネットワークを介してファイルシステムを共有化する仕組みは、NFS(NetworkFileSystem)というプロトコルで簡単に獲得可能であるため、詳細な説明は省くが、普通にファイルをオープンしてメモリ上にロードすることが可能である。ブートプログラムがメモリ上にロードできれば制御をブートプログラムに写し図１９のフローを終了することにより、ローカルのハードディスク装置が故障したにもかかわらず、ネットワーク上にある仲間の装置からブートプログラムをロードして起動することが可能となる。
【０１０６】
［縮退動作］
以上のようにネットワーク上からブートすることが可能である。しかし、実際にはローカルのストレージ装置が故障しているため、正常に動作することができない。
【０１０７】
先に記述した以下の3点、
(前参照)  １．制御用のファームウエアを格納するためのストレージ装置
(前参照)  ２．画像の保存を目的としているストレージ装置
(前参照)  ３．画像を一時的に保存するFIFO装置
に関して、本発明では１に関しての解決法を記述してきた。
【０１０８】
２、３に関して詳細な説明は省くが、２に関しては画像の保存を目的としているJOBがある。例えば、画像BOX機能であり、BOX受信、BOXスキャンといったJOBを動作不能にした縮退動作にすることでストレージ装置の故障でも通常動作が可能となる。
【０１０９】
３に関して、メイン画像メモリ(非ストレージ用の高速シリコンメモリ)をFIFOとして、ストレージ装置を介さないように縮退する。これにより、ストレージ装置が故障してあったとしても、スキャンジョブとプリントジョブの非同期性が失われるだけで、速度低下が発生するが、動作自体は正常に行うことが可能となる。
【０１１０】
したがって、通常のPDLプリントのジョブ、COPYのジョブに関しては問題なく動作可能である。
【０１１１】
本発明によれば、ローカルに搭載されているハードディスク装置が無い場合でも、ネットワーク上からブートプログラムを自動的に取ってきてブートすることが可能となる。これにより、ストレージ装置が故障した場合でもブートすることが可能となり、ダウンタイムの低下を実現することが可能となる。
【０１１２】
（第二の実施例）
第二の実施例ではブートロケーションがグローバルネットワークの場合に関して説明する。
【０１１３】
＜請求項１におけるブートロケーションがホームページ＞
__________________________                                      (3701)
<BootSelecter>                                                  (3702)
No.1 [Act] :[HDD]:/Boot/Default.exe                             (3703)
No.2 [Act] :[LAN]:192.168.1.1/Boot/Default.exe                  (3704)
No.3 [   ] :[   ]:                                              (3705)
[Change:1-3, Quit:9]                                          (3706)
Input No > 3                                                  (3707)
<Change No.3 Boot>                                            (3708)
Locate? [Auto:0, HDD:1, LAN:2, USB:3, Cancel:9]               (3709)
Input No > 0                                                  (3710)
<Auto Setting>                                                (3511)
Serching................Find!
>>> No.3 [Act] :[LAN]:http://xxx.com/~IRXXX/VerUp.exe         (3715)
Change OK? [yes:1, no:9]                                      (3717)
__________________________                                    (3718)
<BootSelecter>                                                (3719)
No.1 [Act] :[HDD]:/Boot/Default.exe                           (3720)
No.2 [Act] :[LAN]:192.168.1.1/Boot/Default.exe                (3721)
No.3 [Act] :[LAN]:http://xxx.com/~IRXXX/VerUp.exe             (3722)
３７０１〜３７０６は実施例で説明済みである。
【０１１４】
３７０３で第三の記憶手段に関する設定を支持し、３７１０で自動設定を支持している。この自動設定に関してだが、第三の記憶手段に関しては、グローバルネットワーク上にVersionUp用のブートプログラムを配信するために作られているhtmlプロトコルのサーバ上を指示している。
【０１１５】
通常機器制御ソフトであるファームウエアは完全に障害が起こらない状態で出荷するのは難しく、市場に出た後にVersionUpが行われる。このときサーバ上にブートプログラムを公開することになる。第二の実施例では、このグローバルネット上にhttpプロトコルでアクセス可能なサーバ上に置かれたブートプログラムをブートロケーションに設定することを特徴とする。３７１５で検出されたホームページ上のアドレスを表示し、３７１７で変更の有無を問い合わせ変更を受理した場合、３７１８〜３７２２のような表示がされる。
【０１１６】
この場合、第一のブート手段はローカルハードディスク、第二のブート手段はローカルネットワーク上の仲間の機械のハードディスク、第三のブート手段はグローバルネットワーク上に配置されたサーバ上のハードディスクのように、おのおののロード経路が立たれても、次、次を選択してダウンタイムの少ないシステムを構築することが可能となる。
【０１１７】
本発明によれば、ローカルに搭載されているハードディスク装置が無い場合でも、ネットワーク上からブートプログラムを自動的に取ってきてブートすることが可能となる。これにより、ストレージ装置が故障した場合でもブートすることが可能となり、ダウンタイムの低下を実現することが可能となる。
【図面の簡単な説明】
【０１１８】
【図１】本発明に係わるデータ処理装置としてのデジタル複合機の1実施例形態を示すブロック構成図である。
【図２】デジタル複合機の内部構成図である。
【図３】本発明に係わる電子部品としてのコントローラ部の詳細を示すブロック構成図である。
【図４】メインコントローラの詳細を示すブロック構成図である。
【図５】操作部１５０の例を示す図である。
【図６】「連続読込モード」時の原稿読込設定画面の例を示す図である。
【図７】読込画像確認画面の例を示す図である。
【図８】連続読込コピー処理のフローチャートである。
【図９】原稿読込処理のフローチャートである。
【図１０】蓄積画像確認（プレビュー）処理のフローチャートである。
【図１１】制御装置内部のソフトウェア構造を示す図である。
【図１２】ジョブ制御部の構造を示す図である。
【図１３】文書管理部の管理構造を示す図である。
【図１４】コピージョブの構成例を示す図である。
【図１５】コピージョブ実行中の文書管理部との関係を抜粋した図である。
【図１６】ハードディスク概略図。
【図１７】コントローラボックス構成図。
【図１８】ハードディスクブートのフローチャート。
【図１９】本方式のフローチャート。
【図１】
2007028183.tif 000003
【図２】
2007028183.tif 000004
【図３】
2007028183.tif 000005
【図４】
2007028183.tif 000006
【図５】
2007028183.tif 000007
【図６】
2007028183.tif 000008
【図７】
2007028183.tif 000009
【図８】
2007028183.tif 000010
【図９】
2007028183.tif 000011
【図１０】
2007028183.tif 000012
【図１１】
2007028183.tif 000013
【図１２】
2007028183.tif 000014
【図１３】
2007028183.tif 000015
【図１４】
2007028183.tif 000016
【図１５】
2007028183.tif 000017
【図１６】
2007028183.tif 000018
【図１７】
2007028183.tif 000019
【図１８】
2007028183.tif 000020
【図１９】
2007028183.tif 000021