(57)【要約】【課題】  アプリケーションに係るデータを容易に退避させるすることが可能となる技術を提供する。【解決手段】  アプリケーションを起動又は実行する情報処理装置であって、起動又は実行された前記アプリケーションの異常を検知する異常検知手段と、前記異常検知手段により異常を検知した場合、当該異常が検知されたアプリケーションが持つ、当該アプリケーションに係るデータを退避させる機能を実行することにより、当該データを退避させるデータ退避手段とを備えることを特徴とする情報処理装置。【選択図】  図８
2019114127.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを起動又は実行する情報処理装置であって、
起動又は実行された前記アプリケーションの異常を検知する異常検知手段と、
前記異常検知手段により異常を検知した場合、当該異常が検知されたアプリケーションが持つ、当該アプリケーションに係るデータを退避させる機能を実行することにより、当該データを退避させるデータ退避手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記データ退避手段により退避されたデータを前記アプリケーションが利用できるようにすべく、当該アプリケーションが持つ、当該退避されたデータを復旧させる機能を実行することにより、当該退避されたデータを復旧させるデータ復旧手段
を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記異常検知手段により異常を検知されたアプリケーション又は前記データ退避手段によりデータを退避させたアプリケーションの識別情報を記憶する記憶手段を更に備え、
前記データ復旧手段は、前記記憶手段により記憶されている識別情報に対応するアプリケーションに係る退避されたデータを復旧させること
を特徴とする請求項２に記載の情報処理装置。
【請求項４】
アプリケーションを起動又は実行する情報処理装置における処理方法であって、
前記情報処理装置が、
起動又は実行された前記アプリケーションの異常を検知する異常検知ステップと、
前記異常検知ステップにより異常を検知した場合、当該異常が検知されたアプリケーションが持つ、当該アプリケーションに係るデータを退避させる機能を実行することにより、当該データを退避させるデータ退避ステップと
を実行することを特徴とする処理方法。
【請求項５】
アプリケーションを起動又は実行する情報処理装置で実行可能なプログラムであって、
前記情報処理装置を、
起動又は実行された前記アプリケーションの異常を検知する異常検知手段と、
前記異常検知手段により異常を検知した場合、当該異常が検知されたアプリケーションが持つ、当該アプリケーションに係るデータを退避させる機能を実行することにより、当該データを退避させるデータ退避手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションを起動又は実行する情報処理装置、その処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、複合機にコピーやファックス等のアプリケーションをインストールし、複合機の機能を拡張する仕組みがある。これらのアプリケーションは、複合機メーカ自身が製造することもあるが、デベロッパと呼ばれるアプリケーションを開発するベンダが製造することもある。その場合、複合機メーカは、各アプリケーションの内部構造や当該アプリケーションが使用するデータを把握していないケースが多い。
【０００３】
特許文献１には、情報処理装置におけるデータの退避・復旧の制御方法について開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２２２０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記インストールしたアプリケーションと退避データとの関連性については記載されていないため、何等かのトラブルによりアプリケーションが正常に起動できない又は実行時エラーが発生する等の現象が発生し、アプリケーションを再インストールする又はアプリケーションに係るデータを初期状態に戻さなければならない場合に、複合機のＯＳは、どのデータを退避させておけばよいかがわからないという問題がある。
【０００６】
そこで、本発明は、アプリケーションに係るデータを容易に退避させることを目的とする。
【課題を解決するための手段】
【０００７】
アプリケーションを起動又は実行する情報処理装置であって、起動又は実行された前記アプリケーションの異常を検知する異常検知手段と、前記異常検知手段により異常を検知した場合、当該異常が検知されたアプリケーションが持つ、当該アプリケーションに係るデータを退避させる機能を実行することにより、当該データを退避させるデータ退避手段とを備えることを特徴とする情報処理装置。
【発明の効果】
【０００８】
本発明によれば、アプリケーションに係るデータを容易に退避させることが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態における、印刷システムの概略構成の一例を示す構成図である。
【図２】本発明の実施形態における、クライアントＰＣ、プリントサーバ、印刷管理サーバ、認証サーバに適用可能な情報処理装置のハードウェア構成の一例を示すブロック図である。
【図３】本発明の実施形態における、複合機のハードウェア構成の一例を示すブロック図である。
【図４】本発明の実施形態における、複合機上で動作するアプリケーション構成の一例を示すブロック図である。
【図５】本発明の実施形態における、ＩＣカード認証画面の一例を示す図である。
【図６】本発明の実施形態における、認証アプリケーションにおける認証成功後のメニュー画面の一例を示す図である。
【図７】本発明の実施形態における、掲示板機能を示す画面の一例を示す図である。
【図８】本発明の実施形態における、アプリケーション起動処理の一例を示すフローチャートである。
【図９】本発明の実施形態における、アプリケーション復旧処理の一例を示すフローチャートである。
【図１０】本発明の実施形態における、起動アプリケーションリスト及び起動失敗アプリケーションリスト情報の一例を示す図である。
【図１１】本発明の実施形態における、複合機のＨＤＤ３０４のディレクトリ構造の一例を示す図である。
【図１２】本発明の実施形態における、複合機の機能構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００１１】
図１は、本発明のプリントサーバ、印刷管理サーバ、認証サーバ、クライアントＰＣ、及び複合機を適用可能な印刷システムの構成の一例を示すシステム構成図（印刷システム１００）である。
【００１２】
印刷システム１００を構成するクライアントＰＣ１０２、プリントサーバ１０４、印刷管理サーバ１０６、複合機１０８、及び認証サーバ１１０は、ネットワーク１１２（例えば、ＬＡＮ）を介して通信可能なように接続されている。
【００１３】
クライアントＰＣ１０２には、プリンタドライバがインストールされており、このプリンタドライバは、アプリケーションプログラムから受け取ったデータに基づいて印刷データを作成し、該印刷データをプリントサーバ１０４等へ送信することができる。なお、当該印刷データには印刷設定属性及び実際に印刷されるページ数等が含まれている。
【００１４】
プリントサーバ１０４は、クライアントＰＣ１０２より印刷データを受信し、所定の格納場所に保存することができる。
【００１５】
また、プリントサーバ１０４は、印刷データ受信後は該印刷データの印刷指示管理データを解析し、印刷指示管理が記載されたファイル（書誌情報ファイル）を印刷管理サーバ１０６の所定の格納場所に格納させることができる。
【００１６】
また、プリントサーバ１０４は、印刷管理サーバ１０６より、該印刷データに係る印刷ジョブの出力要求があった場合、出力対象となる複合機１０８等に対し、ＬＰＲコマンドにて該印刷ジョブを送ることができる。
【００１７】
また、プリントサーバ１０４は、後述する印刷管理サーバ１０６の指示に従い、印刷データの体裁変更を行うことができる。また、その印刷データを複合機１０８に対し送信することができる。
【００１８】
なお、印刷管理サーバ１０６とプリントサーバ１０４との機能が、1つの装置上で実現される構成も、本発明に含まれるものである。
【００１９】
認証サーバ１１０は、ユーザ情報を保持している。認証サーバ１１０は、複合機１０８より認証サーバ１１０へ送信されたユーザ情報に従ってユーザを検索し、認証結果を複合機１０８に送信する。
【００２０】
例えば、複合機１０８のカードリーダ３１９にＩＣカードがかざされ、ＩＣカードのカードＩＤの情報がユーザ情報として認証サーバ１１０へ送信された場合、認証サーバ１１０は、カードＩＤマスタ１３０４において、複合機１０８より受信した当該ＩＣカードのカードＩＤの存在を確認し、認証結果を複合機１０８に送信する。
【００２１】
また、複合機１０８の操作部３０８において、ユーザＩＤ及びユーザパスワードが入力されて、ユーザＩＤ及びユーザパスワードの情報がユーザ情報として認証サーバ１１０へ送信された場合、認証サーバ１１０は、ユーザＩＤマスタ１３０１において、複合機１０８より受信したユーザＩＤ及びユーザパスワードのユーザ情報の存在を確認し、認証結果を複合機１０８に送信する。
【００２２】
以下、図２を用いて、図１に示すクライアントＰＣ１０２、プリントサーバ１０４、印刷管理サーバ１０６、及び認証サーバ１１０に適用可能な情報処理装置のハードウェア構成について説明する。
【００２３】
図２は、図１に示したクライアントＰＣ１０２、プリントサーバ１０４、印刷管理サーバ１０６、認証サーバ１１０に適用可能な情報処理装置のハードウェア構成を示すブロック図である。
【００２４】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Basic Input/Output System）やオペレーティングシステム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００２５】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００２６】
また、２０５は入力コントローラで、入力デバイス２０９からの入力を制御する。入力デバイス２０９としては、キーボード、タッチパネル、及びマウス等のポインティングデバイス等が挙げられる。
【００２７】
なお、入力デバイス２０９がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下（指等でタッチ）することにより、各種の指示を行うことができることとする。
【００２８】
また、タッチパネルは、マルチタッチスクリーン等の、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
【００２９】
２０６はビデオコントローラで、ディスプレイ２１０等の表示機への表示を制御する。なお、ディスプレイ２１０は、ＣＲＴ、液晶ディスプレイ等の表示機のことを指す。または、その他の表示機であってもよい。
【００３０】
尚、本体と一体になったノート型パソコンのディスプレイも含まれるものとする。外部出力装置はディスプレイに限ったものははく、例えばプロジェクタであってもよい。
【００３１】
また、前述のタッチ操作を受け付け可能な装置については、入力デバイス２０９を提供する。
【００３２】
２０７はメモリコントローラで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、及び各種データ等を記憶するハードディスク（ＨＤＤ）や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００３３】
２０８は通信Ｉ／Ｆコントローラで、ネットワーク１１２を介して外部機器と接続・通信するものであり、ネットワーク１１２での通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００３４】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォント展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３５】
本発明を実現するための後述する各種プログラムは、ＲＯＭ２０２あるいは外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。
【００３６】
さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報、テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。
【００３７】
次に、図３を用いて、図１に示した複合機１０８を制御するコントローラユニットのハードウェア構成について説明する。
【００３８】
図３は、図１に示した複合機１０８のコントローラユニットのハードウェア構成の一例を示すブロック図である。
【００３９】
図３において、３１６はコントローラユニットで、画像入力デバイスとして機能するスキャナ部３１４や、画像出力デバイスとして機能するプリンタ部３１２と接続する一方、ＬＡＮや公衆回線（ＷＡＮ）（例えば、ＰＳＴＮまたはＩＳＤＮ等）と接続することで、画像データやデバイス情報の入出力を行う。
【００４０】
コントローラユニット３１６において、３０１はＣＰＵで、システム全体を制御するプロセッサである。
【００４１】
３０２はＲＡＭで、ＣＰＵ３０１が動作するためのシステムネットワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリでもある。
【００４２】
３０３はＲＯＭで、システムのブートプログラムや各種制御プログラムが格納されている。３０４はハードディスクドライブ（ＨＤＤ）で、システムを制御するための各種プログラムや、画像データ等を格納する。
【００４３】
３０７は操作部インタフェース（操作部Ｉ／Ｆ）で、操作部３０８とのインタフェース部であり、操作部３０８に表示する画像データを出力する。
【００４４】
また、操作部Ｉ／Ｆ３０７は、操作部３０８からユーザが入力した情報（例えば、ユーザＩＤやユーザパスワード等のユーザ情報等）をＣＰＵ３０１に伝える役割をする。
【００４５】
３０５はネットワークインタフェース（Ｎｅｔｗｏｒｋ  Ｉ／Ｆ）で、ネットワーク１１２に接続し、データの入出力を行う。３０６はモデム（ＭＯＤＥＭ）で、公衆回線に接続し、ファクシミリ（以下、ＦＡＸ）の送受信等のデータの入出力を行う。
【００４６】
３１８は外部インタフェース（外部Ｉ／Ｆ）で、ＵＳＢ、ＩＥＥＥ１３９４、プリンタポート、ＲＳ−２３２Ｃ等の外部入力を受け付けるＩ／Ｆ部であり、本実施形態においては認証処理で必要となるＩＣカードを読み取るカードリーダ３１９が外部Ｉ／Ｆ３１８に接続されている。
【００４７】
そして、ＣＰＵ３０１は、この外部Ｉ／Ｆ３１８を介してカードリーダ３１９によるＩＣカードからの情報読み取りを制御し、該ＩＣカードから読み取られた情報を取得可能であることとする。以上のデバイスがシステムバス３０９上に配置される。
【００４８】
３２０はイメージバスインタフェース（ＩＭＡＧＥ  ＢＵＳ  Ｉ／Ｆ）であり、システムバス３０９と画像データを高速で転送する画像バス３１５とを接続し、データ構造を変換するバスブリッジである。
【００４９】
画像バス３１５は、ＰＣＩバスまたはＩＥＥＥ１３９４で構成される。画像バス３１５上には以下のデバイスが配置される。
【００５０】
３１０はラスタイメージプロセッサ（ＲＩＰ）で、例えば、ＰＤＬコード等のベクトルデータをビットマップイメージに展開する。３１１はプリンタインタフェース（プリンタＩ／Ｆ）で、プリンタ部３１２とコントローラユニット３１６とを接続し、画像データの同期系／非同期系の変換を行う。
【００５１】
また、３１３はスキャナインタフェース（スキャナＩ／Ｆ）で、スキャナ部３１４とコントローラユニット３１６とを接続し、画像データの同期系／非同期系の変換を行う。
【００５２】
３１７は画像処理部で、入力画像データに対し補正、加工、編集を行ったり、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。
【００５３】
また、これに加えて、画像処理部３１７は、画像データの回転や、多値画像データに対してはＪＰＥＧ、２値画像データはＪＢＩＧ、ＭＭＲ、ＭＨ等の圧縮伸張処理を行う。
【００５４】
スキャナ部３１４は、原稿となる紙上の画像を照明し、ＣＣＤラインセンサで走査することで、ラスタイメージデータとして電気信号に変換する。
【００５５】
原稿用紙は原稿フィーダのトレイにセットし、ユーザが操作部３０８から読み取り起動指示することにより、ＣＰＵ３０１がスキャナ部３１４に指示を与え、フィーダは原稿用紙を１枚ずつフィードし原稿画像の読み取り動作を行う。
【００５６】
プリンタ部３１２は、ラスタイメージデータを用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式や、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、ＣＰＵ３０１からの指示によって開始する。
【００５７】
尚、プリンタ部３１２には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセットがある。
【００５８】
操作部３０８は、ＬＣＤ表示部を有し、ＬＣＤ上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報を操作部Ｉ／Ｆ３０７を介してＣＰＵ３０１に伝える。
【００５９】
また、操作部３０８は、各種操作キーとして、例えば、スタートキー、ストップキー、ＩＤキー、リセットキー等を備える。
【００６０】
ここで、操作部３０８のスタートキーは、原稿画像の読み取り動作を開始する時等に用いる。スタートキーの中央部には、緑と赤の２色ＬＥＤがあり、その色によってスタートキーが使える状態にあるかどうかを示す。
【００６１】
また、操作部３０８のストップキーは、稼働中の動作を止める働きをする。また、操作部３０８のＩＤキーは、ユーザのユーザＩＤを入力する時に用いる。リセットキーは、操作部３０８からの設定を初期化する時に用いる。
【００６２】
カードリーダ３１９は、ＣＰＵ３０１からの制御により、ＩＣカード（例えば、ソニー社のＦｅｌｉＣａ（登録商標））内に記憶されている情報を読み取り、該読み取った情報を外部Ｉ／Ｆ３１８を介してＣＰＵ３０１へ通知する。
【００６３】
以上のような構成によって、複合機１０８は、スキャナ部３１４から読み込んだ画像データをネットワーク１１２上に送信したり、ネットワーク１１２から受信した印刷データをプリンタ部３１２により印刷出力することができる。
【００６４】
また、スキャナ部３１４から読み込んだ画像データをモデム３０６により、公衆回線上にＦＡＸ送信したり、公衆回線からＦＡＸ受信した画像データをプリンタ部３１２により出力することできる。
【００６５】
次に図４に示すアプリケーション構成図を用いて、複合機１０８内の環境の前提を説明する。追加で設けられたソフトウェア動作環境はアプリケーションプラットフォーム４０１（以下、プラットフォーム）と呼ばれる。
【００６６】
このアプリケーションプラットフォーム４０１は、インタプリタと一揃いのアプリケーションプログラムインタフェース（以下、ＡＰＩ）群やフレームワーク群から構成される。
【００６７】
そして、このアプリケーションプラットフォーム４０１は、その上で動作するソフトウェアのために一種の疑似ＯＳあるいはコンピューティングプラットフォームというべきものを提供する。
【００６８】
インタプリタは、所定の命令セットに含まれる命令からなる一連の命令列を逐次的に読み出し解釈し実行する。この命令セットをハードウェアのＣＰＵのための命令セットと同等の位置づけに捉える場合、インタプリタは特に仮想マシンと呼ばれることもある。
【００６９】
ＡＰＩ群及びフレームワーク群は、このソフトウェア動作環境の下層に内在する実際にリアルタイムＯＳが提供する資源やハードウェア資源を抽象化した各種の資源群に対するアクセスを、ソフトウェア動作環境上で動作するソフトウェアのために提供する。
【００７０】
資源にはプロセッサによる命令実行コンテクストやメモリ、ファイルシステム、ネットワークインタフェースを含む各種入出力（Ｉ／Ｏ）等がある。
【００７１】
特に、命令実行コンテクストは実際のＣＰＵとリアルタイムＯＳが提供するマルチタスク機構とは独立に、ソフトウェア動作環境が独自にインタプリタ上の命令実行コンテクストを管理できる。また、メモリも同様にソフトウェア動作環境が独自のメモリ管理を提供できる。
【００７２】
アプリケーションプラットフォーム４０１で動作するソフトウェアはインタプリタによって逐次的に読み込み解釈実行されるため、これらの処理の過程で命令列を監視しシステムに悪影響を与える動作を除外できる可能性がある。
【００７３】
また、ソフトウェア実行環境上のソフトウェアから各種資源に対するアクセスは、アプリケーションプラットフォーム４０１が提供するＡＰＩ群やフレームワーク群を経由して間接的に資源を操作するため、この過程でシステムに悪影響を与える動作を除外できる。
【００７４】
したがって、ファームウェア内部にインタプリタと、ＡＰＩ群及びフレームワーク群とからなるソフトウェア実行環境の階層を設けるアプローチは、基本的には静的かつ固定的に構成されるべき低コスト組込システムのファームウェアにおいて、ソフトウェアの動的な特性を部分的に導入するために非常に有効である。
【００７５】
また、アプリケーションプラットフォーム４０１上には、アプリケーション１（例：コピー）４０２及びアプリケーション２（例：ファックス）４０３等が配置される。これらアプリケーション１等は、プラットフォームのＡＰＩを用いて実行される。
【００７６】
４０４は、メッセージ受信モジュールであり、クライアントＰＣ１０２より、掲示板メッセージを受け取り、掲示板メッセージをリアルタイムＯＳ４０５上に格納するアプリケーションプラットフォーム４０１上で動作するアプリケーションである。
【００７７】
また、リアルタイムＯＳ４０５上に格納された掲示板メッセージ情報をもとに複合機１０８の本体の機能である掲示板機能が動作する。
【００７８】
認証アプリケーション４０６は、アプリケーションプラットフォーム４０１上で動作する認証アプリケーションである。その機能の一例として、リアルタイムＯＳ４０５上に格納された掲示板メッセージを定期的に確認し、掲示板メッセージ情報が存在する場合には、そのメッセージを表示する。
【００７９】
なお、定期的にメッセージを確認する際、掲示板メッセージが変更されている場合は、操作部３０８上に表示するメッセージも更新する。
【００８０】
図５は、ユーザに対してＩＣカードを翳すことを促す通知を行うためのＩＣカード認証画面の一例を示す構成図（ＩＣカード認証画面５００）であり、操作部３０８に表示される。
【００８１】
ＩＣカード認証画面５００が表示された状態で、ユーザがカードリーダ３１９へＩＣカードを翳すと認証処理が行われる。
【００８２】
図６は、認証アプリケーション４０６で認証処理によって認証がなされた後の複合機１０８のメニュー画面の一例を示す構成図（メニュー画面６００）であり、操作部３０８に表示される。メニュー画面６００には、起動されたアプリケーションを実行するためのボタンが表示される。なお、本実施形態においては、メニュー画面６００には起動されたアプリケーションを表示するとしたが、この方法に限定するものではなく、メニュー画面６００に表示されたアプリケーションはメニュー画面６００が表示された時点では起動されておらず、各ボタンの押下を受け付けてから対応するアプリケーションを起動する方法であってもよい。
【００８３】
また、認証アプリケーション４０６が起動しない設定、かつ、掲示板アプリケーションも起動しない設定で、複合機１０８を起動した場合、メニュー画面６００が表示される。
【００８４】
また、認証アプリケーション４０６が起動しない設定で、掲示板アプリケーションが起動する設定の場合、メニュー画面６００よりも先に、図７に示す掲示板アプリケーション７００が表示され、掲示板アプリケーション７００を閉じることでメニュー画面６００が出現する。
【００８５】
図７は、複合機１０８の本体機能である掲示板機能が操作部３０８に表示されている一例を示す図である。なお、掲示板機能は複合機１０８の本体機能であるが、独立したアプリケーションとして、アプリケーションプラットフォーム４０１上で動作するようにしてもよい。
【００８６】
図８は、本発明の実施形態におけるアプリケーション起動処理のフローチャートである。以下、各ステップの処理について説明する。
【００８７】
ステップＳ８０１において、複合機１０８のＣＰＵ３０１は、アプリケーション起動の指示を受け付ける。なお、この指示は、複合機１０８の電源が入った後にリアルタイムＯＳ４０５が出してもよいし、複合機１０８のメンテナンスを行うサービスマンやユーザによって出された指示等であってもよい。
【００８８】
ステップＳ８０２において、複合機１０８のＣＰＵ３０１は、ＨＤＤ３０４に記憶されている起動アプリケーションリスト１０１０（図１０）を取得する。ここでは、「コピー」「ファックス」「スキャンして送信」「セキュアプリント」という４つのアプリケーション識別情報が取得できたとする。
【００８９】
ステップＳ８０３において、複合機１０８のＣＰＵ３０１は、ステップＳ８０２にて取得した起動アプリケーションの数分だけ、ステップＳ８０９までの処理を繰返す。
【００９０】
ステップＳ８０４において、複合機１０８のＣＰＵ３０１は、ステップＳ８０２にて取得したアプリケーション識別情報に対応するアプリケーションを起動する。
【００９１】
ステップＳ８０５において、複合機１０８のＣＰＵ３０１は、アプリケーションが起動できたか否かを判定する。起動できた場合はステップＳ８０９に進み、起動できなかった場合はステップＳ８０６に進む。すなわち、ステップＳ８０５は、起動又は実行された前記アプリケーションの異常を検知する処理の一例を示すステップである。
【００９２】
ステップＳ８０６において、複合機１０８のＣＰＵ３０１は、起動できなかったアプリケーションの識別情報を起動失敗アプリケーションリスト１０２０（図１０）に出力し、ＨＤＤ３０４に記憶する。すなわち、ステップＳ８０６は、異常を検知されたアプリケーション又はデータを退避させたアプリケーションの識別情報を記憶する処理の一例を示すステップである。ここでは、「ファックス」のアプリケーションが起動できなかったとする。
【００９３】
ステップＳ８０７において、複合機１０８のＣＰＵ３０１は、起動できなかったアプリケーションのデータ退避メソッドを呼出す。つまり、各アプリケーションは、データ退避メソッドを持つ。なお、本実施形態においては、データ退避メソッドを呼出すとしたが、メソッド形式に限定するものではなく、アプリケーションにデータを退避させることを要求する引数を渡す等の方法によってデータ退避プログラム等を実行する等の方法であってもよい。
【００９４】
ステップＳ８０８において、複合機１０８のＣＰＵ３０１は、アプリケーションのデータ退避メソッドが実行されることにより、アプリケーションのデータを退避させる。すなわち、ステップＳ８０７及びＳ８０８は、異常を検知した場合、当該異常が検知されたアプリケーションが持つ、当該アプリケーションに係るデータを退避させる機能を実行することにより、当該データを退避させる処理の一例を示すステップである。
【００９５】
ここでは、アプリケーション及びそのデータファイルが、複合機１０８のＨＤＤ３０４に図１１のディレクトリ構造１１１０（データ退避前）のように記憶されていたところ、ステップＳ８０８のデータ退避処理によって、データファイル（ファックス．ｄａｔ）は、図１１のディレクトリ構造１１２０（データ退避後）のようにＴＥＭＰフォルダ配下へ移動する。データファイルとは、例えば、印刷カウンタ、ＩＰアドレス等のネットワーク情報、各ユーザの印刷設定、送信先設定等のアプリケーションが利用するデータが記憶されているファイルである。
【００９６】
以上により、各アプリケーションが使用するデータを把握していないケースであっても、アプリケーションのデータ退避メソッドを実行することで、アプリケーションに係るデータを容易に退避させることができる。つまり、複合機メーカは、各アプリケーションの内部構造や当該アプリケーションが使用するデータを把握する必要がなく、各アプリケーションのインタフェースを統一することができる。また、このデータ退避メソッドをデベロッパ側に製造させることで、アプリケーションを熟知するデベロッパによる細かなデータ制御が可能になるというメリットもある。
【００９７】
以上で、図８の説明を終了する。
【００９８】
図９は、本発明の実施形態における、アプリケーション復旧処理の一例を示すフローチャートである。以下、各ステップの処理について説明する。
【００９９】
ステップＳ９０１において、複合機１０８のＣＰＵ３０１は、アプリケーション復旧の指示を受け付ける。なお、この指示は、図８のアプリケーション起動処理が終わった直後にリアルタイムＯＳ４０５自らが出してもよいし、複合機１０８のメンテナンスを行うサービスマンやユーザによって出された指示等であってもよい。
【０１００】
ステップＳ９０２において、複合機１０８のＣＰＵ３０１は、ＨＤＤ３０４に記憶されている起動失敗アプリケーションリスト１０２０（図１０）を取得する。ここでは、「ファックス」のアプリケーション識別情報が取得できたとする。
【０１０１】
ステップＳ９０３において、複合機１０８のＣＰＵ３０１は、ステップＳ９０２にて取得した起動失敗アプリケーションの数分だけ、ステップＳ９１０までの処理を繰返す。
【０１０２】
ステップＳ９０４において、複合機１０８のＣＰＵ３０１は、ステップＳ９０２にて取得したアプリケーション識別情報に対応するアプリケーションを再インストールする。なお、インストールを実行するファイルは、複合機１０８のＨＤＤ３０４又はネットワーク１１２を経由して他の情報処理装置若しくはインターネット等から取得する。
【０１０３】
ステップＳ９０５において、複合機１０８のＣＰＵ３０１は、アプリケーションの退避データの有無を判定する。有る場合はステップＳ９０６に進み、無い場合はステップＳ９０９に進む。
【０１０４】
ステップＳ９０６において、複合機１０８のＣＰＵ３０１は、ステップＳ９０４にて再インストールしたアプリケーションの識別情報を起動失敗アプリケーションリスト１０２０から消去する。
【０１０５】
ステップＳ９０７において、複合機１０８のＣＰＵ３０１は、ステップＳ９０４にて再インストールしたアプリケーションのデータ復旧メソッドを呼出す。つまり、各アプリケーションは、データ復旧メソッドを持つ。なお、本実施形態においては、データ復旧メソッドを呼出すとしたが、メソッド形式に限定するものではなく、アプリケーションにデータを復旧させることを要求する引数を渡す等の方法によってデータ復旧プログラム等を実行する等の方法であってもよい。
【０１０６】
ステップＳ９０８において、複合機１０８のＣＰＵ３０１は、アプリケーションのデータ復旧メソッドが実行されることにより、アプリケーションのデータを復旧させる。すなわち、ステップＳ９０７及びＳ９０８は、退避されたデータを前記アプリケーションが利用できるようにすべく、当該アプリケーションが持つ、当該退避されたデータを復旧させる機能を実行することにより、当該退避されたデータを復旧させる処理の一例を示すステップである。また、ステップＳ９０７及びＳ９０８は、記憶されている識別情報に対応するアプリケーションに係る退避されたデータを復旧させる処理の一例を示すステップである。
【０１０７】
ここでは、アプリケーション及びそのデータファイルが、複合機１０８のＨＤＤ３０４に図１１のディレクトリ構造１１２０（データ退避後）のように退避されていたところ、ステップＳ９０８のデータ復旧処理によって、データファイル（ファックス．ｄａｔ）は、図１１のディレクトリ構造１１１０（データ退避前）のようにＤＡＴＡフォルダ配下へ戻される。
【０１０８】
ステップＳ９０９において、複合機１０８のＣＰＵ３０１は、ステップＳ９０４にて再インストールしたアプリケーションを起動する。
【０１０９】
以上により、各アプリケーションが使用するデータを把握していないケースであっても、アプリケーションのデータ復旧メソッドを実行することで、アプリケーションに係るデータを容易に復旧させることができる。つまり、複合機メーカは、各アプリケーションの内部構造や当該アプリケーションが使用するデータを把握する必要がなく、各アプリケーションのインタフェースを統一することができる。また、このデータ復旧メソッドをデベロッパ側に製造させることで、アプリケーションを熟知するデベロッパによる細かなデータ制御が可能になるというメリットもある。
【０１１０】
以上で、図９の説明を終了する。
【０１１１】
図１２は、複合機の機能構成の一例を示すブロック図である。
【０１１２】
異常検知部１２０１は、起動又は実行されたアプリケーションの異常を検知する機能部である。
【０１１３】
データ退避部１２０２は、異常検知部１２０１により異常を検知した場合、当該異常が検知されたアプリケーションが持つ、当該アプリケーションに係るデータを退避させる機能を実行することにより、当該データを退避させる機能部である。
【０１１４】
データ復旧部１２０３は、データ退避部１２０２により退避されたデータをアプリケーションが利用できるようにすべく、当該アプリケーションが持つ、当該退避されたデータを復旧させる機能を実行することにより、当該退避されたデータを復旧させる機能部である。
【０１１５】
記憶部１２０４は、異常検知部１２０１により異常を検知されたアプリケーション又はデータ退避部１２０２によりデータを退避させたアプリケーションの識別情報を記憶する機能部である。
【０１１６】
データ復旧部１２０３は、記憶部１２０４により記憶されている識別情報に対応するアプリケーションに係る退避されたデータを復旧させる機能部である。
【０１１７】
以上で、図１２の説明を終了する。
【０１１８】
以上により、アプリケーションに係るデータを容易に退避させることが可能となる。これにより、アプリケーションを再インストールする又はアプリケーションに係るデータを初期状態に戻さなければならない場合であっても、適切にデータを退避させた上で、アプリケーションの再インストールやデータの初期化ができ、更に退避させたデータを復旧できるようになる。
なお、本実施形態においては、呼び出す処理はデータの退避処理又は復旧処理としたが、これらの処理に限定するものではなく、異常を特定するための分析処理や異常を修復するための修復処理等の処理であってもよい。また、本実施形態においては、退避及び復旧されるデータをデータファイルとしたが、ファイル形式のデータに限定するものではなく、例えば、データベースのデータやメモリ上に展開されたデータ等であってもよい。
【０１１９】
なお、本実施形態においては、アプリケーションを起動又は実行する複合機としたが、複合機に限定するものではなく、スマートフォン等のモバイル端末、クライアントＰＣ又はサーバ等、アプリケーションを起動又は実行する情報処理装置であればよい。
【０１２０】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１２１】
例えば、クラウド環境を想定した場合に、各サーバの機能の一部又は全てを実現する処理を他のサーバが実行することが出来る。また、各サーバの機能の一部又は全てを実現する処理を情報処理装置が実行することも出来る。
【０１２２】
また、本発明におけるプログラムは、各フローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は各処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは各装置の処理方法ごとのプログラムであってもよい。
【０１２３】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１２４】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【０１２５】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【０１２６】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２８】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適用できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１２９】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１３０】
なお、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１３１】
１０２  クライアントＰＣ
１０４  プリントサーバ
１０６  印刷管理サーバ
１０８  複合機
１１０  認証サーバ
１１２  ネットワーク
【図１】
2019114127.tif 000003
【図２】
2019114127.tif 000004
【図３】
2019114127.tif 000005
【図４】
2019114127.tif 000006
【図５】
2019114127.tif 000007
【図６】
2019114127.tif 000008
【図７】
2019114127.tif 000009
【図８】
2019114127.tif 000010
【図９】
2019114127.tif 000011
【図１０】
2019114127.tif 000012
【図１１】
2019114127.tif 000013
【図１２】
2019114127.tif 000014