説明

プリンタ、その制御方法、およびそのプログラム

【課題】 インストールしたログインアプリケーションに不具合があったとユーザが判断した場合に、上書き前のログインアプリケーション、もしくは新規でインストールした場合はデフォルトの認証に戻すといった復旧処理に手間がかかっていた。
【解決手段】 第1のログインアプリケーションに戻す指示を受け付けた場合は、前記フレームワークに対し前記退避領域に退避させた第1のログインアプリケーションの上書きインストールを指示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、OSGiフレームワークを有するプリンタ、その制御方法、およびそのプログラムに関するものである。
【背景技術】
【0002】
アプリケーションをインストール可能な画像形成装置が存在する。アプリケーションの開発者は、動作を確認するために、頻繁に画像形成装置に開発途中のアプリケーションを新規インストール、もしくは上書きインストールを行っている。
【0003】
ログインアプリケーションは、画像形成装置のシステムにログインするための基本機能を持っている。そのため、インストールしたログインアプリケーションを起動する際、インストールしたログインアプリケーションに不具合があった場合、画像形成装置自体が起動できなくなってしまうケースがあった。
【0004】
この場合、開発者は、画像形成装置をセーフモードで起動して、デフォルトの認証に切り替えたり、上書き前のログインアプリケーションを用意して再度インストールを行ったりと、リカバリ処理を手動で行って画像形成装置を復旧する必要があった。このことは、開発者がテストをしながらログインアプリケーションを開発していくにあたって負担となっており、課題となっていた。
【0005】
ソフトウェアのリカバリ処理を扱った文献として、特許文献1が開示されている。特許文献1では、ファームウェアの書き換えが中断したり失敗したりした場合に、それを自動で検出し、書き換え前のファームウェアに戻す提案がなされている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2011−150383
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、従来技術では、ソフトウェアの書き換えに成功するまでを対象とした発明である。従って、書き換え処理完了後にソフトウェア要因の不具合などが発生した場合において、書き換え前のソフトウェアに戻すようなケースは対象外となっている。
【0008】
そこで本発明では、インストールが成功した後にインストールしたログインアプリケーションに不具合があったとユーザが判断した場合に、ユーザ指示により、上書き前のログインアプリケーション、もしくは新規でインストールした場合はデフォルトの認証に戻すことを可能にすることを目的とする。
【課題を解決するための手段】
【0009】
本発明の一実施系に係るプリンタは、第1のログインアプリケーションを含むアプリケーションのライフサイクルを管理するフレームワークと、前記第1のログインアプリケーションを上書きするための第2のログインアプリケーションのインストール指示を受け付ける受付手段と、前記第2のログインアプリケーションをインストールさせるためのフラグファイルを保存する保存手段と、前記プリンタの電源を有効にした際に前記フラグファイルが保存されていることが確認されたことに応じて、前記第1のログインアプリケーションを前記保存手段の退避領域に退避させ、前記フレームワークに対し前記第2のログインアプリケーションの上書きインストールを指示し、その後、前記第1のログインアプリケーションに戻す指示を受け付けた場合は、前記フレームワークに対し前記退避領域に退避させた第1のログインアプリケーションの上書きインストールを指示するよう制御することを特徴とする。
【発明の効果】
【0010】
本発明により、インストールしたログインアプリケーションに不具合があって画像形成装置が起動しなくなった場合に、開発者が行うリカバリ処理の負担を軽減することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の一実施の形態におけるネットワークシステム構成図。
【図2】本発明の一実施の形態における画像形成装置のハード構成図。
【図3】本発明の一実施の形態における入出力装置の一例。
【図4】本発明の一実施の形態におけるシステムブロック図。
【図5】インストーラが、アプリケーションインストール時に行う処理のフローチャート。
【図6】OSGiフレームワークが、画像形成装置の電源をONしたときに行う処理のフローチャート。
【図7】OSGiフレームワークが、画像形成装置のハードキーからコマンドを入力されたときに行う処理のフローチャート。
【図8】OSGiフレームワークが、画像形成装置の電源をONしたときに行う処理のフローチャート。
【図9】OSGiフレームワークが、退避したログインアプリケーションを削除する処理のフローチャート。
【図10】フラグファイルのフォーマットの一例。
【図11】アプリケーション管理アプリのUIの一例。
【図12】(a)インストーラが、上書き前のアプリに戻すためのボタンを表示するためのフローチャート。(b)OSGiフレームワークが、上書き前のアプリに戻すためのフラグファイルの作成を行うためのフローチャート。
【発明を実施するための形態】
【0012】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【0013】
図1は、本発明の好適な実施の形態に係る情報処理装置を含むネットワークシステムの構成図である。図1の101は、一台でプリンタ、スキャナー、コピー、FAXなどの機能を兼ね備える画像形成装置101である。なお、画像形成装置101はプリント機能を1つ備えたプリンタであってもよく、これらの装置をプリンタと称する。画像形成装置101上には複数のアプリケーションがインストール可能で、画像形成装置101は画像形成装置に割り当てられた固有の機器IDを有する。
【0014】
102は、情報処理装置102であり画像形成装置101と相互に通信可能であり、画像形成装置101の操作をリモートで行うために使用される。103はインターネットなどのネットワーク103であり、画像形成装置101は、ネットワーク103を介して情報処理装置102と通信を行うことができる。
【0015】
図2は、画像形成装置101を構成するハードウェア構成を示す図である。202は、CPU(Central Processing Unit)であり、各種プログラムを実行し、様々な機能を実現するユニットである。204は、ROM(Read Only Memory)であり、各種プログラムを記憶するユニットである。203は、RAM(Random Access Memory)であり、CPU202は、ROM204に記憶されているプログラムをRAM203にロードしプログラムを実行する。
【0016】
また、RAM204は、CPU202の一時的な作業記憶領域としても利用されるユニットである。205は、HDD(Hard Disk Drive)であり、各種プログラムを記憶するユニットである。CPU202は、HDD205に記憶されているプログラムをRAM203にロードしプログラムを実行する。また、RAM203のデータをHDD205に保存することもできる。
【0017】
入出力部206は、図3で示すようなUI301にデータを出力したり、UI301、ハードキー302〜305からデータを入力するユニットである。302は印刷枚数などを入力するためのキーである。303は処理をクリアするためのキーである。304は処理を開始するためのキーである。305は処理を停止するためのキーである。
【0018】
ネットワーク部207は、情報処理装置102に接続するためのユニットである。印刷部208は、バス210を介して各ユニットとデータを送受信することが可能である。なお、印刷部は、ラスタイメージを始めとする各種イメージデータを記録媒体に印刷、または外部装置へ送信することが可能なユニットである。スキャナ部209は、原稿台の上に置かれた原稿を読み取り、イメージデータを生成するユニットである。以上説明してきたユニットは、バス210を介してデータの送受信を行うことが可能である。
【0019】
図4(a)は画像形成装置101のソフトウェア構成を示す図である。ここに示されている各構成部を実現するプログラムはHDD205に記憶されている。そして、それらのプログラムはRAM203にロードされ、CPU202が実行することで、各構成部が実現される。402はアプリケーション管理アプリ402であり、ユーザに対して、アプリケーションを指示するための画面を表示する他、インストーラ403に対してアプリケーションのインストール指示を行う。なお、情報処理装置102は、ネットワーク部207を介し、アプリケーション管理アプリケーション402にアクセスすることが可能である。アプリケーション管理アプリ402は、インストーラ403を介して、OSGiフレームワーク404にインストール処理を依頼する。インストーラ403の詳細については後述する。
【0020】
OSGiフレームワーク404は、インストーラ403からのインストール依頼を基に、指定されたアプリケーションをインストールする他、アプリケーションの起動、および停止を行う。即ち、OSGiフレームワーク404は、アプリケーションのインストールからアンインストールまでのアプリケーションのライフサイクルを管理するフレームワークである。また、本願発明のOSGiフレームワーク404は、OSGi Allianceで定められた標準フレームワークの仕様に準拠し、拡張を行っている。
【0021】
仮想マシン405はアプリケーションを実行するための実行環境であり、例えば、Java(登録商標)の仮想マシンなどにより実現されるものである。仮想マシン405は、第1の実行環境であるOS406上で実現される実行環境であり、Java(登録商標)ベースで記述されたアプリケーションを実行するための第2の実行環境である。このような環境を画像形成装置101に具備させることで、画像形成装置101が生産された後でも、画像形成装置101の印刷ユニット、またはスキャナユニットを制御するためのアプリケーションをインストール、および実行させることが可能になる。OS406は、画像形成装置全体を制御する実行環境であり、画像形成装置の各種機能をリアルタイムに制御可能なリアルタイムOSの各モジュール、あるいは、クリティカルに画像形成装置のオプション装置、および拡張カードを含む各機能を制御することが可能なライブラリ群である。そして、その上位で動作するアプリケーションに対して、インタフェースコマンドを提供するモジュール群により実現されるものである。
【0022】
次に、インストーラ403について図4(b)を用いて説明する。図4(b)は、インストーラ403の構成図である。407は上書き判定部407であり、アプリケーション402からインストール指示されたアプリケーションが上書きインストールであるかを判定する。仮置き部408はインストールするアプリケーションをHDD205に仮置きする。フラグファイル作成部409は、OSGiフレームワーク404に指示をするためのフラグファイルを作成する。インストール指示部410はOSGiフレームワーク404に対し、アプリケーションのインストール依頼を行う。
【0023】
次にOSGiフレームワーク404について図4(c)を用いて説明する。図4(c)は、OSGiフレームワーク404の本発明に関わる部分の構成を示したものである。OSGiフレームワーク404を構成する他のモジュールに関しては標準の仕様に準拠しており、本発明で言明するものではない。
【0024】
411はフラグファイル判別部411であり、HDD205のディレクトリを見てフラグファイルがあるかどうかを判別する。アプリ退避部412は、上書きインストールする場合にすでにインストールされている上書き前のアプリケーションを退避する。インストール部413は、インストーラ403からインストール指示されたアプリケーションをインストールする。フラグファイル削除部414はHDD205のディレクトリに存在するフラグファイルを削除する。コマンド判別部415は、画像形成装置101や情報処理装置102の入出力部206から入力されたコマンドのうち、OSGiフレームワーク404用のコマンドであるかを判別する。フラグファイル作成部416は、OSGiフレームワーク404読み込み用のフラグファイルを作成する。退避アプリ判別部417は、退避されたアプリケーションがあるかを判別する。ログインアプリ切り替え部418は、起動するログインアプリケーションを切り替える。ログイン検知部419は、ユーザが画像形成装置101にログインしたことを検知する。退避アプリ削除部420は、アプリ退避部412で退避したアプリケーションを削除する。
【0025】
[ログインアプリケーションのインストール処理]
ログインアプリケーションの開発者は、アプリケーションをアプリケーション管理アプリ402が提供するUI画面からファイル指定を行ってインストールを行う。入力されたアプリケーションに対してインストーラ403は、OSGiフレームワーク404に対して新規インストール、上書きインストールといったインストール処理の依頼を行う。上書きされる前に既にインストールされているログインアプリケーションが第1のログインアプリケーションに相当する。
【0026】
図5は、インストーラ403のインストール処理を示すフローチャートである。S501でユーザがアプリケーションのインストールを指示し、その指示が受付けられてから処理が開始される。S502で、上書き判定部407は、インストールされたアプリケーションがログインアプリケーションの上書きインストールであるかどうかを判定する。
【0027】
ログインアプリケーションの上書きインストールであれば、S503で、仮置き部408は、上書きする新しいログインアプリケーションをHDD205に仮置きする。このログインアプリケーションが第2のログインアプリケーションに相当する。その後、S504で、フラグファイル作成部409は、フラグファイル1をHDD205に作成する。フラグファイル1の一例を、図10(a)で示す。インストールするログインアプリケーションのアプリケーションを一意に特定するアプリケーションIDとファイルパスを記載する。その後S506で処理を終了する。ログインアプリケーションの上書きインストールでなければ、S505で、インストール指示部410は、OSGiフレームワーク404に対してインストール指示を行い、S506で処理を終了する。
【0028】
図6は、OSGiフレームワーク404のログインアプリケーションの上書き処理のフローチャートである。S601で画像形成装置の電源がON、即ち有効化された後に処理が開始される。S602で、フラグファイル判別部411は、フラグファイル1が存在するかどうかを判別し確認する。フラグファイル1が存在すれば、S603で、アプリ退避部412は、フラグファイル1に記載されているアプリケーションIDと同一アプリケーションIDですでにインストールされているログインアプリケーションを退避させる。この際、保存手段に相当するメモリ内の退避領域にログインアプリケーションを退避させる。その後、S604で、インストール部413は、上書きインストールを行う。そして、S605で、フラグファイル削除部414は、フラグファイル1を削除し、S606で処理を終了する。
【0029】
フラグファイル1が存在しなければ、S606で処理を終了する。図7は、OSGiフレームワーク404がログインアプリを上書き前にもどすための前処理を行うフローチャート図である。S701でユーザがログインアプリケーションの不具合を検知することから始まる。その後、S702でユーザが画像形成装置102のハードキー302〜305からコマンドを入力する。S703で、コマンド判別部415は、上書き前のログインアプリケーションに戻すためのコマンドかどうかを判別する。
【0030】
ログインアプリを戻すためのコマンドであれば、S704でフラグファイル作成部416はフラグファイル1とは異なるフラグファイル2をHDD205に作成する。フラグファイル2のフォーマットは、図9の(b)で示すように例えば空ファイルとする。その後、S705で処理を終了する。ログインアプリを戻すためのコマンドでなければ、S705で処理を終了する。
【0031】
図8は、OSGiフレームワーク404がログインアプリを上書き前にもどすための処理を行うフローチャート図である。S801で画像形成装置の電源を再度ONにした後に処理が開始される。S802でフラグファイル判別部411は、フラグファイル2が存在するかどうかを判別する。フラグファイル2が存在しなければ、S807で処理を終了する。
【0032】
フラグファイル2が存在すれば、S803で退避アプリ判定部417は退避したログインアプリケーションがあるかどうかをHDD205のディレクトリを見て判定する。退避したログインアプリケーションがなければ、新規にインストールされたログインアプリを元に戻すため、S804でログインアプリ切り替え部418はデフォルトの認証(画像形成装置にデフォルトで設定されている認証方式)に戻す。
【0033】
退避したログインアプリケーションがあれば、S805でインストール部413は、インストール済みの上書き後のログインアプリケーションに、退避領域に退避させた上書き前のログインアプリを上書きし、最初の状態に戻す。その後、S806でフラグファイル削除部414はフラグファイル2を削除する。その後、S807で処理を終了する。
【0034】
図9は、OSGiフレームワーク404が、退避したログインアプリケーションを削除する処理を行うフローチャート図である。S901でユーザが画像形成装置にログインすることによって処理を開始する。S902で、ログイン検知部419はログインを検知して、退避アプリ判定部417は退避したログインアプリケーションがあるかどうかをHDD205のディレクトリを見て判断する。
【0035】
退避したログインアプリケーションがなければ、S904で処理を終了する。退避したログインアプリケーションがあれば、S903で、退避アプリ削除部420は退避したログインアプリケーションを削除する。そして、S904で処理を終了する。図10(a)はフラグファイル1のフォーマット例である。アプリを一意に特定するアプリケーションIDとアプリケーションのファイルパスを記載する。図10(b)はフラグファイル2のフォーマット例である。本実施例では空ファイルを例として挙げるが、特に言明するものではない。
【0036】
[その他の実施形]
上述の実施例では、上書き前のログインアプリに戻すために、ユーザが画像形成装置のハードキーからコマンドを入力することでOSGiフレームワークに伝達する方法について開示した。しかしながら、使用可能なハードキーが限られている、もしくは存在しない画像形成装置もある。図7の処理における他の実施形を以下に示す。アプリケーション管理アプリ402のUI画面同様の機能を設けてもよい。図11はアプリケーション管理アプリ402が提供するUIであり、ログインアプリケーション一覧画面である。ユーザが情報処理装置102のブラウザ上からURLを入力することにより、アクセスする。
【0037】
1101で画像形成装置にインストールされているログインアプリケーションのアプリ名を表示する。1102でログインアプリケーションの状態を表示する。1103に上書き前に戻すためのボタンを表示する。ログインアプリ1、ログインアプリ2、ログインアプリ3はあらかじめユーザによってインストールされており、ログインアプリ1をユーザが上書きインストールした状況を示している。
【0038】
図12の(a)のフローチャートに従ってボタンの表示がされる。S1201でユーザがアプリケーション管理アプリ402のログインアプリケーション一覧画面を表示する。S1202で退避アプリ判定部417は退避したログインアプリがあるかを判定し、その結果をアプリケーション管理アプリ402が取得する。退避したログインアプリがなければ、S1204で終了する。退避したログインアプリがあれば、S1203で上書き前に戻すボタンを表示する。その後S1204で処理を終了する。
【0039】
図12の(b)は、OSGiフレームワークの処理である。S1205でユーザが上書き前に戻すボタンを押下することにより処理が開始される。S1206でフラグファイル作成部416はフラグファイル2を作成する。その後S1207で処理を終了する。

【特許請求の範囲】
【請求項1】
プリンタであって、
第1のログインアプリケーションを含むアプリケーションのライフサイクルを管理するフレームワークと、
前記第1のログインアプリケーションを上書きするための第2のログインアプリケーションのインストール指示を受け付ける受付手段と、
前記第2のログインアプリケーションをインストールさせるためのフラグファイルを保存する保存手段と、
前記プリンタの電源を有効化した際に前記フラグファイルが保存されていることが確認されたことに応じて、前記第1のログインアプリケーションを前記保存手段の退避領域に退避させ、前記フレームワークに対し前記第2のログインアプリケーションの上書きインストールを指示し、その後、前記第1のログインアプリケーションに戻す指示を受け付けた場合は、前記フレームワークに対し前記退避領域に退避させた第1のログインアプリケーションの上書きインストールを指示するよう制御する制御手段と、を有するプリンタ。
【請求項2】
前記制御手段は、前記第1のログインアプリケーションに戻す指示を受け付けた場合は、インストール済みの前記第2のログインアプリケーションに前記退避領域に退避させた第1のログインアプリケーションを上書きインストールするよう前記フレームワークに対し指示することを特徴とする請求項1に記載のプリンタ。
【請求項3】
前記制御手段は、前記第1のログインアプリケーションに戻す指示を受け付けた場合は、前記フラグファイルとは異なるフラグファイルを前記保存手段に保存させ、再度、前記プリンタの電源を有効化した際に前記異なるフラグファイルが保存されていることが確認されたことに応じて、前記フレームワークに対し前記退避領域に退避させた第1のログインアプリケーションの上書きインストールを指示することを特徴とする請求項1または2に記載のプリンタ。
【請求項4】
前記フレームワークに対し前記第2のログインアプリケーションの上書きインストールを指示する場合は、前記プリンタと通信可能な情報処理装置から前記プリンタの管理アプリケーションにアクセスし、前記管理アプリケーションが提供するUI画面を操作することで指示することを特徴とする請求項1乃至3の何れか1項に記載のプリンタ。
【請求項5】
プリンタを制御する制御方法であって、
フレームワークは、第1のログインアプリケーションを含むアプリケーションのライフサイクルを管理し、
受付手段は、前記第1のログインアプリケーションを上書きするための第2のログインアプリケーションのインストール指示を受け付け、
保存手段は、前記第2のログインアプリケーションをインストールさせるためのフラグファイルを保存し、
制御手段は、前記プリンタの電源を有効にした際に前記フラグファイルが保存されていることが確認されたことに応じて、前記第1のログインアプリケーションを前記保存手段の退避領域に退避させ、前記フレームワークに対し前記第2のログインアプリケーションの上書きインストールを指示し、その後、前記第1のログインアプリケーションに戻す指示を受け付けた場合は、前記フレームワークに対し前記退避領域に退避させた第1のログインアプリケーションの上書きインストールを指示するよう制御することを特徴とするプリンタの制御方法。
【請求項6】
請求項5に記載の制御方法をプリンタに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2013−101560(P2013−101560A)
【公開日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願番号】特願2011−245795(P2011−245795)
【出願日】平成23年11月9日(2011.11.9)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】