(57)【要約】【課題】  記憶装置の物理的な破壊が発生した際には、記憶装置を交換し、各種プログラムの再インストールを行なうことで、装置を復旧させることができるが、 画像データや装置を利用するユーザ情報などの各種データなどを復旧させることができない。【解決手段】  画像形成装置と外部コントローラによって構成されている印刷システムにおいて、各装置の制御プログラムと各種データを接続されている一方の装置にバックアップする。装置自身のＨＤＤが故障し、起動不可となった場合には、一方の装置にバックアップさした制御プログラムをメモリ上に読み出し、装置を起動する。【選択図】  図１８
2007122485.tif 000002
【特許請求の範囲】
【請求項１】
複数の機能を有する画像処理装置と、画像処理装置の拡張コントローラ装置が接続された拡張画像処理システムであって、前記拡張画像処理システムの各装置は、
装置内部の記憶媒体に、装置を制御するための制御プログラム、装置上で動作するアプリケーションプログラム、及び各種データを記憶するとともに、
装置が接続している一方の装置に対して前記制御プログラム，アプリケーションプログラムや前記各種データを送信して、そのデータをバックアップ情報として保持させる手段を有し、
装置自身の保持する記憶装置の不具合によって制御プログラムを読み出すことができないと判断した場合には、接続されている一方の装置にバックアップされた制御プログラムを読み出して起動する手段を有することを特徴とする拡張画像処理システム。
【請求項２】
複数の機能を有する画像処理装置と、画像処理装置の拡張コントローラ装置が接続された拡張画像処理システムであって、前記拡張画像処理システムの各装置は、
請求項１に記載の手段により、接続された一方の装置から読み出した制御プログラムによって起動した場合において、ネットワークから取得、あるいは装置自身の保持する入力装置から入力された情報を、接続されている一方の装置の記憶装置へ送信し、一時的に保存させる手段と、前記保存手段によって接続されている一方の装置の記憶装置へ保存したデータを、読み出す手段を有することを特徴とする拡張画像処理システム。
【請求項３】
複数の機能を有する画像処理装置と、画像処理装置の拡張コントローラ装置が接続された拡張画像処理システムであって、前記拡張画像処理システムの各装置は、
請求項１に記載の手段により、接続された一方の装置から読み出した制御プログラムによって装置が起動した場合に、装置の記憶装置の不具合が解消されたと判断した場合には、接続されている一方の装置から制御プログラム 及び画像データや装置を利用する各種データのバックアップ情報を読み出し、自身の記憶装置に保存して、前記バックアップデータをリストアする手段を有することを特徴とする拡張画像処理システム。
【請求項４】
複数の機能を有する画像処理装置と、画像処理装置の拡張コントローラ装置が接続された拡張画像処理システムであって、前記拡張画像処理システムの各装置は、
請求項１に記載の手段により、接続された一方の装置から読み出した制御プログラムによって装置が起動した場合に、装置の記憶装置の不具合が解消された場合には、接続されている一方の装置から制御プログラム、 及び各種データのバックアップ情報を読み出し、自身の記憶装置に他の装置にバックアップされていたデータを保存・リストアする手段を有し、
さらに、請求項２に記載のデータ保存手段によって、 一方の装置の記憶装置へ一時的に保存したデータを、接続されている一方の装置から読み出して、そのデータを自身の記憶装置へ保存する一時保存データのリストア手段を有することを特徴とする拡張画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ、FAX、コピー等の機能を有する画像処理装置と、画像処理装置の拡張コントローラ装置が接続された拡張画像処理システムにおける、前記各装置が保持するデータのバックアップ・リストア手段に関するものである。
【背景技術】
【０００２】
近年、ＰＣ等のコンピュータが、個人やオフィス等において急速に普及し、これらを相互に接続するＬＡＮなどのネットワークも普及してきている。そのため、最近では、ネットワークに接続されているプリンタやスキャナなどの装置を複数のユーザにて共有して使用することを可能とした環境が、広く構築されるようになってきた。その中でもオフィスにおいては、単体で、印刷・プリンタ機能やスキャナ機能等のような、複数の機能を持ち、ネットワークを介してその機能を共有利用できる、ネットワーク対応デジタル複合機(ＭＦＰ：Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ)が広く利用されるようになっている。
【０００３】
また、近年のＭＦＰ市場においては、汎用ＰＣをＭＦＰの拡張外部コントローラとして接続し、ＭＦＰの制御を行なうような拡張画像処理システムが考案されている。このような汎用ＰＣプラットフォームの外部コントローラを利用することによって、ＭＦＰの組込みアプリケーションでは困難であったさまざまな機能を付加することが可能になる。
【０００４】
例えば、MFP内部に保持するスキャン／プリントデータなどのネットワークを介した文書管理や、MFPおよび拡張コントローラの保持するHDDなど大容量記憶装置を利用した、ストレージサービスなどの各種サービスを提供することが可能である。
【０００５】
従来例としては、例えば特許文献１をあげることが出来る。
【特許文献１】特開２００３−３１２０６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
このような拡張画像処理システムにおいて、画像形成装置であるMFPと、その画像形成装置の拡張コントローラの各記憶装置内には、デバイス内の各モジュールを制御する各種制御プログラム、アプリケーションプログラムおよび、画像データや装置を利用するユーザ情報などの各種データを保持している。
【０００７】
しかし、どちらか一方の記憶装置の不具合によって記憶装置内に保存されている制御プログラムを読み出すことができず、動作不能となった場合には、一方が正常に動作可能でにもかかわらず、拡張画像処理システムとして機能することができなくなってしまう。
【０００８】
特に、記憶装置自体が物理的に破壊・破損してしまった場合には、記憶装置内部に保持していたデバイス内の各モジュールを制御する各種制御プログラム、アプリケーションプログラムおよび、画像データや装置を利用するユーザ情報などの各種データを修復することは困難である。
【０００９】
このような記憶装置の物理的な破壊が発生した際には、記憶装置を交換し、各種プログラムの再インストールを行なうことで、装置を復旧させることができるが、画像データや装置を利用するユーザ情報などの各種データなどを復旧させることができない。
【００１０】
そのような状況を回避し、記憶装置が破壊される以前の状態に装置を復旧させるためには、あらかじめ各装置の記憶装置が保持する各種データを、別の記憶装置へバックアップしておく必要がある。
【００１１】
装置の保持するデータのバックアップを行なう手段としては、バックアップ用のサーバなどを別途設置し、そのサーバへデータを転送してデータのバックアップを行なう方法が実用として用いられている。
【００１２】
しかし、このようなデータ保存用サーバをシステムの一部として別途設置することはコスト的にあまり望ましくない。
【００１３】
また、データ保存用サーバを設置した場合に、システムの復旧を行なう場合には、ユーザが手動で各種プログラムの再インストールと、バックアップデータのリストを行なう必要があるため、猥雑であった。
【課題を解決するための手段】
【００１４】
本発明は、前記問題を鑑みたものであり、
プリンタ、FAX、コピー等の複数の機能を有する画像処理装置と、画像処理装置の拡張コントローラ装置が接続された拡張画像処理システムであって、前記拡張画像処理システムの各装置は、
装置内部の記憶媒体に、装置を制御するための制御プログラム、装置上で動作するアプリケーションプログラム、及び画像データや装置を利用するユーザ情報などの各種データを記憶するとともに、
装置が接続している一方の装置に対して前記制御プログラム，アプリケーションプログラムや前記各種データを送信して、そのデータをバックアップ情報として保持させる手段を有し、
装置自身の記憶装置の不具合によって制御プログラムを読み出すことができないと判断した場合には、接続されている一方の装置にバックアップされている制御プログラムを読み出して起動する手段を有することを特徴とする拡張画像処理システムであって、
前記の接続された一方の装置から読み出した制御プログラムによって起動する手段によって装置が起動した場合に、装置の記憶装置の不具合が解消された場合には、接続されている一方の装置から制御プログラム、アプリケーションプログラム及び画像データや装置を利用するユーザ情報などの各種データのバックアップ情報を読み出すとともに、自身の記憶装置に保存してバックアップされていたデータを各装置間の連携によって、自立的にバックアップデータのリストアを行なう手段を有することを特徴とする。
【００１５】
また、前記した手段により、接続された一方の装置から読み出した制御プログラムによって装置が起動した場合において、ネットワーク、あるいは装置の保持する入力装置を介して取得した各種データを、接続されている一方の装置の記憶装置へ一時的に保存する手段と、前記保存手段によって接続されている一方の装置の記憶装置へ保存したデータを、読み出す手段を有し、
さらに、装置の記憶装置の不具合が解消された場合には、一方の装置の記憶装置へ一時的に保存していたデータを、 接続されている一方の装置から読み出して、そのデータを自身の記憶装置へ再度、保存する一時保存データのリストア手段を有する事を特徴とする。
【００１６】
これによって、記憶装置の不具合によって記憶装置内に保存されている制御プログラムを読み出すことができない場合においても、一方の装置に保存されているバックアップされた制御プログラムを読み出して起動するとともに、一方の装置の記憶装置を利用してデータの保存を行なうことで、記憶装置の不具合が発生中でも正常にシステムの動作が可能である。
【００１７】
さらに、記憶装置の不具合が解消された場合には、各装置間の連携によって自立的にバックアップデータのリストアを行いシステムの復旧が容易に可能となる。
【発明の効果】
【００１８】
以上説明したように、本発明の画像処理装置と、画像処理装置の拡張コントローラ装置が接続された拡張画像処理システムの各装置は装置内部の記憶媒体に、装置を制御するための制御プログラム、装置上で動作するアプリケーションプログラム及び画像データや装置を利用するユーザ情報などの各種データを記憶するとともに、装置が接続している一方の装置に対して前記制御プログラム、アプリケーションプログラムや前記各種データを送信して、そのデータをバックアップ情報として保持させる手段を有し、装置の保持する記憶装置の不具合によって制御プログラムを読み出すことができないと判断した場合には、接続されている一方の装置にバックアップされている制御プログラムを読み出して起動する手段を有することを特徴とする拡張画像処理システムであって、前記の手段により、接続された一方の装置から読み出した制御プログラムによって装置が起動した場合に、装置の記憶装置の不具合が解消された際には、接続されている一方の装置から制御プログラム、 及び画像データや装置を利用するユーザ情報などの各種データのバックアップ情報を読み出すとともに、自身の記憶装置に保存してバックアップされていたデータを各装置間の連携によって自立的にバックアップデータのリストアする手段を有し、また、前記の手段によって、接続された一方の装置から読み出した制御プログラムによって装置が起動した場合において、ネットワークから取得、あるいは装置の保持する入力装置から入力された各種データを、接続されている一方の装置の記憶装置へ一時的に保存する手段と、前記保存手段によって接続されている一方の装置の記憶装置へ保存したデータを、読み出す手段を有し、さらに、装置の記憶装置の不具合が解消された場合には、一方の装置から読み出した制御プログラムによって起動する起動手段によって装置が起動していた間に、一方の装置の記憶装置へ一時的に保存していたデータを、接続されている一方の装置から読み出して、そのデータを自身の記憶装置へ再度、保存する手段を有する事によって、記憶装置の不具合によって記憶装置内に保存されている制御プログラムを読み出すことができない場合においても、一方の装置に保存されているバックアップされた制御プログラムを読み出して起動するとともに、一方の装置の記憶装置を利用してデータの保存を行なうことで、記憶装置の不具合が発生中でも正常にシステムの動作が可能である。
【００１９】
さらに、記憶装置の不具合が解消された場合には、各装置間の連携によって自立的にバックアップデータのリストアを行いシステムの復旧が可能である。
【００２０】
また、システムを構成する機器間のみでバックアップ・リストアが可能であるため、別途、バックアップ用サーバなどのバックアップ装置を必要とせず、簡易にバックアップ・リストアを行なうシステムを構築できる。
【発明を実施するための最良の形態】
【００２１】
図１は、拡張画像処理システムが利用されるネットワーク環境の一例を示す模式図である。
【００２２】
拡張画像処理システム１０は画像処理装置１００と拡張コントローラ１０３から構成されるシステムであり、プリンタ、画像入力、文書ファイリング、文書送受信、画像変換等の機能を有する画像処理装置１００に対してさらに拡張された機能を提供する。画像処理装置１００と拡張コントローラ１０３はそれぞれＬＡＮ４００に接続され、ＬＡＮ４００を介して他のネットワークノードと通信する。
【００２３】
クライアントパーソナルコンピュータ（ＰＣ）１１は個人向けの情報処理装置であり、主にユーザの机上に置かれ各種のアプリケーションプログラムが実行される。クライアントＰＣ１１はＬＡＮ４００に接続され、ＬＡＮ４００を介して他のネットワークノードが提供するサービスを利用したり、他のネットワークノードにサービスを提供したりする。
【００２４】
ＬＡＮ４００はユーザのオフィスなどに敷設されたローカルエリアネットワークである。
【００２５】
図２は、画像処理装置と拡張コントローラの組み合わせによって構成された拡張画像処理システムのブロック図である。
【００２６】
画像処理装置100は、プリンタ、画像入力、文書ファイリング、文書送受信、画像変換など各種の基本的な画像処理機能を提供する。
【００２７】
リーダー部（画像入力装置）200は、原稿画像を光学的に読み取り、画像データに変換する。リーダー部200は、原稿を読取るための機能を持つスキャナユニット210と、原稿用紙を搬送するための機能を持つ原稿給紙ユニット250とで構成される。
【００２８】
プリンタ部（画像出力装置）300は、記録紙を搬送し、その上に画像データを可視画像として印字して装置外に排紙する。プリンタ部300は、複数種類の記録紙カセットを持つ給紙ユニット360と、画像データを記録紙に転写、定着させる機能を持つマーキングユニット310と、印字された記録紙をソート、ステイプルして機外へ出力する機能を持つ排紙ユニット370とで構成される。
【００２９】
制御装置110は、リーダー部200、プリンタ部300と電気的に接続され、さらにLAN400にと接続されている。制御装置110は、リーダー部200を制御して、原稿の画像データを読込み、プリンタ部300を制御して画像データを記録用紙に出力してコピー機能を提供する。また、リーダー部200から読取った画像データを、コードデータに変換し、LAN400を介して図示しないホストコンピュータへ送信するスキャナ機能、ホストコンピュータからLAN400を介して受信したコードデータを画像データに変換し、プリンタ部300に出力するプリンタ機能を提供する。
【００３０】
操作部150は、制御装置110に接続され、液晶タッチパネルで構成され、画像入出力システムを操作するためのユーザI/Fを提供する。
【００３１】
拡張コントローラ１０３は制御装置本体１７０と操作部１７１と周辺機器１７２から構成される。拡張コントローラ本体１７０は、よく知られているパーソナルコンピュータと同等のハードウェアアーキテクチャで構成され、汎用オペレーティングシステムや各種デバイスドライバや各種アプリケーションプログラムを含む一般的なソフトウェアを実行することができる。操作部１７１はユーザが拡張コントローラ１０３を操作するためのユーザインタフェースを提供する。周辺機器１７２は一般的なパーソナルコンピュータ用に提供されている各種の周辺機器であり、拡張コントローラ１７０のハードウェアを拡張する。
【００３２】
画像処理装置１００と拡張コントローラ１０３はＬＡＮ４００を介して接続され相互に通信できる。ローカルインタフェース２０１は両者の間に専用の通信経路を提供するためのオプションインタフェースであり、ＵＳＢや専用バスなどによって実装される。
【００３３】
図３は、画像処理装置と拡張コントローラの組み合わせによって構成された拡張画像処理システムの外観図である。
【００３４】
画像処理装置１００は各種の画像処理機能を提供する複合機である。拡張コントローラ１７０は画像処理装置１００の背面に設置される。操作部１７１は透明タッチパネルを表面に貼った液晶ディスプレイであり、拡張コントローラ１７0と電気的に接続されている。周辺機器１７２は拡張コントローラ１７１と電気的に接続されたＩ／Ｏ装置であり、たとえばＩＣカードリーダライタ、メモリメディアドライブなどである。拡張コントローラ１７０の操作部１７１と周辺機器１７２は専用スタンドに設置され、画像処理装置１００の前に立ったユーザによって容易に操作できるように配置されている。
【００３５】
図４は、画像処理装置の制御装置１１０のハードウェア構成を示すブロック図である。
【００３６】
メインコントローラ111は、主にCPU112と、バスコントローラ113、各種I/Fコントローラ回路とから構成される。
【００３７】
CPU112とバスコントローラ113は制御装置110全体の動作を制御するものであり、CPU112はROM114aまたは、NVRAM114bなどの不揮発性の記憶装置からROM/NVRAM I/F115を経由して読込んだプログラムに基いて動作する。また、ホストコンピュータから受信したPDL（ページ記述言語）コードデータを解釈し、ラスターイメージデータに展開する動作も、このプログラムに記述されており、ソフトウェアによって処理される。バスコントローラ113は各I/Fから入出力されるデータ転送を制御するものであり、バス競合時の調停やDMAデータ転送の制御を行う。
【００３８】
DRAM116はDRAM I/F117によってメインコントローラ111と接続されており、CPU112が動作するためのワークエリアや、画像データを蓄積するためのエリアとして使用される。
【００３９】
Codec118は、DRAM116に蓄積されたラスターイメージデータをMH/MR/MMR/JBIG/JPEG等の方式で圧縮し、また逆に圧縮され蓄積されたコードデータをラスターイメージデータに伸長する。SRAM119はCodec118の一時的なワーク領域として使用される。Codec118はI/F120を介してメインコントローラ111と接続され、DRAM116との間のデータの転送は、バスコントローラ113によって制御されDMA転送される。
【００４０】
Graphic Processor135は、画像回転、変倍処理、色空間変換等の処理を行う。
【００４１】
外部通信I/F121はI/F122によってメインコントローラ111と接続され、コネクタ122によって外部ネットワークと接続される。
【００４２】
汎用高速バス125には、拡張ボードを接続するための拡張コネクタ124とI/O制御部126とが接続される。汎用高速バスとしては、一般的にPCIバスがあげられる。
【００４３】
I/O制御部126には、リーダー部200、プリンタ部300の各CPUと制御コマンドを送受信するための調歩同期シリアル通信コントローラ127が２チャンネル装備されており、I/Oバス128によって外部I/F回路140、145に接続されている。
【００４４】
パネルI/F132は、LCDコントローラ131に接続され、操作部150上の液晶画面に表示を行うためのI/Fと、ハードキーやタッチパネルキーの入力を行うためのキー入力I/F130とから構成される。
【００４５】
操作部150は液晶表示部と液晶表示部上に張り付けられたタッチパネル入力装置と、複数個のハードキーを有する。タッチパネルまたはハードキーにより入力された信号は前述したパネルI/F132を介してCPU112に伝えられ、液晶表示部はパネルI/F520から送られてきた画像データを表示するものである。液晶表示部には、本画像処理装置の操作における機能表示や画像データ等を表示する。
【００４６】
リアルタイムクロックモジュール133は、機器内で管理する日付と時刻を更新/保存するためのもので、バックアップ電池134によってバックアップされている。
【００４７】
E-IDEインタフェース161は、外部記憶装置を接続するためのものである。本実施例においては、このI/Fを介してハードディスクドライブ160を接続し、ハードディスク162へ画像データを記憶させたり、ハードディスク162から画像データを読み込ませたりする動作を行う。
【００４８】
コネクタ142と147は、それぞれリーダー部200とプリンタ部300とに接続され、同調歩同期シリアルI/F(143、148)とビデオI/F(144、149)とから構成される。
【００４９】
スキャナI/F140は、コネクタ142を介してリーダー部200と接続され、また、スキャナバス141によってメインコントローラ111と接続されており、リーダー部200から受け取った画像に対して所定の処理を施す機能を有し、さらに、リーダー部200から送られたビデオ制御信号をもとに生成した制御信号を、スキャナバス141に出力する機能も有する。
【００５０】
スキャナバス141からDRAM116へのデータ転送は、バスコントローラ113によって制御される。
【００５１】
プリンタI/F145は、コネクタ147を介してプリンタ部300と接続され、また、プリンタバス146によってメインコントローラ111と接続されており、メインコントローラ111から出力された画像データに所定の処理を施して、プリンタ部300へ出力する機能を有し、さらに、プリンタ部300から送られたビデオ制御信号をもとに生成した制御信号を、プリンタバス146に出力する機能も有する。
【００５２】
DRAM116上に展開されたラスターイメージデータのプリンタ部への転送は、バスコントローラ113によって制御され、プリンタバス146、ビデオI/F149を経由して、プリンタ部300へDMA転送される。
【００５３】
図５は、画像処理装置のコントローラのソフトウェアのモジュール構造を示すブロック図である。
【００５４】
画像処理装置に内蔵されるコントローラ１１０によって処理されるソフトウェアは、いわゆるファームウェアとして実装されており、装置のＣＰＵ１１２によって実行される。
【００５５】
リアルタイムＯＳ５００１はリアルタイムオペレーティングシステムであり、組み込みシステムの制御に最適化された各種資源管理のサービスと枠組みをその上で動作するソフトウェアのために提供する。リアルタイムＯＳが提供する各種資源管理のサービスと枠組みには、ＣＰＵによる処理の実行コンテクストを複数管理することによって複数の処理を実質的に並行動作させるマルチタスク管理（スレッド管理）、タスク間の同期やデータ交換を実現するタスク間通信、メモリ管理、割り込み管理、各種のデバイスドライバ、ローカルインタフェースやネットワークや通信などの各種プロトコルの処理を実装したプロトコルスタック、などがある。ファイルシステム５００２はハードディスクやメモリなどの記憶装置上に構築されたデータを格納するための機構である。画像処理装置コントローラ１１０が扱うジョブをスプールしたり各種データを保存したりするために用いる。
【００５６】
ジョブ制御・装置制御モジュール５００３は、画像処理装置のハードウェアを制御し、また、画像処理装置の主にハードウェアが提供する基本機能（プリント、スキャン、通信、画像変換など）を利用するジョブを制御する。
【００５７】
管理モジュール５００４は画像処理装置コントローラ１１０の動作に係る内部状態を制御するなど、コントローラの動作を管理する。
【００５８】
制御ＡＰＩ５００５は、この層よりも下位のソフトウェアモジュール群が提供するサービスをこの層よりも上位の組み込みアプリケーション群が利用するために設けられたアプリケーションプログラミングインタフェースである。
【００５９】
ネットワークサービス５００６は、制御ＡＰＩ５００５とネットワークプロトコルとを相互変換することによって、クライアントＰＣなど外部のネットワークノードから装置の基本機能を利用可能とする。また特にネットワークプリントのための各種プロトコルを実装したネットワークサーバ機能を備え、クライアントＰＣなど外部のネットワークノードからのプリントジョブの投入を可能とする。
【００６０】
組み込みアプリケーションロジック５００７、プレゼンテーションインタフェース５００８、組み込みアプリケーションＵＩ５００９は、組み込みアプリケーションを構成する。組み込みアプリケーションは、画像処理装置の基本機能に加えてさらにコピー、画像スキャン、文書送受信、文書ファイリングなどの上位機能を、制御ＡＰＩの基本機能を利用して実現する。組み込みアプリケーションロジック５００７は、組み込みアプリケーションのビジネスロジック部分に相当する。プレゼンテーションインタフェース５００８は組み込みアプリケーションのビジネスロジックとプレゼンテーションロジックを分離するために設けられたインタフェースである。組み込みアプリケーションＵＩ５００９は組み込みアプリケーションのプレゼンテーションロジックに相当し、ユーザによる組み込みアプリケーションの操作を可能とするためにグラフィカルユーザインタフェース（ＧＵＩ）の表示や入力の制御を行う。組み込みアプリケーションＵＩ５００９は、画像処理装置の操作部１５０上にローカルなユーザインタフェースを提供するだけでなく、ＨＴＭＬなどのマークアップ言語とＨＴＴＰなどのＷｅｂ技術を用いて実現したＷｅｂアプリケーションも提供する。ユーザはクライアントＰＣなどの上で動作するＷｅｂブラウザからこのＷｅｂアプリケーションに接続して、画像処理装置を遠隔操作できる。Ｗｅｂアプリケーションとして実装した組み込みアプリケーションのプレゼンテーション層のことをここではリモートＵＩと呼ぶ。
【００６１】
組み込みＪａｖａ（登録商標）環境５０１０は、Ｊａｖａ（登録商標）仮想機械を中心に構成されるインタプリタ環境である。組み込みＪａｖａ（登録商標）環境５０１０はＪａｖａ（登録商標）のバイトコードで記述された命令列データを実行時に読み込み結合し、Ｊａｖａ（登録商標）仮想機械が命令を逐次的に読み込み解釈し実行するように構成されている。したがって、リアルタイムＯＳも含めてあらかじめ全体が単一のロードモジュールに静的結合されているファームウェア上にあって、ごく部分的ながらソフトウェアを動的に追加したり入れ替えたりできる拡張性や柔軟性を確保できる。リアルタイムＯＳやジョブ制御・装置制御ＡＰＩなどを含むファームウェア（ネイティブシステム）の資源やサービスをＪａｖａ（登録商標）のプログラムから利用可能なように構成したＪａｖａ（登録商標）のクラスライブラリ群が、Ｊａｖａ（登録商標） Native Interface（ＪＮＩ）によって提供されている。Ｊａｖａ（登録商標）環境５０１０の基本部分は、よく知られているＪａｖａ（登録商標） 2 Platform、 Micro Editionによって構築されている。
【００６２】
バックアップ・リストア制御モジュール5011は、本実施例におけるバックアップデータの送受信・記憶媒体への保存に関する処理を行なうモジュールであり、他の上位層のモジュールとは独立して存在する。
【００６３】
図６は、画像処理装置の操作部の表示部に表示される基本画面を示す説明図である。
【００６４】
尚、この画面はタッチパネルとなっており、それぞれ表示される機能の枠内を触れることにより、その機能が実行される。コピーモードキー５２４は、複写動作を行う場合に押すキーである。そして、このコピーモードキー５２４が押されたときに、図１１の５３０に示すコピーモードの画面を表示する。拡張機能キー５０１は、このキーを押すことによって両面複写、多重複写、移動、綴じ代の設定、枠消しの設定等のモードに入る。
【００６５】
５４０は、ステータスラインであり、機器の状態や印刷情報を示すメッセージを表示する。本図の場合、コピー待機中であることを示している。
【００６６】
画像モードキー５０２は、複写画像に対して網掛け、影付け、トリミング、マスキングを行うための設定モードに入る。ユーザモードキー５０３は、モードメモリの登録、標準モード画面の設定が行える。応用ズームキー５０４は、原稿のＸ方向、Ｙ方向を独立に変倍するモード、原稿サイズと複写サイズから変倍率を計算するズームプログラムのモードに入る。Ｍ１キー５０５、Ｍ２キー５０６、Ｍ３キー５０７は、それぞれに登録されたモードメモリを呼び出す際に押すキーである。オプションキー５０９は、フィルムから直接複写するため、フィルムプロジェクタ等のオプション機能の設定を行うキーである。ソータキー５１０は、ソート、ノンソート、グループの設定を行うキーである。原稿混載キー５１１は、原稿フィーダにＡ４サイズとＡ３サイズ、またはＢ５サイズとＢ４サイズの原稿を一緒にセットする際に押すキーである。等倍キー５１２は、複写倍率を１００％にする際に押すキーである。縮小キー５１４、拡大キー５１５は、定型の縮小、拡大を行う際に押すキーである。用紙選択キー５１３は、複写用紙の選択を行う際に押すキーである。濃度キー５１８、５２０は、キー５１８を押す毎に濃く複写され、キー５２０を押す毎に薄く複写される。濃度表示５１７は、濃度キー５１８、５２０を押すと表示が左右に変化する。ＡＥキー５１９は、新聞のように地肌の濃い原稿を自動濃度調整複写するときに押すキーである。ＨｉＦｉキー５２１は、写真原稿のように中間調の濃度が濃い原稿の複写の際に押すキーである。文字強調キー５２２は、文字原稿の複写で文字を際だたせたい場合に押すキーである。５６０は履歴キーであり、これを押下することで、印刷済みのジョブの履歴情報を表示する。たとえば、印刷ジョブの、終了時刻、ユーザ名、ファイル名、印刷枚数等の情報を表示する。６００は、プリンタ選択キーであり、リモートコピーや重連コピーを行う場合の受信側複写機を選択する際に押すキーである。
【００６７】
ガイドキー５２３は、あるキーの機能がわからないとき押すキーであり、そのキーの説明が表示される。ファックスキー５２５は、ファックスを行うときに押すキーであり、Boxキー５２６は、Box機能を表示させたいときに押すキーである。プリンタキー５２７は、プリントの濃度を変更する、あるいは、リモートのホストコンピュータからのＰＤＬデータのプリント出力詳細情報を参照したい場合に押すキーである。
【００６８】
図７は、拡張コントローラのハードウェア構成を示すブロック図である。
【００６９】
メインＣＰＵ４１０１は、全体の制御を行う中央演算装置であり、ＲＯＭ４１０５およびハードディスクユニット４１０５に記憶されたプログラムを実行する。ネットワークインタフェース４１０２は、他の機器との間でネットワークを介したデータ通信を行うための制御部である。CPU４１０１によって実行されるソフトウェアは、ＬＡＮ４００を介して、印刷デバイスや他のネットワーク機器、あるいは他のコンピュータと双方向のデータのやり取りを行うことができる。周辺インタフェース４１０３は、周辺機器の制御を行うための制御部である。メモリ４１０４は、ＣＰＵ４１０１で実行する命令や、データなどを保存するための、一般的には揮発性の記憶部である。ＲＯＭ４１０５は、基本的なハードウェア制御を行うためのプログラム（例えばブートプログラム（起動プログラム：ハードやソフトの実行（動作）を開始するプログラム）など）やデータなどを保存するための読み取り専用記憶部である。ハードディスクユニット４１０５は、計算機４１００本体で実行されるプログラムや演算されたデータなどを保存するための、一般的には不揮発性の記憶部である。複数のアプリケーション、編集ファイル、ユーザファイルそしてネットワーク管理プログラム等を記憶する。ディスプレイインタフェース４１０７は、拡張コントローラの内部状態や、実行状態などを表示するための表示部を接続するため制御部である。キーボードインタフェース４１０８やマウスインタフェース４１０９は、計算機４１００に対してユーザがデータや命令を入力するための入力装置を接続できる。周辺機器インタフェース４１０３は、ＵＳＢ、ＲＳ−２３２Ｃシリアル、ＩＥＥＥ１３９４などの仕様を実装した周辺機器１７２を接続するための制御部である。周辺機器１７２は、例えば、CD-ROMドライブやメモリメディアドライブなどの外部記憶装置や、ユーザを特定するためのユーザ認証装置などである。操作部１７１は液晶ディスプレイ４２０３とその表面に透明なシート状に貼られたタッチパネル４２０２とから構成される。タッチパネル４２０２はマウスと同様のポインティングデバイスである。ＣＰＵ４１０１で実行されるソフトウェアはタッチパネル４２０２によってユーザがポイントした表示上の位置を座標データとして検出することができる。タッチパネル４２０２は周辺機器インタフェース４１０３によって駆動される。液晶ディスプレイ４２０３は拡張コントローラの内部状態や、実行状態などを表示するための表示部である。ＣＰＵ４１０１で実行されるソフトウェアは液晶ディスプレイ４２０３上にグラフィカルユーザインタフェースを描画できる。液晶ディスプレイ４２０３はディスプレイインタフェース４１０７によって駆動される。
【００７０】
図８は、拡張コントローラ内のアプリケーションが画像処理装置とインタフェースするためのＡＰＩを示す図である。
【００７１】
図のブロックは拡張コントローラ本体１０３のＣＰＵ４１０１によって実行されるソフトウェアのプログラム的なモジュールに対応する。
【００７２】
アプリケーション８００１は拡張コントローラ本体１０３で実行される各種アプリケーションに対応する。
【００７３】
ＡＰＩ８００２はアプリケーション８００１が画像処理装置コントローラ１１０上のソフトウェアとインタフェースするためのアプリケーションプログラムインタフェースである。
【００７４】
プリンタドライバ８００３はアプリケーション８００１によるプリントを可能とするモジュールである。プリントを実現するために、プリントサービスのプロトコルに従って実装されたクライアントとして、画像処理装置のネットワークサービス５００６とインタフェースする。
【００７５】
スキャナドライバ８００４はアプリケーション８００１による画像スキャンを可能とするモジュールである。スキャンを実現するために、画像処理装置内の制御ＡＰＩ５００５に相当するプロトコルにしたがって実装されたクライアントとして、制御ＡＰＩ５００５とインタフェースする。
【００７６】
ジョブ制御・装置制御インタフェース８００５はアプリケーション８００１による基本的なジョブ制御と装置制御を可能とするモジュールである。基本的なジョブ制御と装置制御を実現するために、画像処理装置内の制御ＡＰＩ５００５に相当するプロトコルにしたがって実装されたクライアントとして、制御ＡＰＩ５００５とインタフェースする。
【００７７】
プレゼンテーション拡張インタフェース８００６は、アプリケーション８００１による画像処理装置内組み込みアプリケーションＵＩ５００９の拡張を可能とするためのモジュールである。このモジュールは、プレゼンテーションインタフェース５００８に相当するプロトコルにしたがって実装されたクライアントとして、プレゼンテーションインタフェース５００８とインタフェースする。このモジュールが提供するＡＰＩによって、拡張コントローラ内のアプリケーション８００１は、画像処理装置に組み込まれた組み込みアプリケーションのＵＩ５００９に相当するプレゼンテーションロジック（つまりアプリケーションのＵＩ）を実装することができる。また、アプリケーション８００１の実装次第で、組み込みアプリケーションＵＩ５００９にはない機能を拡張したりカスタマイズしたりすることもできる。
【００７８】
組み込みアプリケーション拡張インタフェース８００７は、アプリケーション８００１による画像処理装置内組み込みアプリケーションロジック５００７のカスタマイズを可能とするためのモジュールである。このモジュールは、組み込みアプリケーションロジック内部が備えるプラグインのためのインタフェース（不図示）に相当するプロトコルにしたがって実装されたクライアントであり、組み込みアプリケーションロジック５００７とインタフェースする。このモジュールが提供するＡＰＩによって、拡張コントローラ内のアプリケーション８００１は、画像処理装置に組み込まれた組み込みアプリケーションのビジネスロジック５００７の一部を置き換えたり拡張したりするプラグインを実装することができる。
【００７９】
画像ジョブ制御インタフェース８００８は、アプリケーション８００１による特に高速の画像処理を可能とするためのモジュールである。このモジュールは、ジョブ制御・装置制御モジュール内部の内部ＡＰＩに相当するプロトコルにしたがって実装されたクライアントであり、また、ローカルインタフェース２０１による画像転送を組み合わせることによって、拡張コントローラと画像処理装置の間で画像や文書をやり取りするジョブの高速化を達成する。
【００８０】
図９は、拡張コントローラのソフトウェアのモジュール群の階層構造を示すブロック図である。
【００８１】
汎用オペレーティングシステム（ＯＳ）９００１は拡張コントローラのオペレーティングシステムである。リアルタイムＯＳと異なり汎用ＯＳは主に情報処理装置やコンピュータの土台を提供するソフトウェアとして開発されてきている。汎用ＯＳ９００１は拡張コントローラが備えるハードウェア的およびソフトウェア的な各種資源を抽象化して、より上位のソフトウェアから容易かつ効率的に利用可能とする。汎用ＯＳが提供する機構にはたとえば以下がある。すなわち、ＣＰＵによる処理の実行コンテクストを複数管理することによって複数の処理を実質的に並行動作させるマルチプロセス機構やスレッド機構、プロセス間およびスレッド間の同期やデータ交換を実現するプロセス間通信やスレッド間通信、プロセスごとに保護されたメモリ管理、割り込み管理、各種のデバイスドライバ、ローカルインタフェースやネットワークや通信などの各種プロトコルの処理を実装したプロトコルスタック、などが提供される。特筆すべきは、市販されている一般のコンピュータ周辺機器のデバイスドライバは汎用ＯＳ用のものが多く提供されていることである。この理由は、一般にコンピュータ周辺機器は汎用ＯＳが稼動するパーソナルコンピュータなど汎用の情報処理装置のために開発されるためである。汎用ＯＳを採用することで、市場に出回っている多種多様なコンピュータ周辺機器のハードウェアとデバイスドライバをそのまま、または比較的容易に、拡張コントローラ１０３のために流用することができる。拡張コントローラ１０３は画像処理装置１００の拡張性や柔軟性を補うために付加されるアクセサリであるが、その目的は汎用の情報処理装置と同等のハードウェア構成を採用するだけでなくさらにソフトウェア的には汎用のＯＳを採用することによってより効率的に達成される。
【００８２】
拡張コントローラプラットフォーム９００２は拡張コントローラ１０３のソフトウェアの動作環境を提供する土台となるソフトウェア（ライブラリ、フレームワーク、およびランタイムモジュールなど）である。また、画像処理装置１００に内蔵された組み込みアプリケーションと連携するアプリケーションを拡張コントローラ１０３内に容易に構築可能とするために用意されたユーティリティライブラリ、フレームワーク、およびランタイムモジュール群を含む。システムアプリケーション９００４は拡張コントローラ１０３に標準搭載され、ユーザによる拡張画像処理システムの利用や管理を助けるためのユーティリティアプリケーション群である。
【００８３】
ユーザランドアプリケーション９００５に分類されるアプリケーション群は、拡張画像処理システムの拡張された機能をユーザに提供するためのアプリケーション群である。ユーザランドアプリケーション９００５に分類されるアプリケーションはアプリケーションを単位としてインストールによって追加することもアンインストールによって削除することも可能である。また、アプリケーションプログラムの実体だけでなく、ユーザがそのアプリケーションプログラムを実行する許諾（ライセンス）を購入したときのみアプリケーションを活性化（アクティベート）するように制御することもできる。
【００８４】
ＭＦＰ統合アプリケーション９００６は画像処理装置１００の組み込みアプリケーションに対応するユーザランドアプリケーションであり、画像処理装置１００が提供する上位機能や基本機能を拡張コントローラから利用可能とする。ＭＦＰ統合アプリケーション９００６はプレゼンテーション拡張インタフェース８００６や組み込みアプリケーション拡張インタフェース８００７によって、画像処理装置１００の組み込みアプリケーションとインタフェースする。ＭＦＰ統合アプリケーション９００６は単に画像処理装置１００の組み込みアプリケーションとまったく同様な機能性やユーザインタフェースを提供するだけでなくそれらを拡張して提供することもできる。ＭＦＰ統合アプリケーションは９００７から９０１２のアプリケーション部品を内部に含み統合している。
【００８５】
コピー９００７は画像処理装置１００の組み込みアプリケーションの一機能であるコピー機能に相当するアプリケーション部品である。
【００８６】
ボックス９００８は画像処理装置１００の組み込みアプリケーションの一機能である文書ファイリング機能に相当するアプリケーション部品である。
【００８７】
送信９００９は画像処理装置１００の組み込みアプリケーションの一機能である文書送受信機能に相当するアプリケーション部品である。
【００８８】
ポータル９０１０はユーザの好みに応じてよく使う機能や定型処理を簡単に呼び出すための入り口を提供するアプリケーション部品である。ＭＦＰ統合アプリケーション９００６のアプリケーション部品をまたがって動作パラメータの設定や一連の操作などをマクロ化し、複数のマクロを実行するためのカスタマイズボタン群を自在に配置可能なユーザインタフェースを提供する。
【００８９】
本体ジョブモニタ９０１１は画像処理装置１００内部で実行中のジョブの状況や完了したジョブの履歴などを参照するためのアプリケーション部品である。
【００９０】
デバイス管理９０１２は画像処理装置１００のハードウェアを管理するためのユーザインタフェースを提供するアプリケーション部品である。
【００９１】
メモリメディア操作９０１３は拡張コントローラに周辺機器として接続された各種のリムーバブルストレージ（光磁気メディアドライブ、ＵＳＢストレージ、メモリカードなど）の操作を行うためのユーザランドアプリケーションである。メモリメディア内部に格納された文書を画像処理装置１００に引き渡してプリント、送信、またはファイリングしたり、画像処理装置１００が画像スキャンまたは受信した文書やファイリングされていた文書を受け取ってメモリメディアに格納したりすることができる。
【００９２】
暗号化セキュアプリント９０１４は、クライアントＰＣから暗号化されたプリント要求を受信して暗号化されたままいったん格納し、許可されたユーザによる操作であることがユーザ認証された場合のみ複合化して実際の画像処理装置１００へのプリントを行うという、暗号化留め置きプリント機能を提供するユーザランドアプリケーションである。
【００９３】
ブラウザ９０１５は拡張コントローラ１０３の操作部でＷｅｂなどのブラウジング機能を提供するユーザランドアプリケーションである。
【００９４】
９０１６、９０１７、９０１８は他のユーザランドアプリケーションである。前述したように、ユーザランドアプリケーションは柔軟に追加や削除または活性化や不活性化することができる。
【００９５】
バックアップ・リストア制御モジュール9019は、本実施例におけるバックアップデータの送受信・記憶媒体への保存に関する処理を行なうモジュールであり、他の上位層のモジュールとは独立して存在する。
【００９６】
図１０は、拡張コントローラのシステムアプリケーション群を説明するブロック図である。
【００９７】
拡張コントローラ１０３のシステムアプリケーション９００４として分類されるソフトウェアモジュール（パッケージ）には以下のユーティリティプログラムやランタイムモジュールなどが含まれる。
【００９８】
ファンクションキーパネル１０００１は機能メニューやソフトウェアキー等を拡張コントローラ操作部表示部のデスクトップに配置するフレームワークとコンテナである。ファンクションキーとして以下を配置することができる。システム既定のキー（たとえばログアウト、シャットダウン、カウンタ確認、余熱、システム状況、システム設定、スクリーンキーボード呼び出し）、選択中のアプリケーションに応じて動作が切り替わるアプリケーションコンテキストキー（たとえばガイド、アプリケーション設定、アプリケーション状況）、選択中のアプリケーションがその操作を助けるために追加配置するカレントアプリケーション追加キー（たとえばアプリケーション内部の固有メニューの一部をキーとして展開配置したもの）、など。キーのレイアウトとルック＆フィールはユーザの好みに応じてカスタマイズ（パーソナライズ）できる。ファンクションキーパネルのルック＆フィールは、システム全体のテーマと連動して切り替わる。たとえば高コントラストや反転などのテーマが選ばれると、ファンクションキーパネルの表示もそれぞれの特性を反映するように切り替わる。ファンクションキーパネルにはソフトウェアキーやメニューだけでなく時計やメール着信フラグなどのアプリケーションコンポーネントも配置できる。あるユーザの利用状況においては、ファンクションキーパネルには「ユーザモード」、「キーボード」、「操作パネル」、「ガイド」、「アバウト」および「リセット」と名づけられたキーが配置される。
【００９９】
「ユーザモード」は、選択中のカレントアプリケーションに対して環境設定ダイアログを開くことを指示するか、または、システムアプリケーションのひとつであるシステム環境設定１０００９を起動する。
【０１００】
「キーボード」はシステムアプリケーションのひとつであるスクリーンキーボード１０００２の起動を指示する。
【０１０１】
「操作パネル」はシステムアプリケーションのひとつである操作パネルエミュレータ１０００３の起動を指示する。
【０１０２】
「ガイド」は、選択中のカレントアプリケーションに対して、システムアプリケーションのひとつであるヘルプを用いて、アプリケーションの動作状況に応じたオンラインマニュアルを表示することを指示する。
【０１０３】
「アバウト」は、選択中のカレントアプリケーションに対して、バージョン、開発元、著作権などのアプリケーション情報を表示することを指示するか、あるいは、システム全体に関するモジュールごとのバージョンや著作権情報などを表示する。
【０１０４】
「リセット」は選択中のカレントアプリケーションに対して、ユーザが途中まで行った一連の操作を取り消してその時点の状況に応じたひとつ前のチェックポイントまでロールバックすることを指示する。たとえばユーザがテキスト入力フィールドに文字列を入力にリセットを押下すると入力途中の文字列がクリアされたり、あるいは文字列の仮名漢字変換途中にリセットを押下すると変換候補選択状態が解除されて仮名に戻ったり、画像処理ジョブの動作パラメータを設定するためのダイアログに対して設定値の変更を施している最中にリセットを押下すると変更途中の設定はキャンセルされて当初の値に戻ったりする。
【０１０５】
スクリーンキーボード１０００２は物理的なフルキーボードをエミュレーションするためのソフトウェアキーボードである。タッチパネルを指で操作するために操作性を最適化してある。拡張コントローラ１０３にはオプションで物理的なキーボードが装着される場合もあることを考慮して、システムのできるだけ低レベルで物理キーボードをエミュレートする（すなわちシステムのほとんどのレベルで、物理キーボードと区別する必要がないように構成される）。スクリーンキーボードの表示が前面を覆うことによって、入力の宛先となるアプリケーションの操作性は低下してしまうが、できるだけ邪魔にならないように配慮され、たとえば、表示・非表示の切り替えや表示位置の移動が指で簡単に操作できる。またディスプレイがより高解像度化したとき指での操作にむかないほどキートップが小さくならないように、解像度独立に構成される。スクリーンキーボードは国際化の対象であり、拡張コントローラ１０３の出荷される仕向けのロカール（locale）に応じて入力言語などが切り替わる。
【０１０６】
操作パネルエミュレータ１０００３は、画像処理装置１００の物理的な操作パネルをエミュレーションするためのソフトウェアパネルである。操作パネルを構成するスタートキー・ストップキー・テンキーなどをソフトウェアによってエミュレートする。各種キーのコンポーネントが押されたとき生成するキーコードは、拡張コントローラにオプションとして接続される物理的なキーボードが生成するキーコードにマッピングされる。たとえば、テンキーのキーが押されたとき、各キーに相当する物理フルキーボードのキーコードが生成される。操作パネルエミュレータのＧＵＩはアプリケーションからの要求に応じて表示される。また、ユーザの明示的な操作によって表示させることもできる。操作パネルエミュレータは、画像処理装置１００の機種依存な差異を選択するために複数のモードを持つ。たとえば画像処理装置１００がファクス対応機である場合はファクス用キー（＊や＃など）を備えたモードで動作する。また、アプリケーションが操作パネルエミュレータを呼び出す場合には、アプリケーションからキーごとの表示・非表示を選択できる。
【０１０７】
アイコンボックス１０００４は、カレントアプリケーションを切り替えるためのシステムアプリケーションである。その時点で操作対象とするユーザランドアプリケーションをユーザが選択するためのアプリケーション選択リストのプレゼンテーションロジックを提供する。アイコンボックス１０００４には、アイコン画像、および／または、アプリケーション名がリスト表示され、ユーザが選択するとカレントアプリケーションがそのアプリケーションに切り替わる。アプリケーション名はテキスト、または、画像のどちらの形式で与えられても表示できる。テキストは国際化フレームワークに連動したローカライズ対象である。アイコン画像やアプリケーション名のリソースは、各ユーザランドアプリケーションモジュールの中に含まれるリソースを利用する。ユーザがアイコンの表示順序を編集することができる。ルック&フィールはテーマと連動して切り替わる。アイコンボックスそのものはアプリケーションのセレクタであってラウンチャではない。ただし、ライフサイクル管理の遅延起動機構を提供することにより、アプリケーションは最初に選択されたときにはじめて起動されるように登録することもできる。アプリケーションごとの強制終了やアラート表示などの機能を追加してもよい。
【０１０８】
インストーラ１０００５は拡張コントローラを構成する各種のソフトウェアをインストールするためのインストーラである。インストール対象のソフトウェアは、ユーザランドアプリケーション、システムアプリケーション、ライブラリ、ドライバ、拡張コントローラプラットフォームのモジュール群などがある。インストールするソフトウェアモジュールはリムーバブルメディアなどローカルファイルシステムから供給するだけでなく、ネットワーク経由で供給することもできる。
【０１０９】
アップデータ１０００６は拡張コントローラ１０３を構成する各種のソフトウェアをアップデートするためのシステムアプリケーションである。アップデート対象のソフトウェアはインストーラ１０００５のインストール対象と同様である。アップデートするソフトウェアモジュールはローカルファイルシステム（リムーバブルメディアも含む）から供給するだけでなく、ネットワーク経由で供給することもできる。サーバに存在するアップデータの更新をネットワーク経由で検出し、更新されていれば管理者ユーザにアップデートを促す機能も有する。
【０１１０】
カウンタ参照１０００７は、カウンタ値を参照するためのシステムアプリケーションである。画像処理装置１００のカウンタと拡張コントローラ１０３のアプリケーション利用をカウントするカウンタの両方を参照できる。
【０１１１】
アンチウィルス１０００８はウィルス感染の予防と検出、および、感染時の修復を行うシステムアプリケーションである。
【０１１２】
システム環境設定１０００９は拡張コントローラ１０３のシステムソフトウェアやハードウェアの各種の環境設定項目（プリファレンス、プロパティ）を参照したり編集したりするためのシステムアプリケーションである。システム環境設定は複数のコンポーネントをプラグイン可能なコンテナであり、各種の環境設定項目はそのカテゴリにしたがってそれぞれを設定するためのコンポーネントによって処理される。設定対象（設定項目）によって、たとえばシステム管理者のみが参照可能であったり設定可能であったりというように適切にアクセス制御される。
【０１１３】
テーマ１００１０は、アプリケーションごとに有するカスタマイズ項目（プリファレンス）を、統一感を維持して一元的に設定するための機構を提供するシステムアプリケーションである。たとえば、ユーザが自身の好みや身体的特性に合わせて全体的な色調設定やコンポーネントの表示サイズ設定などをテーマとして指定すると、各種アプリケーションはテーマに連動した動作モードで動作する。
【０１１４】
起動アプリケーション選択１００１１は、ユーザ毎に、アプリケーションの起動と停止を制御するシステムアプリケーションである。ユーザはシステムにインストールされているアプリケーションの一覧から、アプリケーションを選択し、実行状態に状態遷移させることができる。実際に実行が許可されるかどうかはユーザの権限に基づく。また、実行状態にあるアプリケーションの中からアプリケーションを選択し停止状態に状態遷移させることができる。システム管理者は、全ユーザに共通の共通設定を行うこともできる。
【０１１５】
ログインダイアログ１００１２はログイン機構に対応するシステムアプリケーションである。拡張画像処理システムをユーザが利用するユーザセッションの開始に必要なユーザとの対話を行う。必要な対話とは、たとえば、システムがユーザに対してユーザ認証に必要な情報（ドメイン名、ユーザ名、パスワード）のエントリを求める。ユーザ名のエントリは、テキスト入力だけでなく、より簡易にユーザリストから選択可能なように設定できる。特にゲストユーザ（認証不要のユーザ）による操作を許す運用を行う場合、ゲストユーザによるログイン操作は簡易に行えるように設定できる。ログイン方法の設定変更はシステム管理者ユーザが行う。ユーザがログインしていない状態（ユーザセッション中ではないシステムセッション中）に表示されるユーザインタフェースを備えるので、システムセッションの管理操作（シャットダウンなど）を行うための機能を付加したり、画像処理装置１００の状態表示を行う機能を付加したりする場合もある。ユーザセッションの開始に際して、ＩＣカードや生体認証などに基づくユーザ認証を行う場合、専用のログインダイアログ実装で置き換えられるように構成されている（ログイン機構の実装も同様に置き換えられる）。
【０１１６】
ユーザ管理１００１３は拡張画像処理システムを利用するユーザの管理とユーザの権限の管理を行うシステムアプリケーションである。
【０１１７】
アドレス帳１００１４はシステム内部または外部のディレクトリサービスに接続しディレクトリ情報を編集操作するためのシステムアプリケーションである。宛先情報を含むが、これに限定されず、ユーザ、組織、デバイス、あるいはサービスなどの各種エンティティごとにその諸属性をディレクトリ情報として扱う。
【０１１８】
ステータスティッカ１００１５はシステムとアプリケーションが通知するステータス情報やメッセージを表示するためのシステムアプリケーションである。テキストやアイコン画像などを表示することができる。ステータスティッカ１００１５は、並行する複数のメッセージ表示要求に対し優先度ベースの調停や時分割表示なども行う。ステータスティッカのメッセージ表示はアニメーションなどによるさまざまな表示効果に対応している。
【０１１９】
システム状況モニタ１００１６は拡張コントローラ１０３のハードウェアおよびソフトウェアの両面に関するシステムの状況とアプリケーションの状況を監視するためのシステムアプリケーションである。拡張画像処理システム１０を構成する各種モジュール群のバージョンや著作権などの情報を確認することもできる。
【０１２０】
ログビューア１００１７は拡張コントローラ１０３および画像処理装置１００のそれぞれのシステムや組み込みアプリケーションが残すログ情報を参照したり管理したりするためのシステムアプリケーションである。
【０１２１】
システムセットアップ１００１８は拡張画像処理システム１０を設置する際の初期セットアップ手順や、画像処理装置１００を新機種に交換する際のリプレース処理手順、何らかのトラブルによって拡張コントローラ１０３のシステムが破壊され復旧する必要が生じた際の回復手順などを補助するためのユーティリティシステムアプリケーションである。
【０１２２】
バックアップ１００１９は拡張コントローラ１０３と画像処理装置１００のそれぞれが持つハードディスクや不揮発性メモリに格納されたデータを、拡張コントローラ１０３に接続されたリムーバブルメディア、外部記憶装置、またはネットワークストレージなどの安全な記憶手段に退避し、また退避したデータを元に戻すリストアを行うためのシステムアプリケーションである。
【０１２３】
このシステムアプリケーションは、前記、拡張コントローラプラットフォーム９００２に組込まれている本実施例におけるバックアップデータの送受信・データの保存を実行するモジュールとは、異なるモジュールである。
【０１２４】
スクリーンセーバ１００２０はユーザが拡張コントローラ１０３の操作部を利用していないときに表示部の焼きつきを防ぐために表示の制御を行うシステムアプリケーションである。スクリーンセーバ１００２０では拡張画像処理システム１０の便利な使い方などを紹介するアニメーションを再生することもできる。また、画像処理装置１００の紙なしなどのアラーム情報を表示したり、システム管理者などが設定したメッセージ（たとえば「定期メンテナンス日時のお知らせ」など）などを掲載した仮想的な伝言板を表示したり、ネットワーク経由でサーバから最新の情報（天気予報やニュースなど）を取得して表示したりすることもできる。複数のユーザが交互にログインして拡張コントローラ１０３を用いる運用形態においては、スクリーンセーバ１００２０はログアウトし忘れて装置の前を離れたユーザを自動的にログアウトさせるためのオートログアウト処理を行う。
【０１２５】
ヘルプシステム１００２１は、拡張画像処理システム１０のシステム全体の利用方法などを解説する文書を表示したり、それぞれのユーザランドアプリケーションがその解説文書を表示することを助けたりするためのシステムアプリケーションである。システムのモジュールや各アプリケーションモジュールなどがそれぞれモジュール単位で供給した解説文書コンテンツを、システム全体として統合するポータル機能を備える。アプリケーションプログラムからヘルプシステム１００２１に対してコンテンツ内の任意の箇所をユーザに提示するように指示することが可能である。したがって、アプリケーションはその動作状況に応じて最適な情報をユーザに提示できる。ヘルプシステム１００２１はＷｅｂアプリケーションとして構成されているため、拡張コントローラ１０３の操作部１７１に解説文書を表示するだけでなく、クライアントＰＣ１１などで稼動するＷｅｂブラウザ上に解説文書を表示することもできる。
【０１２６】
文書ビューア１０２２は、テキスト、画像、およびアプリケーション固有形式など各種フォーマットの文書データを表示するためのシステムアプリケーションである。表示する文書の形式の例には、テキスト、ＨＴＭＬやＸＭＬやＳＧＭＬなどのマークアップ言語で記述された文書、ＪＰＥＧやＰＮＧやＴＩＦＦやＪＢＩＧなどの画像、ページ記述言語、ＰＤＦなどの文書、表示を伴うプログラム、アニメーション、あるいは、ワードプロセッサやプレゼンテーションや表計算など各種アプリケーションプログラム固有のプロプラエタリなフォーマットに基づく文書データなどがある。文書ビューア１０２２が扱う文書の一部または全部は、画像処理装置１００によってプリント、スキャン、送受信、ファイリングなどが可能である。
【０１２７】
ファイル操作１００２３は、拡張コントローラ１０３に内蔵または接続された各種記憶手段の上に構築されたファイルシステム、画像処理装置１００が持つファイルシステム、または、ネットワーク経由でサーバコンピュータ１２やクライアントＰＣ１１などが提供するネットワーク共有のファイルシステムを操作するシステムアプリケーションである。
【０１２８】
文書管理１００２４は、拡張コントローラ１０３に搭載された文書管理システム（document management system）である。文書管理１００２４は拡張コントローラ１０３のファイルシステムや外部サーバのデータベース管理システムなどを用いて各種の文書データの蓄積、検索、管理などを実現するための機能を提供する。
【０１２９】
図１１は、拡張コントローラのソフトウェアプラットフォームを構成するソフトウェアパッケージ群を説明するブロック図である。
【０１３０】
システムセッション管理１１００１は拡張コントローラ１０３のブートアップからシャットダウンまで、システム全体のセッション管理を行うためにシステム全体の構成および設定を管理する。デーモン型サービス（常駐型アプリケーションとして実装されたシステムアプリケーションとユーザアプリケーション）のライフサイクル管理も行う。
【０１３１】
電源制御１１００２は拡張コントローラ１０３の省電力設定など電力制御の管理を行う。ハードウェアシステムとBIOS設定を管理する。
【０１３２】
ユーザセッション管理１１００３はログインからログアウトまで、ユーザによるログインセッションを管理する。コンソール型アプリケーション（ユーザのログインセッション中に動作するシステムアプリケーションとユーザアプリケーション）のライフサイクル管理を行う。またWebアプリケーションのログインセッション管理機構を助ける。
【０１３３】
ログイン機構１１００４はユーザがユーザセッションを開始する機構である。ユーザ管理およびユーザ認証パッケージによりユーザの特定を行う。ユーザ環境へのインテグレーションのために、個別のニーズに合わせたログイン機構がプラグイン可能である。たとえばＩＣカードによるユーザ認証や生体認証に基づくログイン機構を統合することができる。
【０１３４】
アクセス制御１１００５はユーザ毎に、および、ユーザが所属するグループ毎に、拡張画像処理システム１０を構成する各種リソースのアクセス権限を管理する。
【０１３５】
ユーザ管理・ユーザ認証１１００６はシステムを利用するユーザアカウントの管理とユーザの特定（識別）を行う。パスワードなどによるwhat-you-know型の認証だけなくＩＣカードなどによるwhat-you-have型や生体認証などによるwhat-you-are型の認証も利用できる。
【０１３６】
ディレクトリサービス連携１１００７は拡張コントローラ１０３のユーザ管理、ユーザ認証、またはディレクトリ情報の管理を外部のディレクトリサービスに委譲する。
【０１３７】
ディレクトリ１１００８は拡張コントローラ１０３が備えるローカルディレクトリサービスであり、ユーザ、および、各種リソースの情報を管理する。管理する情報は、ディレクトリサービスが管理対象とするあらゆるエンティティの属性とエンティティ間の関係である。たとえばNDSなどのディレクトリサービスが管理するエンティティの例には、ユーザ、プリンタ、ファイルサーバなどがあげられる。管理対象は、拡張コントローラ１０３システム内部のリソースと画像処理装置１００内部のリソースの両者である。
【０１３８】
アプリケーションライフサイクル管理１１００９はシステムアプリケーションおよびユーザランドアプリケーションのライフサイクル（インストール、アップデート、アンインストール、起動、中断、停止）を管理する。
【０１３９】
ライセンス管理１１０１０は拡張コントローラ１０３における各アプリケーションの利用許諾を管理する。
【０１４０】
アプリケーションカウンタ１１０１１は拡張コントローラ１０３に搭載された各アプリケーションの利用量と、アプリケーションの利用に伴うシステムリソースの利用量をカウントする。システムトータルのカウントだけでなくユーザ毎のカウントも可能である。
【０１４１】
環境設定管理１１０１２はシステム全体やアプリケーション毎の環境設定（プリファレンス、プロパティ、構成）を保持するデータベースである。ユーザに依存しない共通設定と、ユーザごとのユーザ固有設定とがそれぞれ管理される。
【０１４２】
リソース管理１１０１３はアプリケーションを構成する各種リソース（ローカライズ可能文字列、アイコン画像、サウンド、プラグイン、ＧＵＩ記述、補助データなど）の構造化と管理を助ける。
【０１４３】
パーソナライズフレームワーク１１０１４は複数のアプリケーションのアプリケーション固有設定に対し横断的にユーザの好みを反映するための枠組みを提供する。テーマ（たとえば画面全体の色調を選択すると個々のアプリケーションの色調が連動するなど）や、ユーザ固有で複数のアプリケーションから共通に参照される汎用の環境設定（POPサーバ情報など）を実現する。
【０１４４】
ユーザアシスタンス１１０１５は拡張コントローラ１０３のシステム全体およびアプリケーション群のドキュメンテーション（ガイド・ヘルプ、マニュアル、チュートリアルなど）を登録管理し、ユーザによるシステムやアプリケーションの利用を補助するための機構である。
【０１４５】
インプット１１０１６はユーザからの入力イベントを処理する。ユーザと拡張コントローラ１０３システム間のインタラクションにおいてユーザからのイベント入力源は、物理的なキーボードや操作部ハードキー、マウスなどのポインティングデバイス、スクリーンキーボードや操作部エミュレータ、ファンクションキーパネル上のスクリーンファンクションキーなどがある。インプットメソッド（各国語の文字入力のための入力手段あるいはフロントエンドプロセッサ）に関連する処理も行う。
【０１４６】
ステータスメッセージ管理１１０１７は各アプリケーションが表明する状態あるいはメッセージを受け付け管理する。ユーザや他のアプリケーションがその状態またはメッセージを取得するための機構を提供する。たとえばステータスティッカ１００１５がメッセージを取得する。
【０１４７】
国際化フレームワーク１１０１８はシステムとアプリケーションの国際化を助ける。
【０１４８】
ロギング１１０１９は各アプリケーションがログを残すための機構を提供する。アプリケーションがアプリケーションステータスメッセージ管理に対して送信した状態やメッセージの一部は自動的にロギングされる。エンドユーザのためのログだけでなく、開発者がアプリケーションをデバグするためのログも扱う。
【０１４９】
ウィンドウマネージャ１１０２０はネイティブの汎用ＯＳ９００１用ウィンドウマネージャとの連携によって実装される、拡張コントローラ１０３に最適化されOS独立なウィンドウマネージャである。各種アプリケーションが開くＧＵＩウィンドウの表示や重なりを制御する。また、指で操作しやすいウィンドウタイトル、メニュー、スライダなどを提供する。
【０１５０】
ＧＵＩツールキット１１０２１は拡張コントローラ１０３システム用にルック＆フィールをデザインしたＧＵＩフレームワーク、ＧＵＩ部品（コンポーネント）、および、ランタイムモジュールである。
【０１５１】
サウンド１１０２２はタップ音、警告音など音による、システムやアプリケーションからユーザへの情報提示を制御する。拡張コントローラ１０３システム用にデザインしたサウンドデータのライブラリが用意される。サウンドの設定はパーソナライズの対象である。
【０１５２】
セキュア通信チャネル１０２３は暗号化などの技術により実現される安全なネットワークコネクションを提供する。ＩＥＴＦのSecure Shell（secshまたはSSH）を用いて、セキュアでないTCPコネクションを簡単にトネリングする機構も提供する。
【０１５３】
セキュアファイルシステム１１０２４は安全なファイルシステムを提供する。暗号化などの技術によって実現される。
【０１５４】
暗号処理１１０２５は暗号処理のための機構を提供する。
【０１５５】
鍵管理１１０２６は各種の暗号処理のために必要な鍵を安全に管理する機構を提供する。
【０１５６】
画像処理１１０２７は各種画像処理のための機構を提供する。画像処理装置１００が内蔵する画像処理ハードウェアなどを用いた専用の画像処理機能を分散サービスとして拡張コントローラ１０３のアプリケーションから利用するための分散イメージング機構も提供される。またＯＣＲやブロックセレクションの技術も画像処理の一環として扱われる。
【０１５７】
プレゼンテーション拡張インタフェース１１０２８は拡張コントローラ１０３システム内アプリケーションによって実装されるプレゼンテーションロジックから、画像処理装置１００内の組み込みアプリケーションのビジネスロジックへの、通信機構を提供する。
【０１５８】
組み込みアプリケーション拡張インタフェース１１０１８は画像処理装置１００内の組み込みアプリケーションのビジネスロジックを分散コンポーネント化するためのフレームワークとアプリケーションプロトコルによって実現されるインタフェースである。
【０１５９】
ジョブ制御・装置制御インタフェース１１０３０は画像処理装置の製品シリーズをまたがって共通で統一的な制御モデルを提供するプリミティブなインタフェースである。ジョブ制御・装置制御インタフェース１１０３は、拡張コントローラ１０３システムのアプリケーションが画像処理装置１００のデバイス機能を制御することを可能とする。ジョブ制御・装置制御インタフェース１１０３０によって、拡張コントローラ１０３内のソフトウェアと画像処理装置１００内の組み込みアプリケーション層とがインタフェースすることはできない。
【０１６０】
画像ジョブ制御インタフェース１１０３１は画像処理装置１００によってプリントやスキャンなどの画像転送を伴う処理を高速に行うための高水準インタフェースである。画像ジョブ制御インタフェース１１０３１は拡張コントローラ１０３システム内のアプリケーションが画像処理装置１００本体のデバイス機能を利用することを可能とする。このインタフェースによって画像処理装置１００本体内の組み込みアプリケーション層とインタフェースすることはできない。
【０１６１】
プリンタドライバ１１０３２はネイティブの汎用ＯＳ９００１が提供するプリントフレームワークによって、拡張コントローラ１０３のアプリケーションから画像処理装置１００に対するプリントジョブやファクス送信ジョブや文書ファイル格納ジョブなどを投入する機構である。
【０１６２】
スキャナドライバ１１０３３はネイティブの汎用ＯＳ９００１が提供する画像スキャンフレームワークによって、拡張コントローラ１０３のアプリケーションから画像処理装置１００に対するプルスキャンジョブの投入とスキャン画像の取得を行う機構である。
【０１６３】
アプリケーション間通信１１０３４は拡張コントローラ１０３で動作するソフトウェアのプロセス間およびスレッド間の通信機構を提供する。拡張コントローラ１０３の汎用ＯＳ９００１はその上で動作する各プロセスに対してそれぞれ独立した保護されたメモリ空間を提供するため、異なるプロセスとして動作するアプリケーション間で通信を行うためには特別な機構を必要とする。アプリケーション間通信１１０３４は汎用ＯＳ９００１が提供する共有メモリ、パイプ、ソケットなどの機構を用いて、プロセス間通信のトランスポート層を実装している。プロセス間通信のアプリケーションプロトコル層はＸＭＬプロトコル（ＳＯＡＰ）を用いたＸＭＬベースのメッセージ交換を基本とし、ＸＭＬプロトコルの扱いを助けるツールキット、フレームワーク、エンジンが提供される。アプリケーション間通信１１０３４は、拡張コントローラ１０３と画像処理装置１００、および、拡張コントローラ１０３と外部システムなど、複数のノードに分散しネットワークを介した協調を行う複数のソフトウェア群による分散システムの構築を助けるためのフレームワークも含む。この枠組みには、前記のプログラミング言語独立なＸＭＬプロトコルに基づくものと、Ｊａｖａ（登録商標）の分散オブジェクト技術であるＲＭＩに基づくものとが提供される。
【０１６４】
マクロ・スクリプティング１１０３５はエンドユーザプログラミングやスクリプティング、あるいは、例題学習（ユーザが行った動作を記録して、再生可能とする）などの技巧によって、ソフトウェアにおける一連の処理を単一の処理にまとめるマクロ機構である。マクロ・スクリプティング１１０３５によって、ユーザは単一のアプリケーションの中で行う一連の処理をマクロ化するだけでなく、複数のアプリケーションの処理を組み合わせた処理を定型業務のようなマクロとして登録し利用することもできる。
【０１６５】
実行スケジューリング１１０３６は定時実行、および、システムセッションのイベント（たとえばブートアップ、シャットダウン）やユーザセッションのイベント（たとえばログイン、ログアウト）などに同期して所望の処理を自動的に実行するための機構である。
【０１６６】
Ｗｅｂサーバ１１０３７は、よく知られたネットワークプロトコルであるＨＴＴＰ（あるいはそれをセキュアにしたＨＴＴＰＳなども同様）に基づく要求に応えて要求元との間でデータの送受信を行うサービスである。
【０１６７】
アプリケーションサーバ１１０３８はＷｅｂサーバ１１０３７と連動し、クライアントとの間で動的なデータの交換を行うＷｅｂアプリケーションのために動作環境を提供する。Ｗｅｂサーバ１１０３７が受信したＨＴＴＰの要求メッセージをその要求メッセージに応じた適切なアプリケーションに対して要求として引渡し、アプリケーションの処理結果に基づくアプリケーションからの応答を受け取って対応するＨＴＴＰ応答メッセージとして元のＨＴＴＰ要求の要求元へと返送する。アプリケーションサーバ１１０３８は、Ｗｅｂアプリケーションを効率的に開発し動作させるために、テンプレートとテンプレート言語に基づくプログラムとの組み合わせによって動的にメッセージを生成するテンプレートエンジンを含む。またアプリケーションサーバ１１０３８は、Ｗｅｂアプリケーションを効率的に開発し動作させるために、ＭＶＣ（Model-View-Controller）アーキテクチャに基づくアプリケーションフレームワークを備える。
【０１６８】
ＳＯＡＰエンジン１１０３９は、よく知られているＸＭＬプロトコルを処理するプロセッサの開発を容易にするためのエンジンである。ＳＯＡＰエンジン１１０３９はアプリケーションサーバ１１０３８と連動するように構成している。ＳＯＡＰエンジン１１０３９はＳＯＡＰクライアントから送られてきたＳＯＡＰ要求メッセージを処理し、メッセージを処理するための適切なソフトウェアに引き渡す。ＳＯＡＰ要求メッセージを処理するソフトウェアが適切な処理を完了してリターンするとＳＯＡＰエンジンはそのリターンに相当するＳＯＡＰ応答メッセージを生成して要求元のＳＯＡＰクライアントに返送する。
【０１６９】
ＸＭＬツールキット１１０４０は、拡張コントローラ１０３上のソフトウェア群が、ＸＭＬやその応用として規定された各種マークアップ言語の解釈、生成、変換などの処理を実行することを助けるためのツールキットである。
【０１７０】
Ｊａｖａ（登録商標）プラットフォーム１１０４１の基本部分はＪａｖａ（登録商標） 2 Platform、 Standard EditionまたはＪａｖａ（登録商標） 2 Runtime Environmentとしてよく知られているＪａｖａ（登録商標）プラットフォームによって構築されている。
【０１７１】
図１２は、画像処理装置の拡張コントローラ操作部の表示画面例を示す図である。
【０１７２】
このコントローラはPCを使用しており、表示モニタは１０２４ドットｘ７６８ドットの解像度のLCDタッチパネルを使用している。画面中央付近がアプリケーション表示エリア12001であり、図にあるようにコピー画面をはじめとして、複数のウインドウが同じサイズに重なっている。ユーザから見た場合は最前面のウインドウがひとつだけ動いているように見える。画面左端のアイコンボックス12002は、前述のウインドウ切り替え手段に該当する。各ウインドウに一対一で対応したアプリケーション名とアイコンが表示されており、利用可能なアプリケーションが多数存在し画面内に収まりきらない場合は、スクロールして表示を行うことが出来る。アイコンボックス上の任意のアイコンを押すことで、アプリケーション表示エリア上に該当するウインドウが表示される。画面上部のファンクションキーパネル12003は拡張コントローラ操作部で共通に利用する機能ボタンの集合である。この各ボタンを押すことで、アプリケーションガイドや、後述するスクリーンキーボード、操作部パネルエミュレータなど別アプリケーションの起動を行うことが可能であり、さらに、別アプリケーションに対してリセットキーなどのキーコードを送信することが可能である。図１２では、ファンクションキーパネル12003において、バージョン表示ボタンを押したときの画面を示している。ボタンを押すと2つの選択肢を持つメニュー12004が表示され、現在最前面で表示中のアプリケーションのバージョン情報を表示するのか本画像処理システムの基本ソフトウェアのバージョン情報を表示するのかを選択することが出来る。画面下部のステータスティッカ12005はアプリケーションが発生するメッセージを表示するエリアであり、複数のアプリケーションから送られるメッセージのうち優先度の最も高いメッセージを表示する。メッセージはスクロール表示可能であるため長いメッセージに関しても全てを確認することが可能である。ソフトタリー12006は画像処理装置のタリーランプをエミュレートしたものであり、拡張コントローラの状態(例えば正常、警告、エラーなど)を赤および青の点滅、点灯、消灯によって通知することが出来る。
【０１７３】
図１３は、ファンクションキーパネル12003から起動されるスクリーンキーボードである。
【０１７４】
スクリーンキーボードは、LCDタッチパネル上での文字入力を可能にするものである。キーボード設定に応じて、101キーボードや106キーボードのようにレイアウトを変更することが可能である。
【０１７５】
図１４は、ファンクションキーパネル12003から起動される画像処理装置の操作部パネルエミュレータである。
【０１７６】
操作部パネルエミュレータは、画像処理装置のハード操作部のテンキーやスタートキー、ストップキーと同様の入力を可能にするものである。
【０１７７】
図１５は、拡張コントローラに搭載されるユーザランドアプリケーションの一つである暗号化セキュアプリントの画面である。
【０１７８】
暗号化セキュアプリントは、出力装置において排紙された印刷原稿が第三者の目に触れないようにする機密保持、およびネットワーク上を流れる印刷データの機密保持を目的としたアプリケーションである。ユーザはクライアントPCにおいて印刷ジョブを発行する際に、任意の暗証番号やパスワードの入力や、ICカードを利用して、印刷データを暗号化し拡張コントローラへ送信する。暗号化された印刷データは拡張コントローラ上において暗号化された状態でスプールされる。その後、ユーザは拡張コントローラにおいて、任意の暗証番号やパスワードの入力やICカードを挿入することにより、暗号化された印刷データを復号化し、所望の印刷原稿の機密性を保持して入手することが可能となる。
【０１７９】
以下に本実施例における、画像処理装置であるMFPと拡張制御装置間のデータバックアップ・リストアの動作について述べる。
【０１８０】
図１６は本実施例における、 画像処理装置であるMFP側の拡張コントローラ装置へのデータバックアップを行なう場合の動作を示すフローチャートである。
【０１８１】
本処理は画像処理装置において、図５に示したバックアップ・リストア制御モジュール5011によって実行される処理である。
【０１８２】
また、本処理によって拡張コントローラ側へ画像処理装置のバックアップデータを送信する場合、拡張コントローラ側のデータ受信・保存処理は、図９に示した拡張コントローラのバックアップ・リストア制御モジュール9019によってその処理が実行される。
【０１８３】
本実施例では、図５に示した画像処理装置のコントローラのソフトウェアモジュールとして構成される各制御プログラムや各種アプリケーションプログラム、および装置内部に保存されている画像データなど任意の各種データをバックアップの対象とする。
【０１８４】
また、本実施例においては、図１７に示すような図６の画像処理装置操作部のタッチパネルに、バックアップに関する設定画面1700を表示し、ユーザのオペレーションによってバックアップ対象のデータを選択させることが可能である。例えば、制御プログラムと画像データをバックアップの対象する場合には、図１７の１７０３に図示した『制御プログラム』『保存されているプリントデータ』『保存されているスキャンデータ』のチェックボックスをチェックすることで、ハードディスク162内の所定のディレクトリ以下に格納されている各データをバックアップの対象とすることができる。
【０１８５】
まず、ステップS1601において、あらかじめ画像処理装置に設定されているデータバックアップ先の拡張コントローラの所在情報（ＩＰアドレスなど）を取得する。
【０１８６】
この設定情報は、図4に示したROM114a、 NVRAM114bなどの不揮発性メモリに格納されている。
【０１８７】
ステップS1602において、バックアップ先装置の所在情報を取得できたか否かの判断を行ない、次のステップへ進む。
【０１８８】
ステップS1603において、S1601で取得した情報を元に、バックアップ先の拡張コントローラにネットワークを介して接続する。
【０１８９】
本実施例では、バックアップデータを送受信する通信プロトコルとして、FTP（File Transfer Protocol）を用いる。 通信プロトコルにはFTP以外の他の通信プロトコルを使用してもよい。
【０１９０】
また、画像処理装置操作部のタッチパネルに、バックアップに関する設定画面1700を表示し、１７０１に図示したように、通信プロトコルをユーザのオペレーションによって選択させてもよい。さらに、本実施例のようにFTPプロトコルを使用する場合には、ネットワーク上を流れるデータは平文のまま送受信されるためセキュリティ上好ましくないので、TLS（Transport Layer Security ）、SSH（Secure SHell）、 IPSecなどの暗号化通信によってデータを暗号化して送受信することが望ましい。
【０１９１】
ステップS1604において、バックアップ先の拡張コントローラへの接続が行なえたか否かを判断し、次のステップへ進む。
【０１９２】
ステップS1604において接続が成功した場合には、S1605においてバックアップ先の拡張コントローラとの認証に必要となる情報を取得する。
【０１９３】
本実施例では、FTPプロトコルをバックアップデータの送受信を行なうためのプロトコルとしているので、FTPプロトコルでの認証に必要となるユーザ名とパスワードなどの認証情報を装置内部の記憶装置から取得する。この認証情報も、ユーザのオペレーション等によって設定し、図４に示したROM114aまたは、NVRAM114bなどの不揮発性の記憶装置に記憶させておく。（例えば、図１７に示すような図６の画像処理装置操作部のタッチパネルに、バックアップに関する設定画面1700を表示し、ユーザのオペレーションによって認証情報を入力して、その情報をNVRAMなどの記憶装置に保存する）。また、他の通信プロトコルを使用する場合にも認証の必要がある場合には、同様の手段で認証情報を記憶させ、それを取得する。
【０１９４】
このユーザ名とパスワードなどの認証情報は、バックアップ先の拡張コントローラ側にも同様の手段によって同じ情報が設定されているものとする。
【０１９５】
ステップS1606においてステップS1605で取得した認証情報をバックアップ先の拡張コントローラへ送信し、ステップS1607においてその認証が受け入れられたか否かの判断を行い次のステップへ進む。
【０１９６】
ステップS1607において、認証に成功したと判断した場合には、ステップS1608へ進み、ステップS1608において図４に示したハードディスク162に格納されている制御プログラムや各種アプリケーションプログラム、および装置内部に保存されている画像データなどの各種データをバックアップデータとして、拡張コントローラへ送信し、拡張コントローラの記憶装置内のバックアップ用の所定ディレクトリ以下に保存する。
【０１９７】
ステップS1608において、全てのバックアップ対象となるデータを送信し終わったら、ステップS1609において、接続を切断する。
【０１９８】
ステップS1610において前記した処理が正しく行なわれたか否かを判断し、処理を終了する。
【０１９９】
処理が正常に行われなかった場合には、ステップS1611において、図６の画像処理装置操作部のタッチパネルにエラーを表示するなどのエラー処理を行なう。
【０２００】
また、このエラー処理では、画像処理装置の表示部だけでなく、バックアップ先である拡張コントローラ側にエラーを通知して、図７に示した拡張コントローラのタッチパネル４20２へ表示してもよい。
【０２０１】
本実施例において、前記バックアップ処理の開始を行なうタイミングは、図１７に示すような図６の画像処理装置操作部のタッチパネルに、バックアップに関する設定画面1700を表示し、ユーザのオペレーションによって『バックアップ開始』ボタン1704を押下することで処理を開始する。しかし、装置が自動的で定期的にバックアップ処理を開始するようにしてもよいし、あらかじめバックアップを行なう時間を設定し、設定された時間毎にバックアップを行なってもよい。
【０２０２】
また、図１７に示したようなバックアップに関する各種設定は、ネットワークを介して、拡張コントローラ側から拡張コントローラの操作部を利用して設定を行なってもよい。
【０２０３】
また、バックアップの対象となるデータには、機密性の高いデータが含まれることも考えられるので、バックアップデータを保持する装置側で、装置自身の固有の鍵によって、受け取ったバックアップデータを暗号化して保持しておくことが望ましい。
【０２０４】
図１８は本実施例における、 画像処理装置であるMFP側でハードディスクの不具合等が発生し、画像処理装置自身の保持する制御プログラムでは起動できない場合に、拡張コントローラ装置にバックアップされている制御プログラムを読み出して起動を行なう場合の処理と、さらに、ハードディスクの不具合等が発生後に、ハードディスク交換などによって、その不具合が解消された場合に、拡張コントローラ装置にバックアップされている制御プログラムを読み出して、自動的にシステムの復旧を行なう場合の動作を示すフローチャートである。
【０２０５】
本処理は画像処理装置において、図５に示したバックアップ・リストア制御モジュール5011によって画像処理装置の起動時に自動的に実行される処理である。
【０２０６】
また、本処理によって拡張コントローラ側から画像処理装置のバックアップデータを受信する場合、拡張コントローラ側のバックアップデータの読み出し・送信処理は、図９に示した拡張コントローラのバックアップ・リストア制御モジュール9019によってその処理が実行される。
【０２０７】
まず、ステップS1801において、デバイスを起動するために図４のROM114aに格納されているブートプログラムによって、ハードディスク162内に格納されているデバイス制御プログラムをロードする。
【０２０８】
次のステップS1802において制御プログラムがロードできたか否かの判断を行い、プログラムをロードできなかった場合にはバックアップされている制御プログラムを拡張コントローラから取得するために、次のステップへ進む。
【０２０９】
ここで、ステップS1803においてハードディスクのチェックを行い、ハードディスクに不具合があるか否かをあらかじめチェックしておく。
【０２１０】
次に、ステップS1804において、あらかじめ画像処理装置に設定されているデータバックアップ先である拡張コントローラのＩＰアドレスなどの所在情報を取得する。
【０２１１】
この設定情報は、図4に示したROM114a、 NVRAM114bなどの不揮発性メモリに格納されている。
【０２１２】
ステップS1805において、バックアップ先装置の所在情報を取得できたか否かの判断を行ない、次のステップへ進む。
【０２１３】
ステップS1806において、S1804で取得した情報を元に、 バックアップ先の拡張コントローラにネットワークを介して接続する。
【０２１４】
本実施例では、バックアップデータを送受信する通信プロトコルとして、FTP（File Transfer Protocol）を用いる。 通信プロトコルにはFTP以外の他の通信プロトコルを使用してもよい。さらに、本実施例のようにFTPプロトコルを使用する場合には、ネットワーク上を流れるデータは平文のまま送受信され、セキュリティ上好ましくないので、TLS（Transport Layer Security ）、SSH（Secure SHell）、IPSecなどの暗号化通信によってデータを暗号化して送受信することが望ましい。
【０２１５】
ステップS1807において、バックアップ先の拡張コントローラへの接続が行なえたか否かを判断し、次のステップへ進む。
【０２１６】
ステップS1807において接続が成功した場合には、S1808においてバックアップ先の拡張コントローラとの認証に必要となる情報を取得する。
【０２１７】
本実施例では、FTPプロトコルをバックアップデータの送受信を行なうためのプロトコルとしているので、FTPプロトコルでの認証に必要となるユーザ名とパスワードなどの認証情報を装置内部の記憶装置から取得する。この認証情報も、ユーザのオペレーション等によって設定し、図４に示したROM114aまたは、NVRAM114bなどの不揮発性の記憶装置に記憶させておく。また、他の通信プロトコルを使用する場合にも認証の必要がある場合には、同様の手段で認証情報を取得する。
【０２１８】
このユーザ名とパスワードなどの認証情報は、バックアップ先の拡張コントローラ側にも同様な手段によって同じ情報が設定されているものとする。
【０２１９】
ステップS1809においてステップS1809で取得した認証情報をバックアップ先の拡張コントローラへ送信し、ステップS1810においてその認証が受け入れられたか否かの判断を行い次のステップへ進む。
【０２２０】
ここで、ステップS1811において、ステップS1803のハードディスクをチェックした結果に基づき、ハードディスクに不具合がある場合には、ステップS1812へ進む。
【０２２１】
ハードディスクに不具合がある場合には、バックアップデータを拡張コントローラから取得した際に、そのデータを自身のハードディスクに保持できない。
【０２２２】
そこで、ステップS1812において、拡張コントローラから取得した制御プログラムのバックアップデータを直接DRAM116へ展開する。
【０２２３】
ステップS1812において、全ての制御プログラムのバックアップデータを受信し終わったら、ステップS1813において、接続を切断する。
【０２２４】
この処理によって、ハードディスクに不具合がある場合においても、バックアップ先の拡張コントローラから、制御プログラムを読み出すことで画像形成装置の起動が可能となる。
【０２２５】
また、ステップS1811において、ステップS1803のハードディスクをチェックした結果に基づき、ハードディスクが正常に動作可能であると判断した場合には、ステップS1814へ進む。
【０２２６】
これは、以前にハードディスクの不具合等が発生した後で、ハードディスク交換などによって、その不具合が解消されているが、ハードディスク内には、まだ制御プログラムを保持していない状態にある。
【０２２７】
そこで、ステップS1814において、拡張コントローラから制御プログラムのバックアップデータを取得し、装置自身の記憶装置へ保存・リストアする。また、ステップS1814においては、制御プログラムだけではなく、アプリケーションプログラムや、画像データなどその他のバックアップされていた全てのデータを取得し、自身のハードディスク内へ拡張コントローラにバックアップされていた全てのデータのリストアを行なう。
【０２２８】
次にステップS1814において、全ての制御プログラムのバックアップデータを受信・保存し終わったら、ステップS1815において、接続を切断し、ステップS1816において、ステップS1814において取得した制御プログラムを自身のハードディスクからロードし、DRAM116へ展開する。
【０２２９】
前記処理の後、ステップS1817において、ステップS1812または、ステップS1816における制御プログラムのロードが正しく行なわれたかを判断し、制御プログラムのロードが正しく行なわれた場合にはステップS1818において、画像形成装置の起動処理を行なう。
【０２３０】
これによって、ハードディスクの不具合が解消された場合に、画像形成装置の制御プログラムの再インストールを行なわずに、自動的にシステムの復旧が可能となる。
【０２３１】
また、本実施例では、画像形成装置のハードディスクに不具合により、画像形成装置が制御プログラムのバックアップデータを取得して起動した場合には、画像形成装置のハードディスクへデータ保存が行なえないため、拡張コントローラの記憶装置を利用して画像データなどの各種データを一時的に保存・読み出しすることを可能にしている。
【０２３２】
したがって、ステップS1819において、ステップS1814からS1816までの処理によるバックアップデータのリストア処理が行なわれたか否かの判断を行い、リストアが行なわれた場合には、ステップS1820において一時的に拡張コントローラに保存したデータのリストア処理を行なう。（このリストア処理の詳細は後述する）
最後にステップS1821において、ステップS1801からステップS1820までのステップで、処理が正しく行なわれたか否かを判断し、処理を終了する。
【０２３３】
処理が正常に行われなかった場合には、ステップS1822において、図６の画像処理装置操作部のタッチパネルにエラーを表示するなどのエラー処理を行なう。
【０２３４】
このエラー処理ステップS1821では、画像形成装置のハードディスクに不具合が発生し、画像形成装置が制御プログラムのバックアップデータを取得して起動した場合には、ハードディスクに不具合が発生していることを、無条件にエラーとして表示する。
【０２３５】
また、上記エラー処理では、画像処理装置の表示部だけでなく、バックアップ先である拡張コントローラ側にエラーを通知して、図７に示した拡張コントローラのタッチパネル４20２へ表示してもよい。
【０２３６】
さらに、バックアップの対象となるデータには、機密性の高いデータが含まれることも考えられるので、バックアップデータを保持する装置側で、装置自身の固有の鍵によって、受け取ったバックアップデータを暗号化して保持しておくことが望ましい。
【０２３７】
このような暗号化されたバックアップデータをリストアする場合には、バックアップデータを保持する装置側で、装置自身の固有の鍵によって復号化してバックアップデータの要求側へ送信する。
【０２３８】
本実施例において、画像形成装置上の各アプリケーションの動作によって、スキャナ装置、あるいはネットワークを介して入力されたデータを、画像形成装置のハードディスクなどの記憶装置に保存する場合には、通常、各アプリケーションが図５に示した制御API500５を介して、管理モジュール5004へデータを受け渡し、管理モジュール5004がファイルシステム5002に対してデータの保存処理を行なう。
【０２３９】
しかし、本実施例において、ハードディスクの不具合によりファイルシステム5002へのデータの保存ができない場合には、管理モジュール5004は、各アプリケーションから制御API500５を介して受け渡されたデータをバックアップ・リストア制御モジュール5011へ送り、バックアップ・リストア制御モジュール5011が拡張コントローラの記憶装置のデータ一時保存領域へデータの保存を行なう。
【０２４０】
図１９は本実施例における、ハードディスクの不具合により画像形成装置が、拡張コントローラ装置にバックアップされている制御プログラムにより起動した場合において、拡張コントローラの記憶装置を利用して画像データなどの各種データを一時的に保存する手段画像形成装置の動作を示すフローチャートである。
【０２４１】
本処理は画像処理装置において、図５に示したバックアップ・リストア制御モジュール5011によって実行される処理である。
【０２４２】
また、本処理によって拡張コントローラ側から画像処理装置の一時保存データを送信する場合、拡張コントローラ側の受信・保存処理は、図９に示した拡張コントローラのバックアップ・リストア制御モジュール9019によってその処理が実行される。
【０２４３】
管理モジュール5004は、画像形成装置上の各アプリケーションから、スキャナ装置、あるいはネットワークを介して入力されたデータを、制御API5005を介して受け取った際に、ハードディスクの不具合によりファイルシステム5002へのデータの保存ができない場合には、バックアップ・リストア制御モジュール5011へ拡張コントローラ装置へのデータ保存要求を送信する。
【０２４４】
まず、バックアップ・リストア制御モジュール5011は、ステップS1901において、管理モジュール5004からの拡張コントローラ装置へのデータ保存要求を待ち受け、要求があった場合には、次のステップへ進む。
【０２４５】
ステップS1902において、あらかじめＭＦＰ内部に設定されているデータバックアップ先である拡張コントローラのＩＰアドレスなどの所在情報を取得する。
【０２４６】
この設定情報は、図4に示したROM114a、NVRAM114bなどの不揮発性メモリに格納されている。
【０２４７】
ステップS1903において、バックアップ先装置の所在情報を取得できたか否かの判断を行ない、次のステップへ進む。
【０２４８】
ステップS1904において、S1902で取得した情報を元に、バックアップ先の拡張コントローラにネットワークを介して接続する。
【０２４９】
本実施例では、一時保存データを送受信する通信プロトコルとして、FTP（File Transfer Protocol）を用いる。通信プロトコルにはFTP以外の他の通信プロトコルを使用してもよい。さらに、本実施例のようにFTPプロトコルを使用する場合には、ネットワーク上を流れるデータは平文のまま送受信されるためセキュリティ上好ましくないので、TLS（Transport Layer Security ）、SSH（Secure SHell）、IPSecなどの暗号化通信によってデータを暗号化して送受信することが望ましい。
【０２５０】
ステップS1905において、拡張コントローラへの接続が行なえたか否かを判断し、次のステップへ進む。
【０２５１】
ステップS1905において接続が成功した場合には、S1906においてバックアップ先の拡張コントローラとの認証に必要となる情報を取得する。
【０２５２】
本実施例では、FTPプロトコルをバックアップデータの送受信を行なうためのプロトコルとしているので、FTPプロトコルでの認証に必要となるユーザ名とパスワードなどの認証情報を装置内部の記憶装置から取得する。この認証情報も、ユーザのオペレーション等によって設定し、図４に示したROM114aまたは、NVRAM114bなどの不揮発性の記憶装置に記憶させておく。また、他の通信プロトコルを使用する場合にも認証の必要がある場合には、同様の手段で認証情報を取得する。
【０２５３】
このユーザ名とパスワードなどの認証情報は、バックアップ先の拡張コントローラ側にも同様な手段によって同じ情報が設定されている。
【０２５４】
ステップS1907においてステップS1906で取得した認証情報をバックアップ先の拡張コントローラへ送信し、ステップS1908においてその認証が受け入れられたか否かの判断を行い次のステップへ進む。
【０２５５】
ステップS1908において、認証に成功したと判断した場合には、ステップS1909へ進み、ステップS1909において、管理モジュール5004からのデータ保存要求のレスポンスとして、データ一時保存が可能であることを返信する。管理モジュール5004はこのレスポンスを受け取ると、バックアップ・リストア制御モジュール5011に対して一時保存データを送る。
【０２５６】
ステップS1910において、管理モジュールから送られてくるデータを取得するとともに、その一時保存データを拡張コントローラへ送信して、拡張コントローラの記憶装置内のデータ一時保存用ディレクトリ以下に保存する。
【０２５７】
本実施例において、拡張コントローラ側の記憶装置のデータ一時保存用ディレクトリは、画像形成装置側の記憶装置内のディレクトリ階層と全く同一の階層構造となっている。
【０２５８】
したがって、拡張コントローラ側の記憶装置のデータ一時保存用ディレクトリにデータの保存を行なう場合には、画像形成装置側の記憶装置へデータを保存する場合と、全く同じディレクトリパスへアクセスし、そのディレクトリ内へデータを保存することになる。
【０２５９】
ステップS1910において、全てのデータを送信し終わったら、ステップS1911において、接続を切断する。
【０２６０】
ステップS1912において、前記の処理が正しく行なわれたか否かを判断し、正しく処理が行なわれた場合には、ステップS1913において管理モジュール5004に対してデータ一時保存処理が完了したことを通知する。
【０２６１】
また、処理が正常に行われなかった場合には、ステップS1914において、管理モジュール5004に対して処理中にエラーが発生したことを通知する。
【０２６２】
ステップS1913またはステップS1914までの処理が完了したら、ステップS1901まで戻り、再び、管理モジュール5004からの拡張コントローラ装置へのデータ保存要求を待つ。
【０２６３】
管理モジュール5004はステップS1913またはステップS1914の返信結果にしたがい、データ一時保存の結果を各アプリケーションに対して制御API5005を介して通知する。
【０２６４】
本実施例では、データ保存の処理を行なう度に、拡張コントローラへ接続・認証を行なっているが、あらかじめ拡張コントローラへ接続を確立しておいてもよいし、あるいは一度接続が成功した後、データの保存処理終了後も、その接続を切断せずに、接続を継続しておいてもかまわない。
【０２６５】
本実施例においては、拡張コントローラの記憶装置のデータ一時保存領域へ保存を行なったデータを画像形成装置側から読み出すことも可能である。
【０２６６】
図２０は本実施例における、ハードディスクの不具合により画像形成装置が、拡張コントローラ装置にバックアップされている制御プログラムにより起動した場合において、拡張コントローラの記憶装置へ一時的に保存した画像データなどの各種データを画像形成装置が取得する場合の動作を示すフローチャートである。
【０２６７】
本処理は画像処理装置において、図５に示したバックアップ・リストア制御モジュール5011によって実行される処理である。
【０２６８】
また、本処理によって拡張コントローラ側から画像処理装置の一時保存データを受信する場合、拡張コントローラ側の送信・読み出し処理は、図９に示した拡張コントローラのバックアップ・リストア制御モジュール9019によってその処理が実行される。
【０２６９】
管理モジュール5004は、画像形成装置上の各アプリケーションから、図１９のステップS1900に示した手段によって、拡張コントローラの記憶装置へ一時的に保存した画像データなどの各種データを、制御API5005を介して取得することを要求された際に、バックアップ・リストア制御モジュール5011へ拡張コントローラ装置からのデータ読み出し要求を送信する。
【０２７０】
バックアップ・リストア制御モジュール5011は、ステップS2001において、管理モジュール5004からの拡張コントローラ装置へのデータ読み出し要求を待ち受け、要求があった場合には、次のステップへ進む。
【０２７１】
ステップS2002において、あらかじめＭＦＰ内部に設定されているデータバックアップ先である拡張コントローラのＩＰアドレスなどの所在情報を取得する。
【０２７２】
この設定情報は、図4に示したROM114a、 NVRAM114bなどの不揮発性メモリに格納されている。
【０２７３】
ステップS2003において、バックアップ先装置の所在情報を取得できたか否かの判断を行ない、次のステップへ進む。
【０２７４】
ステップS2004において、S2002で取得した情報を元に、バックアップ先の拡張コントローラにネットワークを介して接続する。
【０２７５】
本実施例では、一時保存データを送受信する通信プロトコルとして、FTP（File Transfer Protocol）を用いる。通信プロトコルにはFTP以外の他の通信プロトコルを使用してもよい。さらに、本実施例のようにFTPプロトコルを使用する場合には、ネットワーク上を流れるデータは平文のまま送受信されるためセキュリティ上好ましくないので、TLS（Transport Layer Security ）、SSH（Secure SHell）、IPSecなどの暗号化通信によってデータを暗号化して送受信することが望ましい。
【０２７６】
ステップS2005において、拡張コントローラへの接続が行なえたか否かを判断し、次のステップへ進む。
【０２７７】
ステップS2005において接続が成功した場合には、S2006においてバックアップ先の拡張コントローラとの認証に必要となる情報を取得する。
【０２７８】
本実施例では、FTPプロトコルをバックアップデータの送受信を行なうためのプロトコルとしているので、FTPプロトコルでの認証に必要となるユーザ名とパスワードなどの認証情報を装置内部の記憶装置から取得する。この認証情報も、ユーザのオペレーション等によって設定し、図４に示したROM114aまたは、NVRAM114bなどの不揮発性の記憶装置に記憶させておく。また、他の通信プロトコルを使用する場合にも認証の必要がある場合には、同様の手段で認証情報を取得する。
【０２７９】
このユーザ名とパスワードなどの認証情報は、バックアップ先の拡張コントローラ側にも同様な手段によって同じ情報が設定されているものとする。
【０２８０】
ステップS2007においてステップS2006で取得した認証情報をバックアップ先の拡張コントローラへ送信し、ステップS2008においてその認証が受け入れられたか否かの判断を行い次のステップへ進む。
【０２８１】
ステップS2008において、認証に成功したと判断した場合には、ステップS2009へ進み、ステップS2009において、管理モジュール5004からのデータ読み出し要求のレスポンスとして、一時保存データの読み出しが可能であることを返信する。
【０２８２】
ステップS2010において、要求のあった一時保存データを拡張コントローラから取得するとともに、その一時保存データを管理モジュールへ送信する。
【０２８３】
前述したように、本実施例では、拡張コントローラ側の記憶装置のデータ一時保存用ディレクトリは、画像形成装置側の記憶装置内のディレクトリ階層と全く同一の階層構造となっているため、拡張コントローラ側の記憶装置のデータ一時保存用ディレクトリからデータの取得を行なう場合にも、画像形成装置側の記憶装置からデータを取得する場合と、全く同じディレクトリパスに対してアクセスし、そのディレクトリ内に保存されているデータを取得することになる。
【０２８４】
ステップS2010において、全てのデータを受信し終わったら、ステップS2011において、接続を切断する。
【０２８５】
ステップS2012において、前記の処理が正しく行なわれたか否かを判断し、正しく処理が行なわれた場合には、ステップS2013において管理モジュール5004に対して一時保存データの読み出しが完了したことを通知する。
【０２８６】
また、処理が正常に行われなかった場合には、ステップS2014において、管理モジュール5004に対して処理中にエラーが発生したことを通知する。
【０２８７】
ステップS2013またはステップS2014までの処理が完了したら、ステップS2001まで戻り、再び、管理モジュール5004からの拡張コントローラ装置へのデータ読み出し要求を待つ。
【０２８８】
管理モジュール5004はステップS2013またはステップS2014の返信結果にしたがい、一時保存データの取得の結果を要求のあった各アプリケーションに対して制御API5005を介して通知し、取得した一時保存データをアプリケーションへ渡す。
【０２８９】
本実施例では、データ読み出し処理を行なう度に、拡張コントローラへ接続・認証を行なっているが、あらかじめ拡張コントローラへ接続を確立しておいてもよいし、あるいは一度接続が成功した後、データの保存処理終了後もその接続を切断せず、接続を継続しておいてもかまわない。
【０２９０】
図２１は本実施例における、 画像処理装置であるMFP側の拡張コントローラ装置へ一時的に保存したデータのリストアを行なう場合の動作を示すフローチャートである。
【０２９１】
本フローチャートは、図１８に示したフローチャートのステップS1820で処理される一時データのリストア処理に該当する。
【０２９２】
本処理は画像処理装置において、図５に示したバックアップ・リストア制御モジュール5011によって実行される処理である。
【０２９３】
また、本処理によって拡張コントローラ側から画像処理装置のバックアップデータを受信する場合、拡張コントローラ側のデータ送信・読み出し処理は、図９に示した拡張コントローラのバックアップ・リストア制御モジュール9019によってその処理が実行される。
【０２９４】
まず、ステップS2101において、あらかじめＭＦＰ内部に設定されているデータバックアップ先である拡張コントローラのＩＰアドレスなどの所在情報を取得する。
【０２９５】
この設定情報は、図4に示したROM114a、 NVRAM114bなどの不揮発性メモリに格納されている。
【０２９６】
ステップS2102において、バックアップ先装置の所在情報を取得できたか否かの判断を行ない、次のステップへ進む。
【０２９７】
ステップS2103において、S2101で取得した情報を元に、バックアップ先の拡張コントローラにネットワークを介して接続する。
【０２９８】
本実施例では、バックアップデータを送受信する通信プロトコルとして、FTP（File Transfer Protocol）を用いる。 通信プロトコルにはFTP以外の他の通信プロトコルを使用してもよい。さらに、本実施例のようにFTPプロトコルを使用する場合には、ネットワーク上を流れるデータは平文のまま送受信されるためセキュリティ上好ましくないので、TLS（Transport Layer Security ）、SSH（Secure SHell）、IPSecなどの暗号化通信によってデータを暗号化して送受信することが望ましい。
【０２９９】
ステップS2104において、バックアップ先の拡張コントローラへの接続が行なえたか否かを判断し、次のステップへ進む。
【０３００】
ステップS2104において接続が成功した場合には、S2105においてバックアップ先の拡張コントローラとの認証に必要となる情報を取得する。
【０３０１】
本実施例では、FTPプロトコルをバックアップデータの送受信を行なうためのプロトコルとしているので、FTPプロトコルでの認証に必要となるユーザ名とパスワードなどの認証情報を装置内部の記憶装置から取得する。この認証情報も、ユーザのオペレーション等によって設定し、図４に示したROM114aまたは、NVRAM114bなどの不揮発性の記憶装置に記憶させておく。
【０３０２】
また、他の通信プロトコルを使用する場合にも認証の必要がある場合には、同様の手段で認証情報を取得する。
【０３０３】
このユーザ名とパスワードなどの認証情報は、バックアップ先の拡張コントローラ側にも同様な手段によって同じ情報が設定されているものとする。
【０３０４】
ステップS2106においてステップS2105で取得した認証情報をバックアップ先の拡張コントローラへ送信し、ステップS2107においてその認証が受け入れられたか否かの判断を行い次のステップへ進む。
【０３０５】
ステップS2107において、認証に成功したと判断した場合には、ステップS2108へ進み、ステップS2108において、拡張コントローラの記憶装置のデータ一時保存用ディレクトリ全てを検索し、ステップS2109において一時的に保存されているデータが存在すると判断した場合には、ステップS2110において、一時保存データの取得をおこなう、その取得したデータを画像形成装置の記憶装置内に保存する。ステップS2109において一時的に保存されているデータが存在しないと判断した場合には、ステップS2111まで進む。
【０３０６】
ステップS2110において、全ての一時保存データの取得と、画像形成装置の記憶装置内への保存が終わったら、ステップS2111において、接続を切断する。
【０３０７】
ステップS2112において前記した処理が正しく行なわれたか否かを判断し、処理を終了する。
【０３０８】
処理が正常に行われなかった場合には、ステップS2113において、図６の画像処理装置操作部のタッチパネルにエラーを表示するなどのエラー処理を行なう。
【０３０９】
また、このエラー処理では、画像処理装置の表示部だけでなく、バックアップ先である拡張コントローラ側にエラーを通知して、図７に示した拡張コントローラのタッチパネル４20２へ表示してもよい。
【０３１０】
図１６から図２１のフローチャートに示した手段によって、画像形成装置と拡張コントローラ間のデータバックアップ・リストア手段が実現される。
【０３１１】
本実施例においては、画像形成装置の制御プログラム、アプリケーションプログラム及び、画像データなどの各種データを拡張コントローラ側へバックアップし、画像形成装置の記憶装置に不具合が発生した場合には、拡張コントローラ側からバックアップデータされた制御プログラムを取得して、画像形成装置を起動する、または、記憶装置の不具合が解消された場合には、拡張コントローラ側からバックアップデータされている全てのデータを取得して、システムの復旧を行なう手段のみを記述したが、同様の手段・構成を拡張コントローラにも保持させる事によって、拡張コントローラの制御プログラム、アプリケーションプログラム及び、画像データなどの各種データを画像形成装置へバックアップして、拡張コントローラの記憶装置に不具合が発生した場合には、画像形成装置側からバックアップデータされた制御プログラムを取得して、拡張コントローラのを起動する、または、記憶装置の不具合が解消された場合には、画像形成装置からバックアップデータされている全てのデータを取得して、システムの復旧を行なうことで、画像形成装置と拡張コントローラの間で相互に本実施例で示したバックアップ・リストアが可能な構成を取るようにしてもよい。
【図面の簡単な説明】
【０３１２】
【図１】拡張画像処理システムが利用されるネットワーク環境の一例を示す模式図である。
【図２】画像処理装置と拡張コントローラの組み合わせによって構成された拡張画像処理システムのブロック図である。
【図３】画像処理装置と拡張コントローラの組み合わせによって構成された拡張画像処理システムの外観図である。
【図４】画像処理装置の制御装置１１０のハードウェア構成を示すブロック図である。
【図５】画像処理装置のコントローラのソフトウェアのモジュール構造を示すブロック図である。
【図６】画像処理装置の操作部の表示部に表示される基本画面を示す説明図である。
【図７】拡張コントローラのハードウェア構成を示すブロック図である。
【図８】拡張コントローラ内のアプリケーションが画像処理装置とインタフェースするためのＡＰＩを示す図である。
【図９】拡張コントローラのソフトウェアのモジュール群の階層構造を示すブロック図である。
【図１０】拡張コントローラのシステムアプリケーション群を説明するブロック図である。
【図１１】拡張コントローラのソフトウェアプラットフォームを構成するソフトウェアパッケージ群を説明するブロック図である。
【図１２】画像処理装置の拡張コントローラ操作部の表示画面例を示す図である。
【図１３】ファンクションキーパネル12003から起動されるスクリーンキーボードである。
【図１４】ファンクションキーパネル12003から起動される画像処理装置の操作部パネルエミュレータである。
【図１５】拡張コントローラに搭載されるユーザランドアプリケーションの一つである暗号化セキュアプリントの画面である。
【図１６】画像処理装置が拡張コントローラ装置へのデータバックアップを行なう場合の動作を示すフローチャートである。
【図１７】画像処理装置操作部のタッチパネル上に表示された、バックアップに関する設定画面の一例を示した図である。
【図１８】画像処理装置が拡張コントローラ装置にバックアップされている制御プログラムを読み出して起動を行なう場合の処理と、拡張コントローラ装置にバックアップされている制御プログラムを読み出して、自動的にシステムの復旧を行なう場合の動作を示すフローチャートである。
【図１９】画像形成装置が、拡張コントローラの記憶装置を利用して各種データを一時的に保存する場合の動作を示すフローチャートである。
【図２０】画像形成装置が、拡張コントローラの記憶装置へ一時的に保存したデータを取得する場合の動作を示すフローチャートである。
【図２１】画像処理装置が拡張コントローラ装置へ一時的に保存したデータのリストアを行なう場合の動作を示すフローチャートである。
【図１】
2007122485.tif 000003
【図２】
2007122485.tif 000004
【図３】
2007122485.tif 000005
【図４】
2007122485.tif 000006
【図５】
2007122485.tif 000007
【図６】
2007122485.tif 000008
【図７】
2007122485.tif 000009
【図８】
2007122485.tif 000010
【図９】
2007122485.tif 000011
【図１０】
2007122485.tif 000012
【図１１】
2007122485.tif 000013
【図１２】
2007122485.tif 000014
【図１３】
2007122485.tif 000015
【図１４】
2007122485.tif 000016
【図１５】
2007122485.tif 000017
【図１６】
2007122485.tif 000018
【図１７】
2007122485.tif 000019
【図１８】
2007122485.tif 000020
【図１９】
2007122485.tif 000021
【図２０】
2007122485.tif 000022
【図２１】
2007122485.tif 000023