(57)【要約】【課題】  ハードウェアの交換後も交換前のカスタマイズされた状態に復帰させるシステムおよび方法を提供する。【解決手段】  このシステムは、ユーザから受け付けたカスタマイズ情報に基づきカスタマイズされるアプリケーションプログラムを保持し実行するアプリケーション処理手段７０が着脱可能とされている。このシステムは、アプリケーション処理手段７０がシステムに接続されている場合にユーザから受け付けたカスタマイズ情報を格納するカスタマイズ情報記憶手段８０と、アプリケーション処理手段が交換された場合に、交換後のアプリケーション処理手段が保持するカスタマイズ情報とカスタマイズ情報記憶手段８０から読み出したカスタマイズ情報との整合結果が不整合である場合に、読み出したカスタマイズ情報に基づき交換後のアプリケーション処理手段が保持するアプリケーションプログラムをカスタマイズするように指示する管理手段３３とを備える。【選択図】  図２
2010211371.tif 000002
【特許請求の範囲】
【請求項１】
ユーザから受け付けたカスタマイズ情報に基づきカスタマイズされるアプリケーションプログラムを保持し実行するアプリケーション処理手段が着脱可能とされた情報処理システムであって、
前記アプリケーション処理手段が前記システムに接続されている場合に前記ユーザから受け付けた前記カスタマイズ情報を格納するカスタマイズ情報記憶手段と、
前記アプリケーション処理手段が取り外され、新たなアプリケーション処理手段が装着されて交換された場合に、交換後の当該アプリケーション処理手段が保持するカスタマイズ情報と前記カスタマイズ情報記憶手段から読み出したカスタマイズ情報とが整合するかを判断した整合結果を受け取り、不整合である場合に、前記ユーザからの指示を受け付け、前記交換後のアプリケーション処理手段に対し、前記読み出したカスタマイズ情報に基づき前記交換後のアプリケーション処理手段が保持するアプリケーションプログラムをカスタマイズするように指示する管理手段とを含む、情報処理システム。
【請求項２】
前記管理手段は、前記ユーザから前記カスタマイズ情報を消去する指示を受け付けた場合、前記カスタマイズ情報記憶手段に格納されているカスタマイズ情報を消去する、請求項１に記載の情報処理システム。
【請求項３】
前記アプリケーションプログラムのカスタマイズは、モジュールの追加、削除、処理順序の変更の少なくとも１つを含み、前記モジュールは、前記アプリケーション処理手段の機能を変更するために当該アプリケーション処理手段に接続される機能変更デバイスの構成情報を含み、前記カスタマイズ情報記憶手段は、前記構成情報も格納する、請求項１または２に記載の情報処理システム。
【請求項４】
前記システムは、複数の前記アプリケーション処理手段を接続するための複数の接続手段を備え、前記カスタマイズ情報記憶手段は、前記アプリケーション処理手段を識別するための識別情報または当該アプリケーション処理手段を接続している前記接続手段を識別するための識別情報を、前記カスタマイズ情報と関連付けて格納し、前記交換後のアプリケーション処理手段は、前記識別情報を基に前記カスタマイズ情報記憶手段から対応するカスタマイズ情報を読み出す、請求項１〜３のいずれか１項に記載の情報処理システム。
【請求項５】
前記情報処理システムは、前記アプリケーション処理手段が着脱可能とされ、前記管理手段を備える情報処理装置と、画像処理を行い、前記カスタマイズ情報記憶手段を備える画像処理装置とから構成される、請求項１〜４のいずれか１項に記載の情報処理システム。
【請求項６】
前記情報処理システムは、前記複数の接続手段の各々に前記カスタマイズ情報記憶手段が接続された、請求項４に記載の情報処理システム。
【請求項７】
ユーザから受け付けたカスタマイズ情報に基づきカスタマイズされるアプリケーションプログラムを保持し実行するアプリケーション処理手段が着脱可能とされた情報処理システムにおいて、交換後のアプリケーション処理手段を交換前のカスタマイズされた状態に復帰させる方法であって、
アプリケーション処理手段が前記システムに接続されている場合に前記ユーザから受け付けた前記カスタマイズ情報をカスタマイズ情報記憶手段に格納させるステップと、
前記アプリケーション処理手段が取り外され、新たなアプリケーション処理手段が装着されて交換された場合に、交換後の当該アプリケーション処理手段が保持するカスタマイズ情報と前記カスタマイズ情報記憶手段から読み出したカスタマイズ情報とが整合するかを判断するステップと、
不整合と判断した場合に、前記ユーザからの指示を受け付け、前記交換後のアプリケーション処理手段に対し、前記読み出したカスタマイズ情報に基づき前記交換後のアプリケーション処理手段が保持するアプリケーションプログラムをカスタマイズするように指示するステップとを含む、方法。
【請求項８】
前記指示が前記ユーザから前記カスタマイズ情報を消去する指示である場合、前記指示するステップに代えて、前記カスタマイズ情報記憶手段に格納されているカスタマイズ情報を消去するステップを含む、請求項７に記載の方法。
【請求項９】
前記アプリケーションプログラムのカスタマイズは、モジュールの追加、削除、処理順序の変更の少なくとも１つを含み、前記モジュールは、前記アプリケーション処理手段の機能を変更するために当該アプリケーション処理手段に接続される機能変更デバイスの構成情報を含み、前記格納させるステップにおいて、前記カスタマイズ情報記憶手段に前記構成情報も格納させる、請求項７または８に記載の方法。
【請求項１０】
前記システムは、複数の前記アプリケーション処理手段を接続するための複数の接続手段を備え、前記格納させるステップでは、前記カスタマイズ情報記憶手段に、前記アプリケーション処理手段を識別するための識別情報または当該アプリケーション処理手段を接続している前記接続手段を識別するための識別情報を、前記カスタマイズ情報と関連付けて格納させ、前記判断するステップでは、前記識別情報を基に前記カスタマイズ情報記憶手段から対応するカスタマイズ情報を読み出す、請求項７〜９のいずれか１項に記載の方法。
【請求項１１】
請求項７〜１０のいずれか１項に記載の方法を実行するためのコンピュータ可読な復帰用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カスタマイズ可能なアプリケーションプログラムを保持し実行するアプリケーション処理手段を交換した場合に、交換前のカスタマイズ状態へ復帰することを可能にしたシステム、方法およびその方法を実現するためのプログラムに関する。
【背景技術】
【０００２】
近年、プリンタ、MFP(Multi Function Peripheral)、スキャナ装置等の画像入出力周辺機器を用いた処理を自動化し、それを業務フローに取り込むことで、運用コストを下げ、業務効率を改善する目的を持ったソリューションが数多く提供されている。
【０００３】
現在多くのソリューションは、多数の企業で効果、需要が見込める一律的な内容になっており、それを導入するのみで、ある程度の期待した効果を発揮することができる。例えば、電子ファイルから直接FAXすることができる機能を用いてペーパレス化を図ったり、スキャン画像をグループメンバーに配信することで、その画像を共有できるようにする情報共有化を図ることができる。
【０００４】
例えば、回路構成を変更可能なプログラマブルユニットを備える装置が提案されている（特許文献１参照）。この装置は、外部システムから回路データを受信してそのプログラマブルユニットに書き込み、処理させる装置で、ネットワークからダウンロードしてきた回路データを、自由に処理することができる。このため、機能変更の工数が減り、装置の回収が不要でユーザの元で作業することができる。プログラマブルユニットが揮発性回路である場合は、別途記憶ユニットを設け、ダウンロードした回路データをそれに記憶させておくことで、電源OFF後の復帰が可能とされている。
【０００５】
こういったソリューションは、提供する企業側の開発コストをかけることなく、多くのユーザに提供することができるため、業種に関係のない機能が多く、汎用的であるが故にその効果が薄いことが多い。また、競合他社からも同じような機能が提供されており、薄利の利益構造となっている。
【０００６】
しかしながら、ユーザの業務内容に適用するように深くカスタマイズされたソリューションであれば、ユーザの業務改善効果は飛躍的に向上することを期待することができ、その価値は高まり、利益率向上も期待することができる。したがって、このようなソリューションが求められていると考えられる。
【０００７】
こういったユーザ毎に異なるカスタマイズ要求に対処しなければならないとした場合のソリューションは、開発コストがかかり、保守メンテナンスが複雑でコスト高になるという問題があった。このため、このようなユーザ毎にカスタマイズしたソリューションの提供はあまり普及していない。
【０００８】
しかしながら、最近、Web技術の進化に伴ってソフトウェアのモジュール化が進み、アプリケーションのカスタマイズが、ソースコードを逐一変更する手間を必要とせず、ボタン設定程度の操作で行えるようになりつつある。
【０００９】
このようにユーザ毎にカスタマイズしたソリューションの提供が少しずつ開始されてきてはいるが、そこで問題となるのは、ユーザがカスタマイズしたアプリケーションを、どのように管理するかということである。従来のソリューションであれば、アプリケーションは汎用的なものであり、ユーザが保持するアプリケーションプログラムと、提供企業で管理するプログラムが同じものであったため、提供企業側で管理することができた。
【００１０】
したがって、何か問題が生じたとしても、ライセンス管理されているため、ユーザは、ネットワークを通じてダウンロードし、自己のPCへインストールするだけであった。多少の設定変更があったとしても、あまり複雑なものは存在しなかったので、ユーザが簡単に設定変更することができた。一般に、このようにして問題を解消することが慣例となっている。
【００１１】
ところが、これからのソリューションは、業務フローを多数に条件分けしたり、様々な周辺機器との連携を行ったり、アプリケーションを構成するモジュールの引用元が他機器や場合によっては有料で入手したりしたものであったりと、ユーザが使いこなせばこなすほど、複雑になっていくものと考えられる。ソリューションの導入当初、提供企業とユーザがインストールしたアプリケーションプログラムの動作は同じであったとしても、カスタマイズを進めるうちに、大きく異なっていき、提供企業はそのプログラムを管理することが難しくなる。さらに、一度カスタマイズされた設定条件は、ユーザが設定変更したとはいえ、再度簡単に設定し直すことはできない。
【００１２】
こういったカスタマイズは、社外秘事項であることもあり、業務ノウハウを数多く含むため、社外に管理を委託したり、社外サーバで保管したりすることの意識的な抵抗感が強く、社内に情報を留めておきたい場合がある。
【００１３】
その一方で、CPU、メモリ、ネットワーク、ソフトウェアの技術進化は早いため、アプリケーション処理を行うハードウェアは短期間で陳腐化する傾向が高まっている。また、そのハードウェアの価格が下がってきていることから、故障や不具合であれば、すぐ交換といった対応が主流になってきている。
【発明の概要】
【発明が解決しようとする課題】
【００１４】
ソリューションはカスタマイズの流れが強まり、ユーザレベルのカスタマイズが複雑化すると予想されるが、ハードウェアの故障やグレードアップに伴って、ハードウェア交換となった場合、ユーザが設定変更を進めてきた複雑なカスタマイズ条件が失われることになり、再構築する手段が十分には考えられていない。
【００１５】
そこで、MFP等の設置機器を扱うソリューションに対して、ユーザが自由にカスタマイズしたアプリケーションを、ハードウェアの交換後も同様に再構築することができる環境を提供することができるシステムおよび方法が望まれている。
【課題を解決するための手段】
【００１６】
本発明は、上記課題に鑑み、ユーザから受け付けたカスタマイズ情報に基づきカスタマイズされるアプリケーションプログラムを保持し実行するアプリケーション処理手段が着脱可能とされた情報処理システムにおいて、アプリケーション処理手段がシステムに接続されている場合にユーザから受け付けたカスタマイズ情報を格納するカスタマイズ情報記憶手段と、アプリケーション処理手段が取り外され、新たなアプリケーション処理手段が装着されて交換された場合に、交換後のアプリケーション処理手段が保持するカスタマイズ情報とカスタマイズ情報記憶手段から読み出したカスタマイズ情報とが整合するかを判断した整合結果を受け取り、不整合である場合に、ユーザからの指示を受け付け、交換するアプリケーション処理手段に対し、読み出したカスタマイズ情報に基づき交換するアプリケーション処理手段が保持するアプリケーションプログラムをカスタマイズするように指示する管理手段とを含む構成を採用する。
【００１７】
これにより、ユーザ自身で個別にカスタマイズし、導入当初のアプリケーションプログラムとは異なった環境を構築している状態で、故障やスケールアップ等でハードウェアを交換する場合でも、交換前のソリューション環境に容易に復帰することができるようになる。また、ユーザが業務フローや規模等の社外秘の情報をローカルに管理することができる。さらに、カスタマイズ情報をアプリケーション処理手段とカスタマイズ情報記憶手段の２つに分けて保持しているので、高いデータの保持性を得ることができる。
【００１８】
管理手段がユーザから受け付ける指示は上記のものばかりでなく、カスタマイズ情報を消去する指示である場合もある。交換前のカスタマイズ状態に復帰したくない場合である。この場合は、カスタマイズ情報記憶手段に格納されているカスタマイズ情報を消去することができる。
【００１９】
アプリケーションプログラムのカスタマイズは、モジュールの追加、削除、処理順序の変更の少なくとも１つを含むことができる。このモジュールには、アプリケーション処理手段の機能を変更するためにそのアプリケーション処理手段に接続される機能変更デバイスの構成情報を含むことができる。このデバイスは、機能をプログラミング可能または回路情報を書き換え可能な特殊な回路構成をもつデバイスである。このデバイスは、回路情報をネットワークからダウンロードして構成情報を書き換えることができる。このため、カスタマイズ情報記憶手段は、上記のカスタマイズ情報に加えて、この構成情報も格納する。
【００２０】
これにより、有料でダウンロードしてきた構成情報を交換後も復帰させることができるので、再度課金をする事態を避けることができる。また、デバイス構成情報はソフトウェアと異なり、デバイスの限定が厳しいため、再度ダウンロードする際のデバイス選定等の手間を防止することができる。
【００２１】
このシステムは、複数のアプリケーション処理手段を接続するための複数の接続手段を備えることができる。この場合、カスタマイズ情報記憶手段は、アプリケーション処理手段を識別するための識別情報またはそのアプリケーション処理手段を接続している接続手段を識別するための識別情報を、カスタマイズ情報と関連付けて格納し、交換後のアプリケーション処理手段は、その識別情報を基にカスタマイズ情報記憶手段から対応するカスタマイズ情報を読み出すことができる。
【００２２】
複数のアプリケーション処理手段に対して１つのカスタマイズ記憶手段で対応することができるため、コスト的にも有利である。ここでは、１つである場合を例示しているが、複数であってもよい。また、アプリケーション処理手段の数に比較して少数のほうが、コスト的に有利である点で好ましい。
【００２３】
このシステムは、アプリケーション処理手段が着脱可能とされ、管理手段を備える情報処理装置と、画像処理を行い、カスタマイズ情報記憶手段を備える画像処理装置とから構成することができる。また、このシステムは、情報処理装置が備える複数の接続手段の各々にカスタマイズ情報記憶手段が接続された構成とすることもできる。さらに、カスタマイズ情報記憶手段は、管理手段に直接接続された構成であってもよい。
【００２４】
本発明は、上記システムのほか、交換後のアプリケーション処理手段を交換前のカスタマイズされた状態に復帰させる方法も提供することができる。この方法は、交換前のアプリケーション処理手段がシステムに接続されている場合にユーザから受け付けたカスタマイズ情報をカスタマイズ情報記憶手段に格納するステップと、交換前のアプリケーション処理手段が取り外され、新たなアプリケーション処理手段が装着されて交換された場合に、交換後のアプリケーション処理手段が保持するカスタマイズ情報とカスタマイズ情報記憶手段から読み出したカスタマイズ情報とが整合するかを判断するステップと、不整合と判断した場合に、ユーザからの指示を受け付け、そのアプリケーション処理手段に対し、読み出したカスタマイズ情報に基づきそのアプリケーション処理手段が保持するアプリケーションプログラムをカスタマイズするように指示するステップとを含む。
【００２５】
この方法は、上記システムを構成する各手段により行われる各処理ステップを含むが、これらの処理ステップは、コンピュータ可読なプログラムを実行することにより実現することができる。このため、本発明では、復帰方法を実現するためのコンピュータ可読な復帰用プログラムを提供することもできる。この復帰用プログラムは、コンピュータ読み取り可能な記録媒体に記録して提供することができる。
【図面の簡単な説明】
【００２６】
【図１】情報処理システムの概略構成図。
【図２】情報処理システムの第１実施形態を示す構成ブロック図。
【図３】管理手段の構成ブロック図。
【図４】アプリケーション処理手段の構成ブロック図。
【図５】機能変更デバイスの一例であるFPGAの内部構造を示した図。
【図６】管理手段が行う処理の流れを示したフローチャート図。
【図７】アプリケーション処理手段が行う処理の流れを示したフローチャート図。
【図８】アプリケーション処理手段が行う別の処理の流れを示したフローチャート図。
【図９】情報処理システムの第２実施形態を示す構成ブロック図。
【図１０】情報処理システムの第３実施形態を示す構成ブロック図。
【発明を実施するための形態】
【００２７】
以下、本発明を、図面を参照して詳細に説明する。図１は、本実施形態の情報処理システムの概略構成図である。図１に示すシステムは、ユーザが使用するPC１０と、画像処理を行う画像処理装置であるMFP２０と、情報処理装置としてのサーバ装置３０とがLAN４０に接続され、LAN４０は、図示しないファイアウォール等を通すことでセキュリティを確保しつつ、社外のインターネット５０に接続され、社外や社内の他事業所のサーバ装置６０と接続され、情報検索や必要情報のダウンロードやメール交換等を行うことができるようにされている。
【００２８】
PC１０は、キーボード等の入力装置、入力された文字等を表示するための表示装置、それらの入出力装置を制御するための入出力インタフェース、プログラム等を格納するメモリ等の記憶装置、プログラムを読み出して実行し、入力されたデータを処理するためのプロセッサ、LAN４０に接続するためのネットワークI/F等を備える。メモリ等の記憶装置には、文書や表等を作成するためのアプリケーション、MFP２０を制御するためのドライバ、入力装置や表示装置への入出力を制御し、ディスクやメモリの管理等、多くのアプリケーションから共通して利用される基本的な機能を提供し、PC１０全体を管理するOS、入力装置や表示装置等の周辺機器を制御するBIOS、その他のデータを格納する。これらのプログラムは、フレキシブルディスク、CD、DVD、SDカード等の記録媒体を通して提供することができる。
【００２９】
MFP２０は、PC１０からの印刷データ等の受信に応答して、印刷データを基に描画処理し、用紙に印字等して出力する。このため、MFP２０は、プリンタを備えており、電子写真方式のプリンタであれば、感光体ドラム、その感光体ドラムを帯電させる帯電ユニット、帯電させた感光体ドラムに潜像を形成する露光装置、感光体ドラム上に形成された潜像を現像するための現像ユニット、現像によりトナーが付着されて形成されたトナー像を、一定速度で移動する転写ベルトに転写する一次転写ユニット、用紙を給紙する給紙ユニット、転写ベルト上に形成されたトナー像を用紙に転写する二次転写ユニット、用紙に転写されたトナー像を用紙に定着させる定着ユニット、用紙を排紙する排紙ユニットを備える。これらのほか、感光体ドラムおよび転写ベルト上に残留するトナーを除去するクリーニングユニット、位置補正や濃度補正を行うためのセンサを備える。
【００３０】
MFP２０は、印刷機能、スキャナ機能、FAX機能、コピー機能を備える。このため、これらの機能を実現するためのエンジン、エンジンを制御するためのコントローラ、メモリを備え、また、LAN４０を通して通信を行うためのネットワークI/F、FAX番号の入力や倍率変更等を行い、それらを表示するためのキーや操作パネルを備える。
【００３１】
サーバ装置３０は、画像形成装置としてのMFP２０を活用したソリューション処理を主として行う装置とされ、LAN４０といった専用回線によりMFP２０に接続される。このサーバ装置３０は、PC１０と同様、記憶装置、プロセッサ、ネットワークI/Fを備え、さらに、ソリューションを実現するためのアプリケーションプログラムが格納され、それを実行することができる拡張カード等を挿入し、装着することができるスロットを備える。
【００３２】
MFP２０を活用したソリューションの効果を高めるためには、MFP２０の制御や画像データの転送を高速に行えるように、MFP２０とサーバ装置３０との間を専用回線や独自の方式で接続することもできる。
【００３３】
独自の方式で接続する例としては、PCIバスの拡張規格であるStar Fabricを挙げることができる。このStar Fabricは、物理的接続としてイーサネット（登録商標）のケーブルを用いるものであるが、プロトコルとして独自方式を採用し、画像転送やMFP２０等の画像形成装置の制御を高速にするために利用することができるものである。このため、イーサネット（登録商標）のケーブルを利用しつつLAN４０を超える転送レートを確保することができる。
【００３４】
その他に高速で転送する方法として、ファイルサーバシステム等で利用されているファイバチャネル等やPCI Expressの拡張規格であるASI(Advanced Switch Interconnect)を採用することもできる。
【００３５】
図１では、サーバ装置３０がMFP２０と分離し、別体として表されているが、一体化されたものであってもよい。また、画像処理装置は、MFP２０に限られるものではなく、プリンタ、スキャナ、FAX装置、ディスプレイ、プロジェクタ、ホワイトボードであってもよい。図１には、PC１０、MFP２０、サーバ装置３０がそれぞれ１台ずつ示されているが、各２以上LAN４０に接続されていてもよい。
【００３６】
図２は、情報処理システムの１つの実施形態を示した構成ブロック図である。この情報処理システムは、MFP２０等の画像処理装置と、サーバ装置３０等の画像処理装置を利用したソリューション処理を行うための情報処理装置とを含んで構成される。
【００３７】
画像処理装置を利用したソリューション処理の一例として、ユーザの業務、オフィス環境に応じて多様な画像処理装置の配置、数、種類等、ユーザが個別にカスタマイズ可能で、その情報をユーザが管理したい場合が挙げられる。ここでいうカスタマイズとは、業務フローや処理手段の変更といったユーザによるアプリケーションプログラムのチューニングであり、機能毎に分けられたモジュールの追加や削除、処理順序の変更、入出力や周辺機器との連携設定等をいう。
【００３８】
このサーバ装置３０は、アプリケーションプログラムを実行し処理を行うアプリケーション処理手段７０を着脱可能にする少なくとも１つのスロット部３１を備える。アプリケーション処理手段７０は、拡張カードであってもよいし、ブレードサーバのような箱型のものであってもよい。
【００３９】
スロット部３１は、アプリケーション処理手段７０が装着されたことを検知するメカニカルスイッチ３２を備え、アプリケーション処理手段７０が装着されたことに応答して、電源を供給する。
【００４０】
このサーバ装置３０は、スロット部３１を２つ備えていて、各スロット部３１を管理するための管理手段３３を備え、各スロット部３１と管理手段３３とが内部バス３４を介して互いに接続されている。このため、管理手段３３は、どのスロット部３１にアプリケーション処理手段７０が装着されたかをメカニカルスイッチ３２からの信号により容易に検出することができる。ここでは、メカニカルスイッチ３２を備える構成を開示したが、このメカニカルスイッチ３２は必須ではなく、管理手段３３との間で、内部バス３４を介して、またはLAN４０を経由して互いに検出可能なシステムにより構築されていてもよい。
【００４１】
内部バス３４は、PCI、PCI-X、PCI Express等、汎用的な標準規格の通信路を採用することができる。図２では、２つのスロット部３１を備える構成を例示しているが、３以上のスロット部３２を備えていてもよく、３以上のアプリケーション処理手段７０を装着することも可能である。このように複数のアプリケーション処理手段７０を装着した場合に、任意のアプリケーション処理手段７０と通信することを可能にするために、内部バス３４内にスイッチを備えることができる。
【００４２】
管理手段３３は、ディスプレイやキーボード等の入出力装置と接続され、アプリケーション処理手段７０に対して指示を送り、アプリケーション処理手段７０からの応答を受けて所定の情報を表示させることができる。この管理手段３３は、他の機器との連携処理の支援を行う等、ソリューション処理全体の管理を行うことができる。
【００４３】
図２に示す実施形態では、スロット部３１には、メカニカルスイッチ３２のほか、少なくとも１つのカスタマイズ情報記憶手段８０が接続され、そのスロット部３１に装着されたアプリケーション処理手段７０との間でデータ通信が可能とされている。このカスタマイズ情報記憶手段８０は、不揮発性メモリやHDD等により構成することができ、ユーザによりカスタマイズされたアプリケーションプログラムのカスタマイズ情報を格納する。
【００４４】
アプリケーション処理手段が取り外され、新たなアプリケーション処理手段が装着されて交換された場合、交換後のアプリケーション処理手段が、そのアプリケーション処理手段が保持するアプリケーションプログラムに対してなされたカスタマイズ情報と、カスタマイズ情報記憶手段８０に格納されているカスタマイズ情報とが整合するかを判断し、その整合結果を管理手段３３へ報告する。
【００４５】
全ての情報が整合していれば、交換前のカスタマイズ状態と同じであるが、１つでも情報が不整合であれば、交換前の状態とは異なるため、管理手段３３は、不整合である旨をユーザに提示する。これは、メッセージとしてディスプレイに表示することができ、その際、同時に、リカバリー処理するか、クリアー処理するかを選択させる表示も行う。
【００４６】
ユーザが、リカバリー処理を選択した場合、管理手段３３は、その指示を受け付け、カスタマイズ情報記憶手段８０に格納されている情報に基づき、アプリケーションプログラムをカスタマイズするように、アプリケーション処理手段７０に指示する。一方、クリアー処理が選択された場合、ユーザがそのカスタマイズ情報は不要と判断しているため、管理手段３３は、カスタマイズ情報記憶手段８０に格納されている情報を消去する。
【００４７】
図２では、入出力装置を、管理手段３３を介してアプリケーション処理手段７０と接続しているが、直接、アプリケーション処理手段７０と接続する構成であってもよい。
【００４８】
MFP２０は、スキャナやプリンタ等の画像入出力機能を備えるエンジン２１と、そのエンジン２１を制御するためのコントローラ２２と、画像の編集、加工、フォーマット変換処理に用いるアクセス速度の速い一時的な記憶手段２３と、ファイルを保存するための不揮発性の蓄積手段２４とを備える構成とされている。
【００４９】
エンジン２１は、画像を読み取り、画像データを出力し、また、印刷データを受信し、印刷出力を行う。コントローラ２２は、ネットワーク機能を備えており、サーバ装置３０や、サーバ装置６０等の他の装置とLAN４０やインターネット５０を介して通信を行うことができる。したがって、アプリケーション処理手段７０がアプリケーションプログラムを実行し、その処理で画像読み取りや印刷処理が要求される場合、その要求は、内部バス３４、管理手段３３を介してコントローラ２２へ送られ、コントローラ２２がエンジン２１を制御し、それらの処理を実行させる。
【００５０】
図３は、管理手段３３の構成ブロック図である。管理手段３３は、一般的なPCが備えるマザーボードと同様の構成とされている。すなわち、管理手段３３は、管理手段３３を起動させるための起動プログラム、アプリケーション処理手段７０等を管理する処理を行うためのプログラム、ユーザデータ等を格納する不揮発性の蓄積手段１００と、実行中のプログラムや編集中のユーザデータ等を格納する高速アクセス可能な主記憶手段１０１と、主記憶手段１０１に格納されたプログラム等を読み出し、そのプログラムに応じて様々な演算処理を行うCPU１０２と、外部装置との通信のためにプロトコル変換や制御を行うネットワーク部１０３と、それらの間でデータ転送を行うHUB１０４とを備えている。HUB１０４は、入出力装置を接続することができ、入力された指示を受け付け、処理結果を送り、表示させることができる。
【００５１】
管理手段３３は、アプリケーション処理手段７０と他の装置とを接続し、その通信を管理するもので、アドレス管理や、機器および機能リストの保管を行う等、連携の支援を行う。また、管理手段３３は、内部バス３４に接続された複数のアプリケーション処理手段７０の動作状態を把握して負荷分散を行ったり、バックアップ等の可用性向上の役割を果たすことができる。
【００５２】
図４は、アプリケーション処理手段７０の構成ブロック図である。アプリケーション処理手段７０も、管理手段３３と同様、蓄積手段１１０、主記憶手段１１１、CPU１１２、ネットワーク部１１３、HUB１１４を備えるが、さらに、HUB１１４と図２に示す内部バス３４との間にブリッジ１１５と、機能変更デバイス１１６とを備えている。
【００５３】
アプリケーション処理手段７０は、ソリューションを提供するためのアプリケーションプログラムを実行する。このアプリケーションプログラムは、ソリューションの内容に応じて、OCR処理、バーコード処理、電子透かし解析等の画像処理、業務フローの管理、特殊なユーザインタフェースの提供、セキュアな情報管理、ネットワーク越しの情報検索、他の装置との連携等を実行するものとすることができる。ネットワーク部１１３は、直接または管理手段３３を介して外部とのデータ通信を行うことができ、社外サーバ等からアプリケーションプログラムやモジュールをダウンロードし、蓄積手段１１０や主記憶手段１１１に格納することができる。
【００５４】
このモジュールには、ソフトウェアモジュールと、ハードウェアモジュールの２種類存在し、ソフトウェアモジュールは、アプリケーションプログラムを構成する１機能を全てソフトウェアで実現した部品、あるいはアプリケーションプログラム本体である。一方、ハードウェアモジュールは、機能変更デバイス１１６の構成情報を含んだソフトウェアプログラムで、そのデバイスによる高速処理を利用することができる部品である。これらのモジュールは、同じ機能を有するものであってもよく、状況に応じて選択して利用することができる。
【００５５】
ブリッジ１１５は、ノントランスペアレントポートを有する。このポートを利用する場合、アプリケーション処理手段７０同士が通信する際、互いのCPUがもつメモリ空間が独立して各々形成され、その間をブリッジ１１５によってアドレス変換されてデータ転送することができるため、マスタとターゲットという主従関係が形成され、それが固定化するのを防止することができる。
【００５６】
HUB１１４にはスロット部３１へ装着した際にカスタマイズ情報記憶手段８０へ接続される図示しないインタフェースが設けられている。一般のアプリケーション動作における情報の記憶は、蓄積手段１１０と主記憶手段１１１とにより行うことができるが、ユーザによりカスタマイズが行われた場合、アプリケーション処理手段７０の交換後もサーバ装置３０にカスタマイズの履歴やカスタマイズされたプログラム等が残るように、カスタマイズ情報記憶手段８０にも必要な情報を格納する。
【００５７】
図４に示すアプリケーション処理手段７０には好ましい実施形態として機能変更デバイス１１６を備えている。CPU１１２によるソフトウェア処理では、新しいプログラムを格納すれば、どのような処理でも実現できるという利点を有する反面、繰り返し演算等は主記憶手段１１１での情報の記憶が多発し、オーバーヘッドとなるという問題を有している。画像処理では、このような繰り返し演算処理が多く、CPU１１２のみでは十分な処理速度を得ることができない。このため、特定の用途のために設計、製造されたASICが実装され利用される。
【００５８】
サーバ装置３０は、多種多様のアプリケーションプログラムを保持し、その処理が特定の画像処理に固定化されていないため、ASICのように特定の用途に限定された集積回路では、その適用範囲が狭いという問題がある。このため、機能変更デバイスを搭載し、CPU１１２の不得意な処理に対して速度的な補完を行うことで、ユーザの使い勝手を向上させることができる。
【００５９】
特定のアプリケーションプログラムを提供するための開発ステップとして、まず、ソフトウェアプログラムから完成させ、その後、機能変更デバイスで高速化することも多い。したがって、まず、ソフトウェアプログラムによりユーザに機能を提供し、その後、機能変更デバイスの構成情報をダウンロードして活用することで、処理スピードや使い勝手を改善するように使うことができる。
【００６０】
このような構成情報のダウンロードは、ユーザにとって価値が向上するものであるため、課金される場合もあり得る。この構成情報は、アプリケーションプログラムが動作する場所に格納されるが、故障が発生した場合や、スケールアップのため処理性能が高いモジュールに交換した場合、有料でダウンロードした構成情報が無くなってしまうことになる。このような状況を避けるために、アプリケーション処理手段７０以外の場所で、かつアプリケーション処理手段７０を交換する前の状態へ容易に復帰することができる場所、すなわちカスタマイズ情報記憶手段８０に構成情報を格納することができる。
【００６１】
機能変更デバイス１１６は、特殊な回路構成をもつデバイスで、基本的にはハードウェアとして提供されるが、機能をプログラミング可能または回路情報を書き換え可能という特徴を有する。この機能変更デバイス１１６としては、FPGA(Field Programmable Gate Array)、PLD(Programmable Logic Array)、DRP(Dynamic Reconfigurable Processor)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)等を挙げることができる。
【００６２】
図５は、機能変更デバイス１１６の一例として、回路情報を書き換えるタイプとして代表的なFPGAの内部構成例を示した図である。図５は、FPGAの書換ロジック部を示した図で、周辺部には入出力バッファ等のIOエレメント(IOE)１２０が配置され、４つの隅部にはクロック生成用のPLL(Phased Locked Loop)１２１が配置され、中央部には乗算器であるマルチプライヤ１２２が配列し、チップの大部分がLE群からなるロジックアレイ１２３と内蔵RAMからなるメモリ１２４とから構成されている。FPGAは、そのほか、図示しない２次元の配線層が存在し、LE、メモリ、PLL、IOEを接続することができ、所望の機能をハードウェアとして実現することができる。ここで、LEは、レジスタやセレクタ等から構成された予め部品が固定されたユーザロジック回路で、その中の設定変更も可能である。
【００６３】
図５では書換ロジック部を示しているが、内部バス３４に接続するためには、周辺回路としてバスインタフェース回路やDMAC等を組み込む必要がある。DSPやGPU等は、ハードウェア構成が固定されているが、プログラムをアップロードすることで、機能変更することができる。
【００６４】
図６は、管理手段３３が行う処理の流れを示したフローチャート図である。ステップ６００からこの処理を開始し、ステップ６０５において、電源がONにされたことを検出し、セットアッププログラムを起動し、初期セットアップを開始する。ステップ６１０において、初期セットアップが終了すると、サーバ装置３０の各スロット部３１に設けられているメカニカルスイッチ３２の出力を調べ、どのスロット部３１にアプリケーション処理手段７０が装着されているかを確認する。ステップ６１５で、装着されているアプリケーション処理手段７０との間の通信を確立する。このとき、直接内部バス３４を経由した通信を確立することが好ましいが、固有アドレス等の情報が取れず、通信のスロット部３１にアプリケーション処理手段７０が装着されているにもかかわらず、内部バス３４を経由した通信経路が確立することができない場合は、接触不良等の可能性があるため、ユーザにその旨を知らせる表示を行うことができる。
【００６５】
ステップ６２０で、全ての通信経路の確立後、各アプリケーション処理手段７０と通信を行い、それぞれに備えているカスタマイズ情報記憶手段８０に格納されたカスタマイズ情報と、アプリケーション処理手段７０が保持するアプリケーションプログラムに対してなされたカスタマイズの情報とが整合しているかを判断した整合結果を受け取り、確認する。ステップ６２５で、不整合があるか否かを判断し、なければ、ステップ６３０へ進み、待機状態に入る。
【００６６】
一方、不整合がある場合、ステップ６３５へ進み、ディスプレイ等への表示によりユーザにその旨を通知し、カスタマイズ情報記憶手段８０に格納された前回に利用されたときの環境を再現するために、アプリケーション処理手段７０が備える主記憶手段１１１および蓄積手段１１０に保存されている内容を、カスタマイズ情報記憶手段８０の情報を基に書き換えるリカバリー処理を実行するか、それとも全く新規なアプリケーション処理手段７０が追加されたとして、カスタマイズ情報記憶手段８０を初期化するクリアー処理を実行するかの選択を受け付ける。
【００６７】
ステップ６３５で、リカバリー処理の実行を選択として受け付けた場合、ステップ６４０へ進み、アプリケーション処理手段７０に対し、リカバリー処理の指示を出力し、アプリケーション処理手段７０に実行させ、ステップ６３０へ進み、待機状態に入る。一方、クリアー処理の実行を選択として受け付けた場合、ステップ６４５へ進み、アプリケーション処理手段７０に対し、クリアー処理の指示を出力し、アプリケーション処理手段７０に実行させ、ステップ６３０へ進み、待機状態に入り、ステップ６５０で処理を終了する。
【００６８】
図７は、アプリケーション処理手段７０が行う処理の流れを示したフローチャート図である。ステップ７００からこの処理を開始し、ステップ７０５で、アプリケーション処理手段７０は、電源がONにされたことを検出して、セットアッププログラムを起動し、初期セットアップを開始する。初期セットアップが終了すると、ステップ７１０へ進み、管理手段３３との間で通信を確立する。ステップ７１５で、これと同時、またはその後、カスタマイズ情報記憶手段８０に格納された情報を読み出し取得する。そして、ステップ７２０で、アプリケーション処理手段７０に格納された情報との比較を行い、整合しているかを判断する。
【００６９】
この情報の例としては、プログラムの種類、モジュール構成、その設定、モジュールの実行順序、連携すべき機器の種類やアドレス、カスタマイズ済みのプログラムコード、機能変更可能デバイスの構成情報、有料コンテンツ等を挙げることができる。こういった情報をバイナリレベルで比較する作業は処理時間がかかることから、バージョン管理やIDコード等の固有の番号付けを活用し、管理することが好ましい。アプリケーション処理手段７０は、各情報の整合を判断し、管理手段３３にその判断結果を送る。
【００７０】
アプリケーション処理手段７０は、全てが整合していれば、ステップ７２５へ進み、管理手段３３に対し、全て整合している旨の通知を送る。一方、１つでも整合していないものがある場合は、ステップ７３０へ進み、管理手段３３に対し、不整合である旨の通知を送る。
【００７１】
管理手段３３が不整合である旨の通知を受けると、ステップ７３５へ進み、管理手段３３からの指示を受け取る。ステップ７４０で、その指示がどのような指示かを判断し、リカバリー処理の実行指示である場合は、ステップ７４５へ進み、カスタマイズ情報記憶手段８０に格納されているカスタマイズ情報を基にアプリケーションプログラムをリカバリー（再設定）する。一方、クリアー処理の実行指示である場合は、ステップ７５０へ進み、カスタマイズ情報記憶手段２５に格納されているカスタマイズ情報をクリアーし、初期化する処理を実行する。
【００７２】
リカバリー処理の実行指示の場合、カスタマイズ情報記憶手段８０に格納されたカスタマイズ情報を基に、アプリケーション処理手段７０が備える主記憶手段１１１および蓄積手段１１０に格納された情報を一新したり、設定変更したり、場合によっては社外サーバや他の機器から必要なモジュールをダウンロードし、前回の利用環境を再現できるようにする。
【００７３】
このようにして、リカバリー処理もしくはクリアー処理が終了した後、または全て整合している場合には、ステップ７５５へ進み、待機状態に入り、ステップ７６０でこの処理を終了する。
【００７４】
図８は、アプリケーションのカスタマイズを行う場合の処理フローを例示した図である。アプリケーション処理手段７０は、ステップ８００で処理を開始し、ステップ８０５において、ユーザの指示により、待機状態から復帰し、アプリケーションプログラムを実行する。次に、ステップ８１０で、ユーザからのカスタマイズ指示があるかを判断する。多くの場合、アプリケーションプログラムをそのまま使用するため、カスタマイズの指示はなく、そのまま実行される。カスタマイズの指示が出された場合には、ステップ８１５へ進み、アプリケーション処理手段７０が備える主記憶手段１１１上でユーザからのカスタマイズ動作に対応し、カスタマイズ情報を受け付ける。すなわち、ユーザの入力により手順や設定等を受け付ける。
【００７５】
受け付けた手順や設定等がユーザにより確定された段階で、ステップ８２０へ進み、蓄積手段１１０にカスタマイズされたアプリケーションとして格納される。そして、ステップ８２５へ進み、同じ情報、具体的にはカスタマイズ履歴やカスタマイズされたアプリケーションプログラム自体、あるいはカスタマイズ内容を示すバージョンやID等をカスタマイズ情報記憶手段８０に格納して登録する。その後、ステップ８３０で待機状態に入り、ステップ８３５でこの処理を終了する。
【００７６】
これまでに説明してきたカスタマイズ情報記憶手段８０は、スロット部３１に接続され、アプリケーション処理手段７０の各々に対応して設けられていた。しかしながら、この実施形態に限定されるものではなく、例えば、以下に説明する実施形態を採用することも可能である。
【００７７】
図９は、カスタマイズ情報記憶手段８０の別の構成例を示した図である。他のアプリケーション処理手段７０、スロット部３１、メカニカルスイッチ３２、管理手段３３、内部バス３４の構成は同じで、その機能も同じものであるため、ここでの説明は省略する。
【００７８】
この実施形態では、カスタマイズ情報記憶手段８０が、管理手段３３に接続されていて、管理手段３３を通じて情報の読み書きがされるように構成されている。アプリケーション処理手段７０上で実行されたアプリケーションにおいて、ユーザが入力し、そのアプリケーションプログラムをカスタマイズした場合、アプリケーション処理手段７０はそのカスタマイズ情報をスロット部３１、内部バス３４を介して管理手段３３へ送り、管理手段３３がスロット部３１およびアプリケーション処理手段７０を特定するためのID等を付加して、カスタマイズ情報記憶手段８０に格納する。
【００７９】
アプリケーション処理手段７０が交換された場合、管理手段３３との間で通信を確立した後、管理手段３３を通じてスロット部３１のID等から特定した交換前のカスタマイズ情報にアクセスし、ユーザが選択したリカバリー処理またはクリアー処理を行うことができる。
【００８０】
この図９では、カスタマイズ情報記憶手段８０が管理手段３３に接続された構成とされているが、管理手段３３に直接接続されていなくてもよく、内部バス３４を介して接続される構成であってもよい。
【００８１】
図１０は、カスタマイズ情報記憶手段８０のさらに別の構成例を示した図である。これも、アプリケーション処理手段７０、スロット部３１、メカニカルスイッチ３２、管理手段３３、内部バス３４の構成は同じで、その機能も同じものであるため、ここでの説明は省略する。
【００８２】
この実施形態では、カスタマイズ情報記憶手段８０が、MFP２０が備えるコントローラ２２に接続されていて、コントローラ２２および管理手段３３を通じて情報の読み書きがされるように構成されている。このMFP２０は、サーバ装置３０の近傍に配置されたものや、オフィスにおいて中心的な機器といった特定しやすいものであることが好ましい。
【００８３】
アプリケーション処理手段７０上で実行されたアプリケーションにおいて、ユーザが入力し、そのアプリケーションプログラムをカスタマイズした場合、アプリケーション処理手段７０はそのカスタマイズ情報をスロット部３１、内部バス３４を介して管理手段３３へ送り、管理手段３３がスロット部３１およびアプリケーション処理手段７０を特定するためのID等を付加して、コントローラ２２へ送り、コントローラ２２がカスタマイズ情報記憶手段８０に格納する。
【００８４】
アプリケーション処理手段７０が交換された場合、管理手段３３との間で通信を確立した後、管理手段３３およびコントローラ２２を通じてスロット部３１のID等から特定した交換前のカスタマイズ情報にアクセスし、ユーザが選択したリカバリー処理またはクリアー処理を行うことができる。
【００８５】
このように、カスタマイズ情報記憶手段８０を外部の装置に配置することで、サーバ装置３０全体を置き換えた場合であっても再復帰が可能となる。一方、MFP２０を交換する場合は、交換した段階で、サーバ装置３０が備える管理手段３３から改めて各アプリケーション処理手段７０から情報を集め、画像処理装置が備えるカスタマイズ情報記憶手段８０に最新の情報を格納することとなる。
【００８６】
カスタマイズ情報記憶手段８０は、上記３つの実施形態を採用することができるが、可用性を高めるために、カスタマイズ情報記憶手段８０を２つ用意し、RAIDやミラー構成にすることもできる。また、カスタマイズ情報記憶手段８０もHDDやSSD（フラッシュメモリドライブ）等の外付けドライブにすることで、修理交換等の場合に取り外しできるようにすることができる。
【００８７】
これまで本発明を上述した実施形態をもって説明してきたが、本発明は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。したがって、本発明は、情報処理システムのほか、交換前のカスタマイズ状態に復帰させる方法およびその方法を実現するためのコンピュータ可読な復帰用プログラムとして構成することができ、また、そのプログラムを、フレキシブルディスク、CD、DVD、SDカード、フラッシュメモリ等の記録媒体に記録して提供することもできるものである。
【符号の説明】
【００８８】
１０…PC、２０…MFP、２１…エンジン、２２…コントローラ、２３…記憶手段、２４…蓄積手段、３０…サーバ装置、３１…スロット部、３２…メカニカルスイッチ、３３…管理手段、３４…内部バス、４０…LAN、５０…インターネット、６０…サーバ装置、７０…アプリケーション処理手段、８０…カスタマイズ情報記憶手段、１００…蓄積手段、１０１…主記憶手段、１０２…CPU、１０３…ネットワーク部、１０４…HUB、１１０…蓄積手段、１１１…主記憶手段、１１２…CPU、１１３…ネットワーク部、１１４…HUB、１１５…ブリッジ、１１６…機能変更デバイス、１２０…IOエレメント、１２１…PLL、１２２…マルチプライヤ、１２３…ロジックアレイ、１２４…メモリ
【先行技術文献】
【特許文献】
【００８９】
【特許文献１】特開２００２−１３５１１０号公報
【図１】
2010211371.tif 000003
【図２】
2010211371.tif 000004
【図３】
2010211371.tif 000005
【図４】
2010211371.tif 000006
【図５】
2010211371.tif 000007
【図６】
2010211371.tif 000008
【図７】
2010211371.tif 000009
【図８】
2010211371.tif 000010
【図９】
2010211371.tif 000011
【図１０】
2010211371.tif 000012