(57)【要約】【課題】  インストールしたログインアプリケーションに不具合があったとユーザが判断した場合に、上書き前のログインアプリケーション、もしくは新規でインストールした場合はデフォルトの認証に戻すといった復旧処理に手間がかかっていた。  【解決手段】  第１のログインアプリケーションに戻す指示を受け付けた場合は、前記フレームワークに対し前記退避領域に退避させた第１のログインアプリケーションの上書きインストールを指示する。【選択図】  図８
2013101560.tif 000002
【特許請求の範囲】
【請求項１】
プリンタであって、
第１のログインアプリケーションを含むアプリケーションのライフサイクルを管理するフレームワークと、
前記第１のログインアプリケーションを上書きするための第２のログインアプリケーションのインストール指示を受け付ける受付手段と、
前記第２のログインアプリケーションをインストールさせるためのフラグファイルを保存する保存手段と、
前記プリンタの電源を有効化した際に前記フラグファイルが保存されていることが確認されたことに応じて、前記第１のログインアプリケーションを前記保存手段の退避領域に退避させ、前記フレームワークに対し前記第２のログインアプリケーションの上書きインストールを指示し、その後、前記第１のログインアプリケーションに戻す指示を受け付けた場合は、前記フレームワークに対し前記退避領域に退避させた第１のログインアプリケーションの上書きインストールを指示するよう制御する制御手段と、を有するプリンタ。
【請求項２】
前記制御手段は、前記第１のログインアプリケーションに戻す指示を受け付けた場合は、インストール済みの前記第２のログインアプリケーションに前記退避領域に退避させた第１のログインアプリケーションを上書きインストールするよう前記フレームワークに対し指示することを特徴とする請求項１に記載のプリンタ。
【請求項３】
前記制御手段は、前記第１のログインアプリケーションに戻す指示を受け付けた場合は、前記フラグファイルとは異なるフラグファイルを前記保存手段に保存させ、再度、前記プリンタの電源を有効化した際に前記異なるフラグファイルが保存されていることが確認されたことに応じて、前記フレームワークに対し前記退避領域に退避させた第１のログインアプリケーションの上書きインストールを指示することを特徴とする請求項１または２に記載のプリンタ。
【請求項４】
前記フレームワークに対し前記第２のログインアプリケーションの上書きインストールを指示する場合は、前記プリンタと通信可能な情報処理装置から前記プリンタの管理アプリケーションにアクセスし、前記管理アプリケーションが提供するＵＩ画面を操作することで指示することを特徴とする請求項１乃至３の何れか１項に記載のプリンタ。
【請求項５】
プリンタを制御する制御方法であって、
フレームワークは、第１のログインアプリケーションを含むアプリケーションのライフサイクルを管理し、
受付手段は、前記第１のログインアプリケーションを上書きするための第２のログインアプリケーションのインストール指示を受け付け、
保存手段は、前記第２のログインアプリケーションをインストールさせるためのフラグファイルを保存し、
制御手段は、前記プリンタの電源を有効にした際に前記フラグファイルが保存されていることが確認されたことに応じて、前記第１のログインアプリケーションを前記保存手段の退避領域に退避させ、前記フレームワークに対し前記第２のログインアプリケーションの上書きインストールを指示し、その後、前記第１のログインアプリケーションに戻す指示を受け付けた場合は、前記フレームワークに対し前記退避領域に退避させた第１のログインアプリケーションの上書きインストールを指示するよう制御することを特徴とするプリンタの制御方法。
【請求項６】
請求項５に記載の制御方法をプリンタに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＯＳＧｉフレームワークを有するプリンタ、その制御方法、およびそのプログラムに関するものである。
【背景技術】
【０００２】
アプリケーションをインストール可能な画像形成装置が存在する。アプリケーションの開発者は、動作を確認するために、頻繁に画像形成装置に開発途中のアプリケーションを新規インストール、もしくは上書きインストールを行っている。
【０００３】
ログインアプリケーションは、画像形成装置のシステムにログインするための基本機能を持っている。そのため、インストールしたログインアプリケーションを起動する際、インストールしたログインアプリケーションに不具合があった場合、画像形成装置自体が起動できなくなってしまうケースがあった。
【０００４】
この場合、開発者は、画像形成装置をセーフモードで起動して、デフォルトの認証に切り替えたり、上書き前のログインアプリケーションを用意して再度インストールを行ったりと、リカバリ処理を手動で行って画像形成装置を復旧する必要があった。このことは、開発者がテストをしながらログインアプリケーションを開発していくにあたって負担となっており、課題となっていた。
【０００５】
ソフトウェアのリカバリ処理を扱った文献として、特許文献１が開示されている。特許文献１では、ファームウェアの書き換えが中断したり失敗したりした場合に、それを自動で検出し、書き換え前のファームウェアに戻す提案がなされている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１５０３８３
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来技術では、ソフトウェアの書き換えに成功するまでを対象とした発明である。従って、書き換え処理完了後にソフトウェア要因の不具合などが発生した場合において、書き換え前のソフトウェアに戻すようなケースは対象外となっている。
【０００８】
そこで本発明では、インストールが成功した後にインストールしたログインアプリケーションに不具合があったとユーザが判断した場合に、ユーザ指示により、上書き前のログインアプリケーション、もしくは新規でインストールした場合はデフォルトの認証に戻すことを可能にすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一実施系に係るプリンタは、第１のログインアプリケーションを含むアプリケーションのライフサイクルを管理するフレームワークと、前記第１のログインアプリケーションを上書きするための第２のログインアプリケーションのインストール指示を受け付ける受付手段と、前記第２のログインアプリケーションをインストールさせるためのフラグファイルを保存する保存手段と、前記プリンタの電源を有効にした際に前記フラグファイルが保存されていることが確認されたことに応じて、前記第１のログインアプリケーションを前記保存手段の退避領域に退避させ、前記フレームワークに対し前記第２のログインアプリケーションの上書きインストールを指示し、その後、前記第１のログインアプリケーションに戻す指示を受け付けた場合は、前記フレームワークに対し前記退避領域に退避させた第１のログインアプリケーションの上書きインストールを指示するよう制御することを特徴とする。
【発明の効果】
【００１０】
本発明により、インストールしたログインアプリケーションに不具合があって画像形成装置が起動しなくなった場合に、開発者が行うリカバリ処理の負担を軽減することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施の形態におけるネットワークシステム構成図。
【図２】本発明の一実施の形態における画像形成装置のハード構成図。
【図３】本発明の一実施の形態における入出力装置の一例。
【図４】本発明の一実施の形態におけるシステムブロック図。
【図５】インストーラが、アプリケーションインストール時に行う処理のフローチャート。
【図６】ＯＳＧｉフレームワークが、画像形成装置の電源をＯＮしたときに行う処理のフローチャート。
【図７】ＯＳＧｉフレームワークが、画像形成装置のハードキーからコマンドを入力されたときに行う処理のフローチャート。
【図８】ＯＳＧｉフレームワークが、画像形成装置の電源をＯＮしたときに行う処理のフローチャート。
【図９】ＯＳＧｉフレームワークが、退避したログインアプリケーションを削除する処理のフローチャート。
【図１０】フラグファイルのフォーマットの一例。
【図１１】アプリケーション管理アプリのＵＩの一例。
【図１２】（ａ）インストーラが、上書き前のアプリに戻すためのボタンを表示するためのフローチャート。（ｂ）ＯＳＧｉフレームワークが、上書き前のアプリに戻すためのフラグファイルの作成を行うためのフローチャート。
【発明を実施するための形態】
【００１２】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１３】
図１は、本発明の好適な実施の形態に係る情報処理装置を含むネットワークシステムの構成図である。図１の１０１は、一台でプリンタ、スキャナー、コピー、ＦＡＸなどの機能を兼ね備える画像形成装置１０１である。なお、画像形成装置１０１はプリント機能を１つ備えたプリンタであってもよく、これらの装置をプリンタと称する。画像形成装置１０１上には複数のアプリケーションがインストール可能で、画像形成装置１０１は画像形成装置に割り当てられた固有の機器ＩＤを有する。
【００１４】
１０２は、情報処理装置１０２であり画像形成装置１０１と相互に通信可能であり、画像形成装置１０１の操作をリモートで行うために使用される。１０３はインターネットなどのネットワーク１０３であり、画像形成装置１０１は、ネットワーク１０３を介して情報処理装置１０２と通信を行うことができる。
【００１５】
図２は、画像形成装置１０１を構成するハードウェア構成を示す図である。２０２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、各種プログラムを実行し、様々な機能を実現するユニットである。２０４は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）であり、各種プログラムを記憶するユニットである。２０３は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であり、ＣＰＵ２０２は、ＲＯＭ２０４に記憶されているプログラムをＲＡＭ２０３にロードしプログラムを実行する。
【００１６】
また、ＲＡＭ２０４は、ＣＰＵ２０２の一時的な作業記憶領域としても利用されるユニットである。２０５は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）であり、各種プログラムを記憶するユニットである。ＣＰＵ２０２は、ＨＤＤ２０５に記憶されているプログラムをＲＡＭ２０３にロードしプログラムを実行する。また、ＲＡＭ２０３のデータをＨＤＤ２０５に保存することもできる。
【００１７】
入出力部２０６は、図３で示すようなＵＩ３０１にデータを出力したり、ＵＩ３０１、ハードキー３０２〜３０５からデータを入力するユニットである。３０２は印刷枚数などを入力するためのキーである。３０３は処理をクリアするためのキーである。３０４は処理を開始するためのキーである。３０５は処理を停止するためのキーである。
【００１８】
ネットワーク部２０７は、情報処理装置１０２に接続するためのユニットである。印刷部２０８は、バス２１０を介して各ユニットとデータを送受信することが可能である。なお、印刷部は、ラスタイメージを始めとする各種イメージデータを記録媒体に印刷、または外部装置へ送信することが可能なユニットである。スキャナ部２０９は、原稿台の上に置かれた原稿を読み取り、イメージデータを生成するユニットである。以上説明してきたユニットは、バス２１０を介してデータの送受信を行うことが可能である。
【００１９】
図４（ａ）は画像形成装置１０１のソフトウェア構成を示す図である。ここに示されている各構成部を実現するプログラムはＨＤＤ２０５に記憶されている。そして、それらのプログラムはＲＡＭ２０３にロードされ、ＣＰＵ２０２が実行することで、各構成部が実現される。４０２はアプリケーション管理アプリ４０２であり、ユーザに対して、アプリケーションを指示するための画面を表示する他、インストーラ４０３に対してアプリケーションのインストール指示を行う。なお、情報処理装置１０２は、ネットワーク部２０７を介し、アプリケーション管理アプリケーション４０２にアクセスすることが可能である。アプリケーション管理アプリ４０２は、インストーラ４０３を介して、ＯＳＧｉフレームワーク４０４にインストール処理を依頼する。インストーラ４０３の詳細については後述する。
【００２０】
ＯＳＧｉフレームワーク４０４は、インストーラ４０３からのインストール依頼を基に、指定されたアプリケーションをインストールする他、アプリケーションの起動、および停止を行う。即ち、ＯＳＧｉフレームワーク４０４は、アプリケーションのインストールからアンインストールまでのアプリケーションのライフサイクルを管理するフレームワークである。また、本願発明のＯＳＧｉフレームワーク４０４は、ＯＳＧｉ  Ａｌｌｉａｎｃｅで定められた標準フレームワークの仕様に準拠し、拡張を行っている。
【００２１】
仮想マシン４０５はアプリケーションを実行するための実行環境であり、例えば、Ｊａｖａ（登録商標）の仮想マシンなどにより実現されるものである。仮想マシン４０５は、第１の実行環境であるＯＳ４０６上で実現される実行環境であり、Ｊａｖａ（登録商標）ベースで記述されたアプリケーションを実行するための第２の実行環境である。このような環境を画像形成装置１０１に具備させることで、画像形成装置１０１が生産された後でも、画像形成装置１０１の印刷ユニット、またはスキャナユニットを制御するためのアプリケーションをインストール、および実行させることが可能になる。ＯＳ４０６は、画像形成装置全体を制御する実行環境であり、画像形成装置の各種機能をリアルタイムに制御可能なリアルタイムＯＳの各モジュール、あるいは、クリティカルに画像形成装置のオプション装置、および拡張カードを含む各機能を制御することが可能なライブラリ群である。そして、その上位で動作するアプリケーションに対して、インタフェースコマンドを提供するモジュール群により実現されるものである。
【００２２】
次に、インストーラ４０３について図４（ｂ）を用いて説明する。図４（ｂ）は、インストーラ４０３の構成図である。４０７は上書き判定部４０７であり、アプリケーション４０２からインストール指示されたアプリケーションが上書きインストールであるかを判定する。仮置き部４０８はインストールするアプリケーションをＨＤＤ２０５に仮置きする。フラグファイル作成部４０９は、ＯＳＧｉフレームワーク４０４に指示をするためのフラグファイルを作成する。インストール指示部４１０はＯＳＧｉフレームワーク４０４に対し、アプリケーションのインストール依頼を行う。
【００２３】
次にＯＳＧｉフレームワーク４０４について図４（ｃ）を用いて説明する。図４（ｃ）は、ＯＳＧｉフレームワーク４０４の本発明に関わる部分の構成を示したものである。ＯＳＧｉフレームワーク４０４を構成する他のモジュールに関しては標準の仕様に準拠しており、本発明で言明するものではない。
【００２４】
４１１はフラグファイル判別部４１１であり、ＨＤＤ２０５のディレクトリを見てフラグファイルがあるかどうかを判別する。アプリ退避部４１２は、上書きインストールする場合にすでにインストールされている上書き前のアプリケーションを退避する。インストール部４１３は、インストーラ４０３からインストール指示されたアプリケーションをインストールする。フラグファイル削除部４１４はＨＤＤ２０５のディレクトリに存在するフラグファイルを削除する。コマンド判別部４１５は、画像形成装置１０１や情報処理装置１０２の入出力部２０６から入力されたコマンドのうち、ＯＳＧｉフレームワーク４０４用のコマンドであるかを判別する。フラグファイル作成部４１６は、ＯＳＧｉフレームワーク４０４読み込み用のフラグファイルを作成する。退避アプリ判別部４１７は、退避されたアプリケーションがあるかを判別する。ログインアプリ切り替え部４１８は、起動するログインアプリケーションを切り替える。ログイン検知部４１９は、ユーザが画像形成装置１０１にログインしたことを検知する。退避アプリ削除部４２０は、アプリ退避部４１２で退避したアプリケーションを削除する。
【００２５】
［ログインアプリケーションのインストール処理］
ログインアプリケーションの開発者は、アプリケーションをアプリケーション管理アプリ４０２が提供するＵＩ画面からファイル指定を行ってインストールを行う。入力されたアプリケーションに対してインストーラ４０３は、ＯＳＧｉフレームワーク４０４に対して新規インストール、上書きインストールといったインストール処理の依頼を行う。上書きされる前に既にインストールされているログインアプリケーションが第１のログインアプリケーションに相当する。
【００２６】
図５は、インストーラ４０３のインストール処理を示すフローチャートである。Ｓ５０１でユーザがアプリケーションのインストールを指示し、その指示が受付けられてから処理が開始される。Ｓ５０２で、上書き判定部４０７は、インストールされたアプリケーションがログインアプリケーションの上書きインストールであるかどうかを判定する。
【００２７】
ログインアプリケーションの上書きインストールであれば、Ｓ５０３で、仮置き部４０８は、上書きする新しいログインアプリケーションをＨＤＤ２０５に仮置きする。このログインアプリケーションが第２のログインアプリケーションに相当する。その後、Ｓ５０４で、フラグファイル作成部４０９は、フラグファイル１をＨＤＤ２０５に作成する。フラグファイル１の一例を、図１０（ａ）で示す。インストールするログインアプリケーションのアプリケーションを一意に特定するアプリケーションＩＤとファイルパスを記載する。その後Ｓ５０６で処理を終了する。ログインアプリケーションの上書きインストールでなければ、Ｓ５０５で、インストール指示部４１０は、ＯＳＧｉフレームワーク４０４に対してインストール指示を行い、Ｓ５０６で処理を終了する。
【００２８】
図６は、ＯＳＧｉフレームワーク４０４のログインアプリケーションの上書き処理のフローチャートである。Ｓ６０１で画像形成装置の電源がＯＮ、即ち有効化された後に処理が開始される。Ｓ６０２で、フラグファイル判別部４１１は、フラグファイル１が存在するかどうかを判別し確認する。フラグファイル１が存在すれば、Ｓ６０３で、アプリ退避部４１２は、フラグファイル１に記載されているアプリケーションＩＤと同一アプリケーションＩＤですでにインストールされているログインアプリケーションを退避させる。この際、保存手段に相当するメモリ内の退避領域にログインアプリケーションを退避させる。その後、Ｓ６０４で、インストール部４１３は、上書きインストールを行う。そして、Ｓ６０５で、フラグファイル削除部４１４は、フラグファイル１を削除し、Ｓ６０６で処理を終了する。
【００２９】
フラグファイル１が存在しなければ、Ｓ６０６で処理を終了する。図７は、ＯＳＧｉフレームワーク４０４がログインアプリを上書き前にもどすための前処理を行うフローチャート図である。Ｓ７０１でユーザがログインアプリケーションの不具合を検知することから始まる。その後、Ｓ７０２でユーザが画像形成装置１０２のハードキー３０２〜３０５からコマンドを入力する。Ｓ７０３で、コマンド判別部４１５は、上書き前のログインアプリケーションに戻すためのコマンドかどうかを判別する。
【００３０】
ログインアプリを戻すためのコマンドであれば、Ｓ７０４でフラグファイル作成部４１６はフラグファイル１とは異なるフラグファイル２をＨＤＤ２０５に作成する。フラグファイル２のフォーマットは、図９の（ｂ）で示すように例えば空ファイルとする。その後、Ｓ７０５で処理を終了する。ログインアプリを戻すためのコマンドでなければ、Ｓ７０５で処理を終了する。
【００３１】
図８は、ＯＳＧｉフレームワーク４０４がログインアプリを上書き前にもどすための処理を行うフローチャート図である。Ｓ８０１で画像形成装置の電源を再度ＯＮにした後に処理が開始される。Ｓ８０２でフラグファイル判別部４１１は、フラグファイル２が存在するかどうかを判別する。フラグファイル２が存在しなければ、Ｓ８０７で処理を終了する。
【００３２】
フラグファイル２が存在すれば、Ｓ８０３で退避アプリ判定部４１７は退避したログインアプリケーションがあるかどうかをＨＤＤ２０５のディレクトリを見て判定する。退避したログインアプリケーションがなければ、新規にインストールされたログインアプリを元に戻すため、Ｓ８０４でログインアプリ切り替え部４１８はデフォルトの認証（画像形成装置にデフォルトで設定されている認証方式）に戻す。
【００３３】
退避したログインアプリケーションがあれば、Ｓ８０５でインストール部４１３は、インストール済みの上書き後のログインアプリケーションに、退避領域に退避させた上書き前のログインアプリを上書きし、最初の状態に戻す。その後、Ｓ８０６でフラグファイル削除部４１４はフラグファイル２を削除する。その後、Ｓ８０７で処理を終了する。
【００３４】
図９は、ＯＳＧｉフレームワーク４０４が、退避したログインアプリケーションを削除する処理を行うフローチャート図である。Ｓ９０１でユーザが画像形成装置にログインすることによって処理を開始する。Ｓ９０２で、ログイン検知部４１９はログインを検知して、退避アプリ判定部４１７は退避したログインアプリケーションがあるかどうかをＨＤＤ２０５のディレクトリを見て判断する。
【００３５】
退避したログインアプリケーションがなければ、Ｓ９０４で処理を終了する。退避したログインアプリケーションがあれば、Ｓ９０３で、退避アプリ削除部４２０は退避したログインアプリケーションを削除する。そして、Ｓ９０４で処理を終了する。図１０（ａ）はフラグファイル１のフォーマット例である。アプリを一意に特定するアプリケーションＩＤとアプリケーションのファイルパスを記載する。図１０（ｂ）はフラグファイル２のフォーマット例である。本実施例では空ファイルを例として挙げるが、特に言明するものではない。
【００３６】
［その他の実施形］
上述の実施例では、上書き前のログインアプリに戻すために、ユーザが画像形成装置のハードキーからコマンドを入力することでＯＳＧｉフレームワークに伝達する方法について開示した。しかしながら、使用可能なハードキーが限られている、もしくは存在しない画像形成装置もある。図７の処理における他の実施形を以下に示す。アプリケーション管理アプリ４０２のＵＩ画面同様の機能を設けてもよい。図１１はアプリケーション管理アプリ４０２が提供するＵＩであり、ログインアプリケーション一覧画面である。ユーザが情報処理装置１０２のブラウザ上からＵＲＬを入力することにより、アクセスする。
【００３７】
１１０１で画像形成装置にインストールされているログインアプリケーションのアプリ名を表示する。１１０２でログインアプリケーションの状態を表示する。１１０３に上書き前に戻すためのボタンを表示する。ログインアプリ１、ログインアプリ２、ログインアプリ３はあらかじめユーザによってインストールされており、ログインアプリ１をユーザが上書きインストールした状況を示している。
【００３８】
図１２の（ａ）のフローチャートに従ってボタンの表示がされる。Ｓ１２０１でユーザがアプリケーション管理アプリ４０２のログインアプリケーション一覧画面を表示する。Ｓ１２０２で退避アプリ判定部４１７は退避したログインアプリがあるかを判定し、その結果をアプリケーション管理アプリ４０２が取得する。退避したログインアプリがなければ、Ｓ１２０４で終了する。退避したログインアプリがあれば、Ｓ１２０３で上書き前に戻すボタンを表示する。その後Ｓ１２０４で処理を終了する。
【００３９】
図１２の（ｂ）は、ＯＳＧｉフレームワークの処理である。Ｓ１２０５でユーザが上書き前に戻すボタンを押下することにより処理が開始される。Ｓ１２０６でフラグファイル作成部４１６はフラグファイル２を作成する。その後Ｓ１２０７で処理を終了する。
【図１】
2013101560.tif 000003
【図２】
2013101560.tif 000004
【図３】
2013101560.tif 000005
【図４】
2013101560.tif 000006
【図５】
2013101560.tif 000007
【図６】
2013101560.tif 000008
【図７】
2013101560.tif 000009
【図８】
2013101560.tif 000010
【図９】
2013101560.tif 000011
【図１０】
2013101560.tif 000012
【図１１】
2013101560.tif 000013
【図１２】
2013101560.tif 000014