(57)【要約】【課題】アップデートするアプリの種類が、認証する機能を提供する種類であるか否かに応じて、アップデートの処理の制御を変更することを目的とする。【解決手段】アップデートするアプリケーションの種類がユーザの認証に関する機能を提供するアプリケーションの種類である場合と、前記アップデートするアプリケーションの種類がユーザの認証に関する機能を提供するアプリケーションの種類でない場合とで、前記アップデートするアプリケーションのアップデートの処理の制御を変更する制御手段を有する。【選択図】図９
2018049552.tif 000002
【特許請求の範囲】
【請求項１】
アップデートするアプリケーションの種類がユーザの認証に関する機能を提供するアプリケーションの種類である場合と、前記アップデートするアプリケーションの種類がユーザの認証に関する機能を提供するアプリケーションの種類でない場合とで、前記アップデートするアプリケーションのアップデートの処理の制御を変更する制御手段を有する情報処理装置。
【請求項２】
前記制御手段は、前記アップデートするアプリケーションの種類がユーザの認証に関する機能を提供するアプリケーションの種類である場合、操作部を介した設定された入力を受付けないように制御する請求項１記載の情報処理装置。
【請求項３】
前記制御手段は、前記アップデートするアプリケーションの種類がユーザの認証に関する機能を提供するアプリケーションの種類でない場合、操作部を介した設定された入力を受付けるように制御する請求項１又は２記載の情報処理装置。
【請求項４】
前記制御手段は、前記アップデートするアプリケーションの種類がユーザの認証に関する機能を提供するアプリケーションの種類である場合、操作部を介した設定された入力を受付けないように制御した後に、前記アップデートするアプリケーションを停止する請求項２記載の情報処理装置。
【請求項５】
前記制御手段は、前記アップデートするアプリケーションの種類がユーザの認証に関する機能を提供するアプリケーションの種類である場合、ユーザを認証する機能を提供する種類のアプリケーションであり、前記アップデートするアプリケーションと異なるアプリケーションを起動する請求項１記載の情報処理装置。
【請求項６】
前記制御手段は、前記アップデートするアプリケーションの種類がユーザの認証に関する機能を提供するアプリケーションの種類である場合、ユーザを認証する機能を提供する種類のアプリケーションであり、前記アップデートするアプリケーションと異なるアプリケーションの起動を促す画面を表示する請求項１記載の情報処理装置。
【請求項７】
前記制御手段は、前記情報処理装置にインストールされたフレームワーク上で動作する前記アップデートするアプリケーションの種類がユーザの認証に関する機能を提供するアプリケーションの種類である場合と、前記アップデートするアプリケーションの種類がユーザの認証に関する機能を提供するアプリケーションの種類でない場合とで、前記フレームワークを介して、前記アップデートするアプリケーションのアップデートの処理の制御を変更する請求項１乃至６何れか１項記載の情報処理装置。
【請求項８】
前記アップデートするアプリケーションの種類を判定する判定手段を更に有し、
前記制御手段は、前記判定手段によって前記アップデートするアプリケーションの種類がユーザの認証に関する機能を提供するアプリケーションの種類であると判定された場合と、前記判定手段によって前記アップデートするアプリケーションの種類がユーザの認証に関する機能を提供するアプリケーションの種類でないと判定された場合とで、前記アップデートするアプリケーションのアップデートの処理の制御を変更する請求項１乃至７何れか１項記載の情報処理装置。
【請求項９】
前記情報処理装置は、画像形成装置である請求項１乃至８何れか１項記載の情報処理装置。
【請求項１０】
情報処理装置が実行する情報処理方法であって、
アップデートするアプリケーションの種類がユーザの認証に関する機能を提供するアプリケーションの種類である場合と、前記アップデートするアプリケーションの種類がユーザの認証に関する機能を提供するアプリケーションの種類でない場合とで、前記アップデートするアプリケーションのアップデートの処理の制御を変更する制御ステップを含む情報処理方法。
【請求項１１】
コンピュータを、請求項１乃至９何れか１項記載の情報処理装置の各手段として、機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
機器を制御するファームウェア上に、ローダブルな別プログラム（アプリケーション、以下ではアプリとする）をインストールし、様々なサービスを利用可能にする技術がある。
スマートフォンやタブレット型情報端末だけでなく、オフィス複合機等の様々な情報処理装置においても、アプリをインストールして付加機能や付加サービスを提供することが行われている。
アプリをアップデートする際、タブレット型情報端末等の場合は、アップデートプログラムが利用可能である旨の通知を受けたユーザが、デバイスからアプリの販売を行うサイトにアクセスし、対象のアプリをアップデートすることが行われている。一方、複合機等の場合、サービスマンや管理者が必要なパッケージ等を準備し、アップデートを掛ける方法がある。また、特許文献１には、アプリのアップデートを集中管理することで簡易化するアプリ配信システムのような技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１７０４６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
アプリのアップデートを行うためには、アップデート対象のアプリを事前にシャットダウンさせる必要がある。アップデート対象のアプリが、デバイスを利用するユーザを認証する機能を提供するアプリである場合、アプリをシャットダウンさせると、ユーザ認証が利かなくなり、不特定ユーザが自由にデバイスを操作できる状態になる場合がある。
本発明は、アップデートするアプリの種類が、認証する機能を提供する種類であるか否かに応じて、アップデートの処理の制御を変更することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、アップデートするアプリケーションの種類がユーザの認証に関する機能を提供するアプリケーションの種類である場合と、前記アップデートするアプリケーションの種類がユーザの認証に関する機能を提供するアプリケーションの種類でない場合とで、前記アップデートするアプリケーションのアップデートの処理の制御を変更する制御手段を有する。
【発明の効果】
【０００６】
本発明によれば、アップデートするアプリの種類が、認証する機能を提供する種類であるか否かに応じて、アップデートの処理の制御を変更することができる。
【図面の簡単な説明】
【０００７】
【図１】アップデートシステムのシステム構成の一例を示す図である。
【図２】ＭＦＰのハードウェア構成の一例を示す図である。
【図３】ｅＭＭＣの記憶領域の一例の詳細を説明する図である。
【図４】ＭＦＰの機能構成の一例を示す図である。
【図５】認証アプリが表示する画面の一例を示す図である。
【図６】ＨＯＭＥ画面の一例を示す図である。
【図７】アプリ情報の一例を説明する図である。
【図８】アプリ管理画面の一例を示す図である。
【図９】ＭＦＰの処理の一例を示すフローチャートである。
【図１０】ＨＯＭＥ画面の一例を示す図である。
【図１１】操作不可画面の一例を示す図である。
【図１２】ＭＦＰの処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
＜実施形態１＞
図１は、本実施形態におけるアップデートシステムのシステム構成の一例を示す図である。アップデートシステムは、ＭＦＰ１００、クライアントＰＣ１５０、サーバ１５００を含む。
ＭＦＰ１００は、種々のアプリケーション（以下では、アプリ）がインストールされた画像形成装置である。ＭＦＰ１００は、本実施形態のアップデートシステムがアップデートするアプリがインストールされた情報処理装置の一例である。
クライアントＰＣ１５０は、ＭＦＰ１００にインストールされたアプリのアップデートに係る操作を行う管理者１０が利用するパーソナルコンピュータ（ＰＣ）、タブレット端末装置等の情報処理装置である。
管理者１０は、クライアントＰＣ１５０を使ってＭＦＰ１００にアクセスし、ＭＦＰ１００にインストールされたアプリのアップデートを含む管理作業を行う。管理者１０としては、ベンダーの担当者、販売店やディーラの担当者等が想定されるが、組織のＩＴ管理者や一般ユーザでもよい。
【００１０】
サーバ１５００は、アプリのアップデートに要するデータを管理するＰＣやサーバ装置等の情報処理装置である。
クライアントＰＣ１５０は、ＭＦＰ１００にアクセスし、例えば、ＭＦＰ１００の操作部（例えば、操作画面等のインターフェース）を介した管理者１０の操作に基づいて、アップデートしたいアプリを指定してアップデートを指示することができる。また、クライアントＰＣ１５０は、クライアントＰＣ１５０のＷｅｂブラウザを使ってＭＦＰ１００が提供するウェブサービス機能にアクセスすることができる。
また、クライアントＰＣ１５０は、サーバ１５００にアクセスし、アップデートしたいアプリと、そのアプリがインストールされたＭＦＰ１００と、を指定して、サーバ１５００に、ＭＦＰ１００に含まれるそのアプリのアップデートを指示することとしてもよい。また、アップデートシステムは、管理者１０による操作に基づいて、予め設定されたタスクスケジュールに基づいて、設定されたタイミングで、ＭＦＰ１００が含む設定されたアプリのアップデートを行うこととしてもよい。
【００１１】
図２は、本実施形態におけるＭＦＰ１００のハードウェア構成の一例を示す図である。
ＭＦＰ１００は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、表示コントローラ１０４、表示部１０５、操作コントローラ１０６、操作部１０７を含む。また、ＭＦＰ１００は、ｅＭＭＣホストコントローラ１０８、ｅＭＭＣ１０９、読取コントローラ１１０、読取部１１１、記録コントローラ１１２、記録部１１３を含む。更に、ＭＦＰ１００は、ＵＳＢホストコントローラ１１４、ＭＯＤＥＭ１１５、網制御ユニット（ＮＣＵ）１１６、ネットワークインタフェースカード（ＮＩＣ）１１７を含む。ＭＦＰ１００のハードウェア構成要素１０１〜１０４、１０６、１０８、１１０、１１２、１１４、１１５、１１７は、システムバス１１８を介して相互に接続される。
ＣＰＵ１０１は、システムバス１１８に接続される各デバイスを総括的に制御する中央演算装置である。ＣＰＵ１０１は、電源が供給されると、ＲＯＭ１０２に記憶されたブートプログラムを実行する。ＣＰＵ１０１は、ブートプログラムを実行することで、ストレージに保存されているメインプログラムをＲＡＭ１０３にロードして、ロードされたメインプログラムの先頭から処理を実行する。ＲＯＭ１０２は、ブートプログラム等を記憶する記憶装置である。ＲＡＭ１０３は、メインプログラムのロード場所としてだけでなく、メインプログラムのワークエリア等として機能する記憶装置である。
【００１２】
表示コントローラ１０４は、表示部１０５に対する描画を制御するコントローラである。表示部１０５は、２８文字×７行の文字列、罫線、スクロールバー等の表示が可能なＬＣＤである。操作コントローラ１０６は、ＭＦＰ１００に装備された操作部１０７からの入力を制御するコントローラである。操作部１０７は、テンキー、カーソルキー、ワンタッチキー、表示部１０５と重畳して設置されているタッチパネル等の入力装置で構成される操作部である。ユーザは、操作部１０７を操作することで、ＭＦＰ１００に対して、情報を入力することができる。
読取部１１１は、原稿の読み取りを行うスキャナ等で構成される読取部である。読取部１１１には、オプションとしてオートドキュメントフィーダが装着されており、複数枚の原稿を自動的に読み取ることができる。読取コントローラ１１０は、読取部１１１に接続されており、読取部１１１の制御に利用されるコントローラである。
また、記録部１１３は、電子写真方式で記録紙に画像形成を行う記録部である。記録コントローラ１１２は、記録部１１３に接続されており、記録部１１３の制御に利用されるコントローラである。
【００１３】
ＵＳＢホストコントローラ１１４は、ＵＳＢのプロトコル制御を受け持ち、ＵＳＢメモリ等のＵＳＢデバイスに対するアクセスを仲介するコントローラである。
ＭＯＤＥＭ１１５は、ファクシミリ通信に必要な信号の変調・復調を行うＭＯＤＥＭである。また、ＭＯＤＥＭ１１５は、ＮＣＵ１１６に接続されている。ＮＣＵ１１６は、ＭＯＤＥＭ１１５により変調された信号を、公衆回線網（ＰＳＴＮ）へ送出する。
ＮＩＣ１１７は、ＬＡＮを介して、メールやファイルのサーバなどと双方向にデータのやり取りを行うためのネットワークインタフェースカードである。
本実施形態のＭＦＰ１００は、ストレージとしてｅＭＭＣ（ｅｍｂｅｄｄｅｄ  Ｍｕｌｔｉ  Ｍｅｄｉａ  Ｃａｒｄ）１０９を備える。ｅＭＭＣホストコントローラ１０８は、ｅＭＭＣ１０９を制御するためのコントローラである。ＣＰＵ１０１は、ｅＭＭＣホストコントローラ１０８を介してｅＭＭＣ１０９にアクセスする。
ＣＰＵ１０１が、ＲＯＭ１０２、ｅＭＭＣ１０９等に記憶されたプログラムに基づき処理を実行することによって、図４で後述するＭＦＰ１００の機能及び図９で後述するフローチャートの処理が実現される。
【００１４】
図３は、ｅＭＭＣ１０９の記憶領域の一例の詳細を説明する図である。
ｅＭＭＣ１０９内部の記憶領域は、メインプログラム領域１１１０、画像データ保存領域１１１１、アプリプログラム領域１１１２等、用途により複数の領域に分かれている。メインプログラム領域１１１０は、ＭＦＰ１００本体を動作させるためのメインプログラムが記憶されている領域である。画像データ保存領域１１１１は、受信された画像の情報を記憶されている領域である。アプリプログラム領域１１１２は、ＭＦＰ１００に追加でインストールされるアプリのプログラムやデータが記憶されている領域である。アプリプログラム領域１１１２は、複数のアプリのデータの記憶領域を含む。アプリプログラム領域１１１２は、例えば、ユーザの認証に用いられるアプリである認証アプリのプログラムを記憶する領域である認証アプリ領域１１０１を含む。また、アプリプログラム領域１１１２は、例えば、データの送信に用いられるアプリである送信アプリのプログラムを記憶する領域である送信アプリ領域１１０２等を含む。
【００１５】
図４は、本実施形態におけるＭＦＰ１００の機能構成の一例を示す図である。図４において実線で示された各部は、ブートプログラムの実行の際に、ＲＡＭ１０３にロードされたメインプログラムをＣＰＵ１０１が実行することにより実現されるソフトウェアモジュールである。
ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）３０１は、それぞれのソフトウェアモジュールの処理を管理・制御する。ＯＳ３０１は、ＵＩ部３０２、ＪｏｂＣｏｎｔｒｏｌｌｅｒ３０３、ＦＡＸ部３０４、Ｓｅｎｄ部３０５、Ｓｔｏｒａｇｅ部３０６、Ｓｃａｎ部３０７、ＤｅｖｉｃｅＤｒｉｖｅｒ３０８、ＶＭ／ＦＷ部３０９、拡張アプリケーション３１０を含む。
ＤｅｖｉｃｅＤｒｉｖｅｒ３０８は、ＮＩＣ１１７、ＭＯＤＥＭ１１５、読取コントローラ１１０、ｅＭＭＣホストコントローラ１０８等のハードウェアデバイスを制御する。
【００１６】
ＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）部３０２は、表示部１０５や操作部１０７を介して、各種情報をユーザに提供するとともに、ユーザからの各種入力を受け付ける。
ＪｏｂＣｏｎｔｒｏｌｌｅｒ３０３は、コピーやプリント、ファックス等のジョブを受け付け、受け付けたジョブの実行を制御する。
Ｓｔｏｒａｇｅ部３０６は、画像やユーザ設定情報等のデータを、物理的（電気的）にｅＭＭＣ１０９へ格納して管理するソフトウェアモジュールである。
Ｆａｘ部３０４やＳｅｎｄ部３０５は、Ｓｔｏｒａｇｅ部３０６によって管理される画像データを取得し、ＭＯＤＥＭ１１５、ＮＣＵ１１６やＮＩＣ１１７を介して、設定された送信先にデータを送信する。例えば、ＪｏｂＣｏｎｔｒｏｌｌｅｒ３０３が送信アプリからジョブを受け付けると、Ｓｃａｎ部３０７は、そのジョブ要求を受けて読取部１１１を制御して原稿をスキャンする。そして、Ｓｃａｎ部３０７は、スキャンした画像データを、Ｓｔｏｒａｇｅ部３０６を介して、ｅＭＭＣ１０９に記憶する。Ｓｔｏｒａｇｅ部３０６が記憶した画像データは、指定されたプロトコルに応じてＦａｘ部３０４やＳｅｎｄ部３０５に渡され、ＭＯＤＥＭ１１５、ＮＣＵ１１６やＮＩＣ１１７を介して、設定された送信先に送信される。
【００１７】
拡張アプリケーション３１０は、スクリプト言語で記述された任意のプログラム等から構成されるアプリである。ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）／ＦＷ（Ｆｒａｍｅｗｏｒｋ）部３０９は、ｅＭＭＣ１０９に格納されたアプリのプログラムコードやデータを展開し、アプリを拡張アプリケーション３１０として、インストール、又はアンインストールする。拡張アプリケーション３１０それぞれのプログラムコードやデータには、アプリのタイプやバージョン情報を示すメタデータが含まれる。また、ＶＭ／ＦＷ部３０９は、拡張アプリケーション３１０としてインストールされた任意のアプリのプログラムで実現される機能とＭＦＰ１００の既存機能との調停等も行う。そして、ＶＭ／ＦＷ部３０９は、拡張アプリケーション３１０としてインストールされた任意のアプリのプログラムのスクリプト言語を解釈して、そのプログラムを実行する。ＶＭ／ＦＷ部３０９は、ＭＦＰ１００にインストールされたフレームワークの一例である。
ＭＦＰ１００は、ユーザの認証機能等のＭＦＰ１００が元々デバイスとして工場出荷時等から提供していない機能も、拡張アプリケーション３１０の機能として付加的に実現することができる。拡張アプリケーション３１０は、フレームワーク上（ＶＭ／ＦＷ部３０９上）で動作するアプリケーションの一例である。アプリケーションは、所定のスクリプトに従って実行されるようにプログラミングされる。
【００１８】
図５は、ＭＦＰ１００にインストールされ、機能を有効にされた認証アプリが操作部１０７に表示する画面の一例を示す図である。
ユーザは、ＭＦＰ１００の利用に際して、表示部１０５や操作部１０７を介して、適切なＩＤとパスワード情報４０１を入力して、ログインボタン４２０を選択することで、ＭＦＰ１００にログインすることになる。ユーザが認証に失敗する限り、ＭＦＰの操作部１０７は、認証アプリの制御下にて、図５の画面を表示し続け、ユーザはＭＦＰを使用することができない。ユーザが認証に成功すると、表示部１０５は、表示する画面を、図６に示すＨＯＭＥ画面に遷移する。これにより、ユーザは、ＭＦＰ１００が提供する種々の機能を利用できるようになる。認証アプリは、複数存在する拡張アプリケーション３１０なかのひとつのアプリである。認証アプリは、ＭＦＰ１００の電源ＯＮの後、初期化に応じて実行される。そして、ＭＦＰ１００の初期画面として、認証アプリの図５の認証画面がＭＦＰ１００の操作部１０７を占有する。このように、認証アプリを用いた初期画面の表示処理をＶＭ／ＦＷ部３０９において設定可能である。
【００１９】
図６のＨＯＭＥ画面は、認証アプリによるユーザの認証が成功した場合以外に、認証アプリがインストールされていない場合や、認証アプリがインストールされていても認証アプリの機能が無効である場合等にも表示されるＭＦＰ１００のデフォルト画面である。
ＨＯＭＥ画面には、コピー機能の利用の際に選択されるボタンであるＣＯＰＹボタン５０１、ＦＡＸ機能の利用の際に選択されるボタンであるＦＡＸボタン、スキャン機能の利用の際に選択されるボタンであるＳＣＡＮボタン等のボタンを含む。また、ＨＯＭＥ画面は、ＩＤカードのコピー機能の利用の際に選択されるボタンであるＩＤ  Ｃａｒｄ  Ｃｏｐｙボタン５０２、Ｆｏｒｍ  Ｐｒｉｎｔ等の拡張アプリケーション３１０としてインストールされたアプリの機能の利用の際に選択されるボタンを含む。
【００２０】
図７は、ＶＭ／ＦＷ部３０９が拡張アプリケーション３１０と共に管理するアプリ情報の一例を説明する図である。図７に示す通り、アプリ情報は、各拡張アプリについて、名称６０１、ＩＤ６０２、タイプ６０３、アクティベート状態６０４、ＯＮ／ＯＦＦ状態６０５を含む。アプリ情報は、ｅＭＭＣ１０９に記憶されている。本実施形態では、アプリ情報は、図７のようにテーブル形式のデータであるとする。
名称６０１は、アプリの名称を示す。ＩＤ６０２は、アプリに割り当てられてＩＤを示す。タイプ６０３は、拡張アプリの種類を示す。アクティベート状態６０４は、アプリが有効な状態（アクティベートな状態）か否かを示す。ＯＮ／ＯＦＦ状態６０５は、アクティベートな状態で利用可能な状態（ＯＮ）か否か（ＯＦＦ）を示す。
【００２１】
また、アプリ情報は、更新中か否かを示す更新状態６０６、実行中か否かを示す実行状態６０７を含む。ＵＩ部３０２は、ＨＯＭＥ画面を表示する際、ＶＭ／ＦＷ部３０９から拡張アプリケーション３１０のアプリ情報を取得し、アクティベート状態６０４がＡｃｔｉｖａｔｅｄであり、ＯＮ／ＯＦＦ状態６０５がＯＮであるアプリに対応するボタンのみを表示する。
タイプ６０３には、アプリの種類（タイプ）を示す情報が記憶されており、それぞれジョブ型、認証型、壁紙型等の種類を示す情報が記憶されている。タイプ６０３の値は、各アプリが持つメタデータ内のタイプ属性により決まる。ジョブ型とは、設定されたジョブを実行するアプリであることを示す種類である。認証型とは、ユーザの認証に利用されるアプリであることを示す種類である。壁紙型とは、壁紙を表示するアプリであることを示す種類である。図７の例では、タイプ６０３には、「Ｊｏｂ」、「Ａｕｔｈ」、「Ｗａｌｌｐａｐｅｒ」等の値が記憶されている。「Ｊｏｂ」は、対応するアプリの種類がジョブ型であることを示す値である。「Ａｕｔｈ」は、対応するアプリの種類が認証型であることを示す値である。「Ｗａｌｌｐａｐｅｒ」は、対応するアプリの種類が壁紙型であることを示す値である。
【００２２】
図７の例は、ＩＤ  Ｃａｒｄ  Ｃｏｐｙ６１０〜Ｕｓｅｒ  Ａｕｔｈ６２０の６つのアプリが拡張アプリケーション３１０としてＭＦＰ１００にインストールされていることを示している。例えば、Ｆｏｒｍ  Ｐｒｉｎｔ６１１は、タイプがジョブ型で、既にアクティベート状態かつ利用可能な状態である。
また、Ｆｏｒｍ  Ｐｒｉｎｔ６１１は、アップデート処理中ではなく、アプリ実行中の状態である。一方、Ｓｃｒｅｅｎ  Ｓｈｏｗ６１３は、タイプが壁紙型で、アクティベート状態であるが、利用不可（ＯＦＦ）に設定されているため、ＨＯＭＥ画面にはボタンが表示されない状態であり、アップデート処理中でも実行中でもない。
【００２３】
ＶＭ／ＦＷ部３０９が管理する各アプリの情報は、図８に示すアプリ管理画面にも利用される。
図８は、ＭＦＰ１００のウェブサービス機能が、設定されたＵＲＬにアクセスしたクライアントＰＣ１５０のウェブブラウザに提供するアプリの管理に利用されアプリ管理画面の一例を示す図である。アプリ管理画面は、管理者１０等のユーザがＭＦＰ１００にインストールされた各アプリを管理するための画面である。アプリ管理画面は、図７で説明したＶＭ／ＦＷ部３０９が管理するアプリ情報を含む。また、アプリ管理画面は、各アプリのＯＮ／ＯＦＦ状態６０５の切り替えに利用される指定スイッチ７０１や、各アプリのアクティベート状態６０４の切り替えやアンインストールの指定に利用されるコントロール７０２を含む。ＣＰＵ１０１は、ＯＫボタン７０３の選択を検知した場合、指定スイッチ７０１やコントロール７０２の状態に基づいて、各アプリのＯＮ／ＯＦＦ状態６０５やアクティベート状態６０４を更新する。より具体的には、ＣＰＵ１０１は、ＶＭ／ＦＷ部３０９を介して、図７のアプリ情報の内容を更新する。また、ＣＰＵ１０１は、コントロール７０２でアンインストールが選択された状態で、ＯＫボタン７０３の選択を検知した場合、対応するアプリをＭＦＰ１００からアンインストールする。
【００２４】
図９は、ＭＦＰ１００の処理の一例を示すフローチャートである。図９を用いて、アプリのアップデートを行う際の、ＶＭ／ＦＷ部３０９の処理を説明する。
Ｓ８０１において、ＶＭ／ＦＷ部３０９は、アプリのアップデートの指示を受信する。ＶＭ／ＦＷ部３０９は、例えば、クライアントＰＣ１５０から、アップデート対象のアプリの情報と併せて、アップデートの指示を受信する。また、ＶＭ／ＦＷ部３０９は、サーバ１５００から、アップデート対象のアプリの情報と併せて、アップデートの指示を受信することとしてもよい。以下では、Ｓ８０１で受信された指示に対応するアップデート対象のアプリを、対象アプリとする。Ｓ８０１でアップデートするように指示されたアプリは、第１のアプリケーションの一例である。
【００２５】
本実施形態では、ＶＭ／ＦＷ部３０９は、Ｓ８０１で、アプリを１回だけアップデートさせるような指示を受信し、アプリのアップデート処理を１回だけ行うこととする。しかし、ＶＭ／ＦＷ部３０９は、Ｓ８０１で、アプリを設定された間隔（例えば、１カ月間等）で周期的にアップデートさせるような指示を受信することとしてもよい。その場合、ＶＭ／ＦＷ部３０９は、設定された間隔で、Ｓ８０２〜Ｓ８１０の処理を繰り返し、アプリを周期的にアップデートすることになる。
本実施形態では、ＶＭ／ＦＷ部３０９は、Ｓ８０１で、クライアントＰＣ１５０やサーバ１５００から送信された指示を受信することで、アプリのアップデートの指示を受け付けることとする。しかし、ＶＭ／ＦＷ部３０９は、Ｓ８０１で、操作部１０７を介したユーザの操作に基づいて、アプリのアップデートの指示を受け付けることとしてもよい。
【００２６】
Ｓ８０２において、ＶＭ／ＦＷ部３０９は、アプリ情報に基づいて、対象アプリが利用可能か否かを判定する。ＶＭ／ＦＷ部３０９は、例えば、アプリ情報を記憶するテーブルにおいて、対象アプリのＯＮ／ＯＦＦ状態６０５の値がＯＮであれば、対象アプリが利用可能であると判定する。また、ＶＭ／ＦＷ部３０９は、アプリ情報を記憶するテーブルにおいて、対象アプリのＯＮ／ＯＦＦ状態６０５の値がＯＦＦであれば、対象アプリが利用不可であると判定する。
ＶＭ／ＦＷ部３０９は、アプリ情報に基づいて、対象アプリが利用可能と判定した場合、Ｓ８０４の処理に進む。ＶＭ／ＦＷ部３０９は、アプリ情報に基づいて、対象アプリが利用不可であると判定した場合、Ｓ８０３の処理に進む。
Ｓ８０３において、ＶＭ／ＦＷ部３０９は、対象アプリのアップデートを行い、図９の処理を終了する。
【００２７】
Ｓ８０４において、ＶＭ／ＦＷ部３０９は、対象アプリについて更新中であることを示すフラグを立てる。ＶＭ／ＦＷ部３０９は、例えば、アプリ情報が記憶されているテーブルにおいて、対象アプリの更新状態６０６の値を１にする。
Ｓ８０５において、ＶＭ／ＦＷ部３０９は、対象アプリの種類が認証型か否かを判定する。ＶＭ／ＦＷ部３０９は、例えば、アプリ情報が記憶されているテーブルにおいて、対象アプリのタイプ６０３の値が、「Ａｕｔｈ」である場合、対象アプリの種類を、認証型のアプリと判定する。ＶＭ／ＦＷ部３０９は、例えば、アプリ情報が記憶されているテーブルにおいて、対象アプリのタイプ６０３の値が、「Ａｕｔｈ」でない場合、対象アプリの種類を、認証型のアプリでないと判定する。ＶＭ／ＦＷ部３０９は、対象アプリの種類が認証型であると判定した場合、Ｓ８０８の処理に進み、対象アプリの種類が認証型でないと判定した場合、Ｓ８０６の処理に進む。
Ｓ８０６において、ＶＭ／ＦＷ部３０９は、対象アプリを動作不可にする。ＶＭ／ＦＷ部３０９は、例えば、アプリ情報が記憶されているテーブルにおいて、対象アプリのＯＮ／ＯＦＦ状態６０５の値を、ＯＦＦにする。
【００２８】
Ｓ８０７において、ＶＭ／ＦＷ部３０９は、ＵＩ部３０２に、表示部１０５に表示される画面の更新指示を出す。
図６の例では、ジョブ型のアプリであるＩＤ  Ｃａｒｄ  Ｃｏｐｙは、元々動作可能状態である（ＯＮ／ＯＦＦ状態６０５の値がＯＮである）ため、ＨＯＭＥ画面に対応するボタン（ＩＤ  Ｃａｒｄ  Ｃｏｐｙボタン５０２）が表示されている。しかし、Ｓ８０４、Ｓ８０６の処理により、図７に示すアプリ情報が記憶されているテーブルのＩＤ  Ｃａｒｄ  Ｃｏｐｙ６１０の、ＯＮ／ＯＦＦ状態６０５の値がＯＦＦに、更新状態６０６の値が１に変更される。このため、ＵＩ部３０２は、Ｓ８０７での指示に応じて、ＩＤ  Ｃａｒｄ  Ｃｏｐｙのボタンを含まないＨＯＭＥ画面を表示する。また、ＵＩ部３０２は、図１０の１００１に示すように、更新中である旨のメッセージと合わせて、ボタンの選択が不可であることを示すグレーアウト表示態様表示されたＩＤ  Ｃａｒｄ  Ｃｏｐｙボタンを含むＨＯＭＥ画面を表示してもよい。
また、ＶＭ／ＦＷ部３０９は、現在実行中（実行状態６０７の値が１）のアプリに対してアップデートが指示された場合は、実行が解除される（実行状態６０７の値が０になる）までアップデート処理を待つことにしてもよい。また、ＶＭ／ＦＷ部３０９は、現在実行中（実行状態６０７の値が１）のアプリに対してアップデートが指示された場合か、強制的に実行中状態を解除（実行状態６０７の値を０に）してもよい。
【００２９】
Ｓ８０８において、ＶＭ／ＦＷ部３０９は、ＵＩ部３０２に対して、図１１に示すような操作できないことを示す操作不可画面の表示を指示する。また、ＶＭ／ＦＷ部３０９は、ＵＩ部３０２に対して、操作不可であることを示すため画面をグレーアウト表示態様で表示するように指示してもよい。そして、ＶＭ／ＦＷ部３０９は、操作部１０７を介した設定された入力を受付けないように制御する。本実施形態では、ＶＭ／ＦＷ部３０９は、操作部１０７を介した全ての入力を受付けないように制御することとする。しかし、ＶＭ／ＦＷ部３０９は、操作部１０７を介した入力のうち、設定されたアプリの実行を指示する入力のみを受付けないように制御してもよい。その場合、ＶＭ／ＦＷ部３０９は、ＵＩ部３０２に対して、その設定されたアプリに対応するボタンをグレーアウト表示するように指示してもよい。
Ｓ８０９において、ＶＭ／ＦＷ部３０９は、対象アプリを動作不可にする。ＶＭ／ＦＷ部３０９は、例えば、アプリ情報が記憶されているテーブルにおいて、対象アプリのＯＮ／ＯＦＦ状態６０５の値を、ＯＦＦにする。
図７の例では、ＭＦＰ１００には、認証型アプリであるＩＤ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ６１２がインストールされており、現在実行中（実行状態６０７の値が１）のため、表示部１０５には図５に示す認証画面が表示されていることになる。ＶＭ／ＦＷ部３０９は、ＩＤ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ６１２をアップデートするために、一旦、実行不可の状態（ＯＮ／ＯＦＦ状態６０５の値をＯＦＦ）にしなければならない。しかし、ＩＤ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ６１２を実行不可にすると、ＭＦＰ１００は、認証機能がなくなり、不特定ユーザがＭＦＰ１００を利用可能な状態になってしまう。
そこで、本実施形態では、ＶＭ／ＦＷ部３０９は、Ｓ８０８で図１１の画面を表示部１０５に表示させ、操作部１０７を操作できないように制御してから、Ｓ８０９で対象アプリをＯＦＦするという手順で処理を行う。これにより、ＭＦＰ１００は、認証機能がない状態で不特定のユーザからのアクセスを受付けなくすることができ、よりセキュリティを向上できる。なお、ＭＦＰ１００は、エラー情報やジョブ状況（ジョブの削除は不可）等の確認を目的とするメニューや項目について、アクセスを許可するようにしてもよい。
【００３０】
Ｓ８１０において、ＶＭ／ＦＷ部３０９は、対象アプリのアップデート処理を実行する。ＭＦＰ１００は、例えば、サーバ１５００に対して対象アプリのアップデートに用いられるアップデートモジュールの提供を依頼し、サーバ１５００から受信したアップデートモジュールのデータをｅＭＭＣ１０９に記憶する。また、ＭＦＰ１００は、例えば、対象アプリのアップデートモジュールを、ＵＳＢホストコントローラ１１４を介して、ＭＦＰ１００に接続されたＵＳＢストレージ装置等から取得することとしてもよい。
ＶＭ／ＦＷ部３０９は、Ｓｔｏｒａｇｅ部３０６を介して、ｅＭＭＣ１０９に記憶されたアップデートモジュールのデータを読み出し、読み出したアップデートモジュールを用いて、対象アプリをアップデートする。ＶＭ／ＦＷ部３０９は、ＶＭ部とＦＷ部からなる。ＦＷ部の上で動作するＶＭ部は仮想マシンであり、アプリケーションに含まれるバイトコードを解釈して実行するＬｕａシステム等で実装される。
【００３１】
Ｓ８１１において、ＶＭ／ＦＷ部３０９は、アップデートした対象アプリを実行可能にする。ＶＭ／ＦＷ部３０９は、例えば、アプリ情報が記憶されているテーブルにおいて、対象アプリのＯＮ／ＯＦＦ状態６０５の値を、ＯＮにし、更新状態６０６の値を０にする。
Ｓ８１２において、ＶＭ／ＦＷ部３０９は、対象アプリの種類が認証型のアプリであるか否かを判定する。ＶＭ／ＦＷ部３０９は、対象アプリの種類が認証型のアプリであると判定した場合、Ｓ８１３の処理に進み、対象アプリの種類が認証型のアプリでないと判定した場合、Ｓ８１４の処理に進む。
Ｓ８１３において、ＶＭ／ＦＷ部３０９は、対象アプリを起動する。
Ｓ８１４において、ＶＭ／ＦＷ部３０９は、ＵＩ部３０２に対して、表示部１０５に表示する画面の更新を指示する。
【００３２】
以上、本実施形態では、ＭＦＰ１００は、アップデートするアプリの種類が認証型である場合、操作部１０７を介した入力を受付けないように制御し、アプリをアップデートする。また、ＭＦＰ１００は、アップデートするアプリの種類が認証型でない場合、操作部１０７を介した入力を受付けないように制御することなく、アプリをアップデートする。これにより、ＭＦＰ１００は、アップデートするアプリの種類が、認証する機能を提供する種類であるか否かに応じて、アップデートの処理の制御を変更することができる。
また、認証型のアプリがアップデートのために、動作していない場合でも、認証されないユーザがＭＦＰ１００を操作できないこととなる。そのため、ＭＦＰ１００は、セキュリティを向上させることができる。
また、ＭＦＰ１００は、アップデートするアプリの種類が認証型でない場合、操作部１０７を介した入力を受付けないように制御しない。そのため、ＭＦＰ１００は、アップデートするアプリの種類が認証型でない場合まで、操作を制限せずに、ユーザの利便性を低下させないようにすることができる。
また、ＭＦＰ１００は、本実施形態の処理を、クライアントＰＣ１５０から送信されるアップデートの指示等の遠隔からの指示に基づいて、実行できる。そのため、ＭＦＰ１００は、遠隔からのアプリのアップデートの指示に応じた、アップデート処理を行う場合でも、セキュリティを向上できる。従来、作業者は、セキュリティ担保のために、ＭＦＰ１００の場所に行ってアップデートに係る操作を行っていた。本実施形態のＭＦＰ１００により、作業者は、ＭＦＰ１００の場所まで行かずにセキュリティが確保されたアップデートが可能となる。即ち、ＭＦＰ１００は、作業者の移動時間やコストを低減できる。
【００３３】
＜実施形態２＞
実施形態１では、ＭＦＰ１００は、アップデートするアプリの種類が認証型である場合、操作部１０７を介して入力される情報を受付けないように制御することで、操作部１０７を操作できないように制御することとした。本実施形態では、ＭＦＰ１００は、アップデートするアプリの種類が認証型である場合、他の認証型のアプリが存在するか否か確認し、存在する場合、そのアプリを起動させる処理を行う。
本実施形態のアップデートシステムのシステム構成、システム構成要素のハードウェア構成及び機能構成は、実施形態１と同様である。
図１２は、本実施形態のＭＦＰ１００の処理の一例を示すフローチャートである。本実施形態の処理は、実施形態１の図９の処理と比べて、Ｓ８０５で対象アプリが認証型であると判定された後からＳ８１０までの処理が異なる。その他の処理については、実施形態１と同様の処理である。図１２のフローチャートは、Ｓ８０５で対象アプリが認証型であると判定された後の処理を示している。
【００３４】
Ｓ８０５において、ＶＭ／ＦＷ部３０９は、対象アプリの種類が認証型のアプリか否かを判定する。ＶＭ／ＦＷ部３０９は、対象アプリの種類が認証型であると判定した場合、実施形態１と異なりＳ１２０１の処理に進み、対象アプリの種類が認証型でないと判定した場合、Ｓ８０６の処理に進む。
Ｓ１２０１において、ＶＭ／ＦＷ部３０９は、拡張アプリケーション３１０としてインストールされているアプリの中に、現時点で利用可能な、認証型のアプリが存在するか否かを確認する。ＶＭ／ＦＷ部３０９は、図７のようなアプリ情報が管理されているテーブルに基づいて、現時点で利用可能な、認証型のアプリが存在するか否かを確認する。ＶＭ／ＦＷ部３０９は、例えば、タイプ６０３が「Ａｕｔｈ」であり、アクティベート状態６０４が「Ａｃｔｉｖａｔｅｄ」である対象アプリ以外のアプリが存在するか否かを確認する。Ｓ１２０１で存在することが確認されたアプリは、ユーザの認証に用いられる種類のアプリであり、第１のアプリケーションと異なる第２のアプリケーションの一例である。
【００３５】
図７の例では、拡張アプリケーション３１０として、認証型のアプリであるＵｓｅｒ  Ａｕｔｈ６２０が存在する。Ｕｓｅｒ  Ａｕｔｈ６２０は、アクティベートされている（アクティベート状態６０４の値がＡｃｔｉｖａｔｅである）が、利用不可状態（ＯＮ／ＯＦＦ状態６０５の値がＯＦＦ）である。ＶＭ／ＦＷ部３０９は、拡張アプリケーション３１０としてインストールされているアプリの中に、現時点で利用可能な、認証型のアプリが存在すると判定した場合、Ｓ１２０２の処理に進む。また、ＶＭ／ＦＷ部３０９は、拡張アプリケーション３１０としてインストールされているアプリの中に、現時点で利用可能な、認証型のアプリが存在しないと判定した場合、Ｓ８０８の処理に進み、以降は、実施形態１と同様の処理を行う。
Ｓ１２０２において、ＶＭ／ＦＷ部３０９は、対象アプリのＯＮ／ＯＦＦ状態６０５の値をＯＦＦにする前に、Ｕｓｅｒ  Ａｕｔｈ６２０のＯＮ／ＯＦＦ状態６０５の値をＯＮにして、Ｕｓｅｒ  Ａｕｔｈ６２０を起動する。そして、ＶＭ／ＦＷ部３０９は、Ｓ８０９の処理に進み、以降は、実施形態１と同様の処理を行う。この場合、ＶＭ／ＦＷ部３０９は、Ｓ８１３で、アップデートされた対象アプリを起動した後、Ｓ１２０２で起動した認証型のアプリ（Ｕｓｅｒ  Ａｕｔｈ６２０）のＯＮ／ＯＦＦ状態６０５の値をＯＦＦにして、停止してから、Ｓ８１４で画面の更新を指示する。
【００３６】
本実施形態では、ＶＭ／ＦＷ部３０９は、対象アプリのアップデートの際に、他の認証型のアプリを起動することとした。しかし、ＶＭ／ＦＷ部３０９は、対象アプリのアップデートの際に、直接、他の認証型のアプリを起動するのではなく、Ｓ１２０１で存在することが確認された他の認証型のアプリの起動を促す画面を表示部１０５に表示するようＵＩ部３０２に指示してもよい。ユーザは、必要がある場合だけ、アップデートされている対象アプリの代わりに他の認証型のアプリを起動させ、不要な場合は起動させないこととなる。これにより、ＭＦＰ１００は、不要な場合にも他の認証型のアプリを起動させる処理の負担を軽減できる。この場合のＵＩ部３０２による画面の表示処理は、第２のアプリケーションの起動を促す画面を表示する表示制御処理の一例である。
この場合に表示される画面は、例えば、認証型のアプリがアップデート中であり、代わりのアプリを起動させるか否かを尋ねるメッセージと、代わりのアプリの起動を指示する際に選択されるボタンと、を含む。ＶＭ／ＦＷ部３０９は、代わりのアプリの起動を指示する際に選択されるボタンの選択を検知すると、Ｓ１２０１で存在が確認されたアプリを起動させる。
本実施形態では、ＭＦＰ１００は、アップデート中のアプリの代わりの他の認証型のアプリとして、拡張アプリケーション３１０としてインストールされたアプリを利用した。しかし、ＭＦＰ１００は、アップデート中のアプリの代わりの他の認証型のアプリとして、例えば、ＯＳ３０１に初期から備え付けられている認証型のアプリを利用してもよい。
【００３７】
以上、本実施形態の処理により、ＭＦＰ１００は、実施形態１の処理で奏することができる効果に加え、認証型のアプリをアップデート中も他の認証アプリを活用することでＭＦＰ１００のダウンタイムをなくし、ユーザの利便性を高めることができる。
【００３８】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００３９】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
例えば、上述したアップデートシステムの機能構成の一部又は全てをハードウェアとしてＭＦＰ１００に実装してもよい。
上述した各実施形態の処理によれば、アップデートするアプリの種類が、認証する機能を提供する種類であるか否かに応じて、アップデートの処理を変更することができる。
【符号の説明】
【００４０】
１００  ＭＦＰ
１５０  クライアントＰＣ
１５００  サーバ
【図１】
2018049552.tif 000003
【図２】
2018049552.tif 000004
【図３】
2018049552.tif 000005
【図４】
2018049552.tif 000006
【図５】
2018049552.tif 000007
【図６】
2018049552.tif 000008
【図７】
2018049552.tif 000009
【図８】
2018049552.tif 000010
【図９】
2018049552.tif 000011
【図１０】
2018049552.tif 000012
【図１１】
2018049552.tif 000013
【図１２】
2018049552.tif 000014