JP6057740B2 - 画像形成装置、情報処理方法及びプログラム - Google Patents

画像形成装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP6057740B2
JP6057740B2 JP2013011120A JP2013011120A JP6057740B2 JP 6057740 B2 JP6057740 B2 JP 6057740B2 JP 2013011120 A JP2013011120 A JP 2013011120A JP 2013011120 A JP2013011120 A JP 2013011120A JP 6057740 B2 JP6057740 B2 JP 6057740B2
Authority
JP
Japan
Prior art keywords
application
image forming
forming apparatus
function data
extended function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013011120A
Other languages
English (en)
Other versions
JP2014142824A (ja
Inventor
速水 祥和
祥和 速水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2013011120A priority Critical patent/JP6057740B2/ja
Publication of JP2014142824A publication Critical patent/JP2014142824A/ja
Application granted granted Critical
Publication of JP6057740B2 publication Critical patent/JP6057740B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、画像形成装置、情報処理方法及びプログラムに関する。
近年、画像形成装置において、Java(登録商標)環境に代表されるようなアプリケーション(以下、アプリという)動作環境が提供されている。そして、Javaが有するプログラムの可搬性を利用して、拡張可能なアプリを提供する技術が提案されている。
ユーザは、Java環境等で動作するアプリを作成して画像形成装置にインストールすることで、所望する機能を実現させることができ、結果として画像形成装置の機能やユーザビリティを向上させることができる。
アプリプラットフォームとしては、組み込み機器向けのJavaアプリプラットフォームであるOSGi(登録商標) Service Platform(以下、OSGiという)がある(非特許文献1)。なお、OSGiとは、Open Services Gateway Initiativeの略称である。OSGiでは、ソフトウェアモジュールの管理単位としてバンドルを定義している。より具体的には、前記バンドルは、インストール、開始、停止、更新及びアンインストールから成るライフサイクルを管理するための仕様を定義している。このようなアプリプラットフォームは、コピー、スキャン又はプリント等の組み込み機能を提供することができる。
アプリ本体を、OSGiの仕様で定義されているホストバンドルとする。また、アプリの修正部分又は拡張部分(以下、拡張アプリという)を、OSGiの仕様で定義されているフラグメントバンドルとする。ここで、フラグメントバンドルとは、単独では動作せず、ホストバンドルのクラスローダ空間に追加(アタッチ)されることで動作するバンドルである。ユーザは、画像形成装置のアプリの修正又は拡張を行う際にフラグメントバンドルを用いれば、インストールするファイルのサイズを小さくすることができる。結果として、ユーザは、画像形成装置のアプリの修正又は拡張を行う際に、画像形成装置の処理負荷を低減した効率的なソフトウェアモジュールの配布を実現することができる。
"OSGi Service Platform Release4 Version4.0"、[online]、[平成25年1月11日検索]、インターネット<URL:http://www.osgi.org/Download/Release4V40>
しかしながら、画像形成装置は、ホストバンドルにフラグメントバンドルを追加するために、ホストバンドルのクラスローダのパスへの追加処理を行い、そのホストバンドルのクラスローダがホストバンドルに必要なクラスをロードする必要がある。そのため、画像形成装置は、ホストバンドルを停止させた状態でフラグメントバンドルの追加を行う必要がある。同様に、画像形成装置は、フラグメントバンドルを削除する場合にも、ホストバンドルを停止させた状態で行う必要がある。
一方で、アプリの性質上、停止できないアプリがある。例えば、ユーザのログイン管理を目的とするログインアプリと呼ばれるアプリは、ログイン中に任意のアプリから任意のタイミングでログイン情報の問い合わせ受け得る。そのため、画像形成装置は、ログインアプリを停止させるために、他のログインアプリへ切り替える必要がある。この場合、画像形成装置に複数のログインアプリがインストールされていることが前提となる。そのため、画像形成装置は、複数のログインアプリがインストールされていない場合、ログインアプリを停止させることができない。
したがって、画像形成装置は、停止させることができないアプリに対して拡張機能を追加することができないという課題がある(課題1)。
同様に、画像形成装置は、停止させることができないアプリに対して拡張機能を削除することができないという課題がある(課題2)。
そこで、本発明の画像形成装置は、起動しているアプリケーションが停止可能であるか否かを判定する判定手段と、前記判定手段により停止不可能と判定された場合、前記アプリケーションに追加する前記アプリケーションの機能を拡張させる拡張機能データの識別情報と、前記拡張機能データの保存場所情報とが対応付けて記載されたインストール指示ファイルを作成する作成手段と、操作部を介して受け付けたユーザからの再起動指示に従い自装置を再起動させ、前記自装置の再起動後に前記作成手段により作成されたインストール指示ファイルに基づいて取得した拡張機能データを前記アプリケーションに追加する追加手段と、を有する。
また、本発明の画像形成装置は、起動しているアプリケーションが停止可能であるか否かを判定する判定手段と、前記判定手段により停止不可能と判定された場合、前記アプリケーションから削除する前記アプリケーションの機能を拡張させる拡張機能データの識別情報が記載されたアンインストール指示ファイルを作成する作成手段と、操作部を介して受け付けたユーザからの再起動指示に従い自装置を再起動させ、前記自装置の再起動後に前記作成手段により作成されたアンインストール指示ファイルに基づいて前記アプリケーションから前記拡張機能データを削除する削除手段と、を有する。
本発明によれば、画像形成装置は、停止させることができないアプリに対しても、拡張機能を追加することができる。また、本発明によれば、画像形成装置は、停止させることができないアプリに対しても、拡張機能を削除することができる。
ログインアプリの構成の一例を示す図である。 画像形成装置のハードウェア構成の一例を示す図である。 画像形成装置のソフトウェアの階層の一例を示す図である。 画像形成装置へアプリをインストールする際の流れの一例を示す図である。 フラグメントバンドルの概念の一例を示す図である。 アプリの管理画面の一例を示す図である。 アプリのインストール画面の一例を示す図である。 インストール処理の一例を示すフローチャートである。 install.onファイルの一例を示す図である。 実施形態1におけるOSGiの処理の一例を示すフローチャートである。 インストール制御部の処理の一例を示すフローチャートである。 アンインストール処理の一例を示すフローチャートである。 uninstall.onファイルの一例を示す図である。 実施形態2におけるOSGiの処理の一例を示すフローチャートである。
以下、本発明の実施形態について図面に基づき説明する。
以下、本発明の実施形態を説明するに先立って、以降の説明で用いる用語について説明する。
ホストバンドルとは、フラグメントバンドルの追加対象となるバンドルである。
フラグメントバンドルとは、単独では動作せず、ホストバンドルのクラスローダ空間に追加されることで動作するバンドルである。なお、フラグメントバンドルは、拡張機能データの一例である。
サービス起動順リストとは、画像形成装置の起動時にOSGiがサービスを順次起動させる際の順番を定義したリストである。ここで、サービスとは、画像形成装置がバンドルを実行することでユーザに提供される機能のことを意味する。
画像形成装置がホストバンドルへフラグメントバンドルを追加することを、以下「フラグメントバンドルのインストール」という。
画像形成装置がホストバンドルからフラグメントバンドルを削除することを、以下「フラグメントバンドルのアンインストール」という。
<実施形態1>
本実施形態では、画像形成装置がログインアプリにフラグメントバンドルをインストールする場合の実施形形態について説明する。なお、本実施形態は、課題1を解決するための実施形態である。
まず初めに、ログインアプリにフラグメントバンドルが必要となる理由について説明する。
図1は、ログインアプリの構成の一例を示す図である。
ログインアプリ601は、ログインサービスA602、ログインサービスB603及びログインサービスC604の複数のログインサービスを提供する。ログインサービスには、後述する図2に示される操作部118を用いてログイン認証するサービスや、LAN116を介し、PCのWebブラウザを用いてログイン認証するサービス等がある。
従来、ログインアプリ開発者は、図1に示されるような複数のログインサービス全てを作成する必要があったため、負担が大きかった。そのため、ログインアプリ開発者が必要とする部分だけを作成すればよい仕組みとして、フラグメントバンドルが活用されるようになった。
図2は、印刷機能、スキャン機能及びネットワーク通信機能等を有する画像形成装置130のハードウェア構成の一例を示す図である。
コントローラ100は、画像形成装置130を制御する。
CPU101は、コントローラ内部で行われる各種処理を統括的に制御する。また、CPU101は、ROM102やHDD104等に格納されているプログラムを実行することにより後述の画像形成装置130の機能(ソフトウェア構成)及びフローチャートに係る処理を実現する。なお、画像形成装置130が実行する処理は、情報処理の一例である。
ROM102は、読み出し専用の不揮発記憶領域であり、画像形成装置130のブートプログラム等を格納する。
RAM103は、CPU101がプログラムを実行するためのシステムワークメモリであり、各種データを一時記憶するためのメモリである。また、RAM103は、記憶した内容を電源off後も保持可能なFRAM(登録商標)及びSRAM、電源off後に記憶内容が消去されるDRAM等により構成される。
HDD104は、不揮発記憶領域であり、システムアプリ等を格納する。また、HDD104は、図3で後述するインストールされたアプリを含むファームウェア等を格納する。
操作部I/F105は、システムバス119と、操作部118とを接続するインタフェースである。より具体的には、操作部I/F105は、システムバス119からデータを受け取り操作部118に表示する。また、操作部I/F105は、操作部118からの入力情報をシステムバス119へ出力する。
操作部118は、画像形成装置130に対するユーザの指示を受け付けたり、画面表示によりユーザへ情報を提示したりする。
ネットワークI/F106は、LAN116、WAN117及びシステムバス119に接続し、外部と情報の入出力を行う。
スキャナI/F108は、スキャナ部113から受け取った画像データの補正、加工及び編集を行う。
画像形成部109は、画像データの方向変換、画像圧縮及び伸張等を行う。
プリンタI/F110は、画像形成部109から送られた画像データを受け取り、画像形成後にプリンタ部114にて印刷する。
なお、前記PCは、Webブラウザが動作するものであればよい。前記PCのハードウェア構成及びソフトウェア構成については、説明を省略する。
図3は、画像形成装置130のソフトウェアモジュール階層の一例を示す図である。
図3に示される各ソフトウェアは、使用する各種情報をRAM103又はHDD104等に格納して各ソフトウェア間で相互にやり取りを行うと共に、ネットワークI/F106を介して外部機器と通信を行う。
以下、図3に示される各ソフトウェアについて説明をする。
ソフトウェアプラットフォーム202は、オペレーティングシステム(OS)プラットフォーム201上に構成されている。また、ソフトウェアプラットフォーム202は、Java VM203のランタイム環境として構成されており、インタプリタとしてのJava VM203、ライブラリ205及びフレームワーク群204を有している。
フレームワーク群204は、単一のJava VM203上に複数のアプリを動作させるOSGi206を有している。
ライブラリ205は、標準のAPIライブラリを有している。
OSGi拡張部211は、OSGi206に対し、必要に応じて機能を拡張させることができる。
OSGi206は、アプリのライフサイクルの管理やアプリ間通信機能等を提供する。また、OSGi206上には、複数のシステムサービスがプリインストールされている。なお、システムサービスには、複数のアプリ群の管理、新たなアプリの追加、更新及び削除等の処理を管理するアプリ管理部207等がある。また、OSGi206は、画像形成装置130を起動する際、HDD104に保存されたサービス起動順リストに従い、後述するログインアプリ209、インストール制御部208及びアプリ管理部207等のサービスを起動する。
アプリ管理部207は、インストール制御部208を利用して、アプリの追加、更新及び削除等の処理を行う。
ログインアプリ209は、ユーザのログインに関するログイン情報を管理する。なお、ログインアプリ209は、ログイン中に任意のアプリから任意のタイミングでログイン情報の問い合わせを受け得るため、ログインアプリ209が複数インストールされていない限り停止させることができないアプリである。ここで、ログイン情報とは、画像形成装置130にログインしているユーザのログイン名やメールアドレス等の情報である。ログイン情報を利用するアプリの機能の例としては、スキャンした画像データの送信宛先のデフォルト値として、ログイン情報から取得したログイン中のユーザのメールアドレスを利用する機能等が挙げられる。
したがって、画像形成装置130が起動している間は、少なくとも1つ以上のログインアプリ209が必ず動作していることになる。また、3rdベンダー等は、独自の認証サービスを提供するログインアプリを作成することができる。この場合、ユーザは、図6A、Bを用いて後述する方法によりログインアプリをインストールした後、アプリを切り替えることで前記作成したログインアプリを利用することができるようになる。
一般アプリ210は、画像形成装置130における各種機能をユーザに提供する。例えば一般アプリ210は、画像の加工や圧縮を行う機能や印刷制限等の部門管理を行う機能等を提供する。また、各種機能を実現する一般アプリ210は、アプリ管理部207の管理下で動作する。なお、アプリ管理部207は、管理下に追加されたアプリのバージョン情報及びライセンス情報等を保持している。更に、アプリ管理部207は、画像形成装置130内のアプリのアンインストール指示に応答し、一般アプリ210を管理対象から外す。
図4は、ユーザがPC300から画像形成装置130へアプリをインストールする際の流れの一例を示す図である。
ユーザは、PC300のWEBブラウザに表示される、後述の図6Bに表示されるhttpファイルで構成されたWEBページであるアプリのインストール画面520からインストールしたいアプリを指定する。なお、アプリのインストール処理では、セキュリティやビジネス上の観点から、アプリを動かす際にライセンスが必要となる。そのため、ユーザは、インストールするアプリを指定すると共にライセンスを指定する。
PC300は、アプリケーションインストールUI301の操作を介して受信したユーザの指示に基づいて、ユーザが指定したアプリと、ライセンスとに関するインストール情報を画像形成装置130のアプリ管理部207に送信する。
アプリ管理部207は、PC300から前記インストール情報を受信すると、受信したインストール情報に基づいてアプリを復号化し、複合化した複合化ファイルをインストール制御部208に送信し、インストールを指示する。
インストール制御部208は、アプリ管理部207から前記復号化ファイルを受信すると、OSGi206にアプリのインストールを依頼する。
OSGi206は、インストール制御部208からインストール依頼を受信すると、ユーザが指定したアプリのインストールを行う。なお、インストールされたアプリは、アプリ管理部207によって管理される。
図5は、フラグメントバンドルの概念の一例を示す図である。
ここでは、ユーザの指示に基づいて画像形成装置130が、ホストバンドル400に対し、フラグメントバンドル401と、フラグメントバンドル402とをインストールする場合の例について説明する。
ユーザは、画像形成装置130のホストバンドルにフラグメントバンドルをインストールするために、図5に示されるマニフェスト及びバンドルパーミッションを指定する必要がある。以下、ユーザが指定するマニフェスト及びバンドルパーミッションの一例について説明する。
まず、ホストバンドルのマニフェスト403について説明する。
ユーザは、Bundle−ManifestVersionに「2」と指定する。更に、ユーザは、Bundle−SymbolicNameに、フレームワーク内で一意な名前を付ける。ここでは説明の便宜上、ユーザは、<バンドルシンボリック名>と名前を付けたとする。
次に、フラグメントバンドルのマニフェスト405について説明する。
ユーザは、Bundle−ManifestVersionに「2」と指定する。更に、ユーザは、Fragment−Hostに、ホストバンドルのマニフェスト403に記載した<バンドルシンボリック名>を指定する。
次に、ホストバンドルのパーミッション404について説明する。
ユーザは、ホストバンドルのパーミッション404に、BundlePermission<バンドルシンボリック名>“HOST”と指定する。
次に、フラグメントバンドルのパーミッション406について説明する。
ユーザは、フラグメントバンドルのパーミッション406に、BundlePermission<バンドルシンボリック名>“FRAGMENT”と指定する。
画像形成装置130が上記条件を満たす状態でフラグメントバンドルをインストールする場合、画像形成装置130のOSGi206は、フラグメントバンドルのマニフェスト情報からホストバンドルを特定する。そして、OSGi206は、ホストバンドルのクラスパスにフラグメントバンドル自身のクラスパスの追加を行う。ここで、「クラスパス」とは、画像形成装置130がJavaアプリを実行する際に、Java VM203がどの場所からクラスファイルを読み込めばよいかを指定するための情報である。更に、ホストバンドルのクラスローダは、フラグメントバンドル内の全てのクラスと、リソースとをロードする。ここで、「クラスローダ」とは、クラスのロードやリソースを検索するオブジェクトであり、全てのクラスはクラスローダによってJava VM203にロードされる。
ホストバンドルのクラスローダは、上記のロード処理をホストバンドル起動時に行うため、必ずホストバンドルを一度停止し、クラスパスを追加した上でロードする必要がある。つまり、画像形成装置130は、ホストバンドルを停止させた状態でなければ、フラグメントバンドルをインストールすることができない。
画像形成装置130は、インストールした後のフラグメントバンドルをホストバンドルの一部として利用することができる。
例えば図5の例において、画像形成装置130がホストバンドル400にフラグメントバンドルとして日本語リソース401と、中国語リソース402とをインストールしたとする。その場合、画像形成装置130は、日本語リソース401と、中国語リソース402とをホストバンドル400の一部として利用することができるようになり、言語リソースを切り替えることができるようになる。
なお、画像形成装置130は、フラグメントバンドルのインストールにより、上記のような言語リソースの追加だけでなく、上述したログインアプリの機能を拡張することもできる。
一方、OSGi206は、フラグメントバンドルをアンインストールする場合、ホストバンドルのクラスパスからフラグメントバンドル自身のクラスパスの削除を行う。そして、ホストバンドルのクラスローダは、ホストバンドルに必要なクラスを再度ロードする必要がある。そのため、画像形成装置130は、ホストバンドルからフラグメントバンドルをアンインストールする場合においても、必ずホストバンドルを停止させた状態で行う必要がある。
なお、画像形成装置130によるフラグメントバンドルのアンインストール処理の詳細については、実施形態2で詳述する。
図6Aは、アプリ管理部207が管理するログインアプリの管理画面500の一例を示す図である。
アプリ管理部207は、管理画面500をPC300のWEBブラウザに表示する。なお、ここでは、ログインアプリの管理画面について説明するが、一般アプリの管理画面についても同様の画面となる。
アプリケーション名501は、アプリ管理部207に管理されているログインアプリの名前を表示している。図6Aの例の場合、アプリ管理部207は、ログインアプリケーションA507と、ログインアプリケーションB510との2つアプリを管理していることを意味する。更に、アプリ管理部207は、ログインアプリケーションA507をホストバンドルとして、フラグメントバンドルA508と、フラグメントバンドルB509とを管理していることを意味する。この場合、アプリ管理部207は、フラグメントバンドルA508及びフラグメントバンドルB509を、そのホストバンドルであるログインアプリケーションA507と関連付けて表示する。これにより、ユーザは、フラグメントバンドルA508及びフラグメントバンドルB509がログインアプリケーションA507に紐づいていることを認識することができる。
インストール日502は、各アプリがインストールされた日付を表示している。
アプリケーションID503は、各アプリに一意に割り振られたアプリケーションIDを表示している。なお、アプリケーションID503は、識別情報の一例である。
状態504は、各アプリの状態を表示している。アプリが起動している状態であれば「起動」、停止している状態であれば「停止」と表示される。
切替ボタン505、506は、ログインアプリの起動と、停止とを切り替える指示ボタンである。ユーザが停止状態のアプリ(本例では、ログインアプリケーションB)の切替ボタン506を押下すると、アプリの状態504は「停止」から画像形成装置130の再起動後に「起動」と変更される。一方、現在起動状態のアプリ(本例では、ログインアプリケーションA)の状態504は、再起動後に「停止」と表示される。即ち、画像形成装置130の再起動後に、ログインアプリの起動と、停止との変更が適用される。
アンインストールボタン511、512、513、514は、各アプリをアンインストールする指示ボタンである。ここで、アンインストールボタン512、513は、フラグメントバンドルのみをアンインストールする指示ボタンである。一方、アンインストールボタン511、514は、ホストバンドルと、ホストバンドルに紐づいたフラグメントバンドルとをアンインストールする指示ボタンである。例えば、ユーザがアンインストールボタン512を押下すると、フラグメントバンドルAだけがアンインストールされる。一方、ユーザがアンインストールボタン511を押下すると、ログインアプリケーションA507に加えて、ログインアプリケーションA507に紐づいたフラグメントバンドルA508と、フラグメントバンドルB509とが同時にアンインストールされる。
図6Bは、インストール画面520の一例を示した図である。
ユーザが参照ボタン523を押下すると、ログインアプリファイルのパスを選択するログインアプリファイルパス選択画面が表示される。ユーザは、ログインアプリファイルパス選択画面でログインアプリファイルを指定すると、ログインアプリケーションファイルのパス521にログインアプリファイルへのパスが入力される。
同様に、ユーザが参照ボタン524を押下すると、ライセンスファイルのパスを選択するライセンスファイルパス選択画面が表示される。ユーザは、ライセンスファイルパス選択画面でライセンスファイルを指定すると、ライセンスファイルのパス522にライセンスファイルへのパスが入力される。
画像形成装置130は、ユーザによりインストールボタン525が押下されると、ログインアプリケーションファイルのパス521で指定されたログインアプリのインストールを開始する。図6Bは、ログインアプリをインストールする場合の画面の一例であり、ユーザによりログインアプリ又はログインアプリをホストバンドルとするフラグメントバンドル以外のパスが指定された場合はエラー表示が表示される。その場合、画像形成装置130は、インストールを実行することができない。
以上、図6A、Bについて説明したが、アプリ管理部207は、図6A、Bに示される情報をアプリ管理情報として管理している。なお、アプリ管理情報には、上述したアプリのバージョン情報及びライセンス情報等も含まれる。
図7は、インストール画面520でフラグメントバンドルが指定された場合に、インストール制御部208がホストバンドルであるログインアプリ209に対してフラグメントバンドルをインストールする処理の一例を示すフローチャートである。
インストール制御部208は、アプリ管理部207からインストール指示を受信すると、インストール処理を開始する。
S800で、インストール制御部208は、インストール処理を開始し、処理をS801に進める。
S801で、インストール制御部208は、インストール対象がフラグメントバンドルであるか否かを判定し、インストール対象がフラグメントバンドルであると判定した場合、処理をS802に進める。一方、S801で、インストール制御部208は、インストール対象がフラグメントバンドルでないと判定した場合、処理をS803に進める。より具体的には、インストール制御部208は、アプリ管理部207から受信した、インストール画面520でユーザが指定したインストール情報に基づいてインストール対象がフラグメントバンドルであるか否かを判定する。例えばインストール制御部208は、ユーザがインストール画面520でフラグメントバンドルを指定した場合、インストール対象がフラグメントバンドルであると判定する。
S803で、インストール制御部208は、インストール対象がログインアプリであるか否かを判定し、インストール対象がログインアプリであると判定した場合、処理をS810に進める。一方、S803で、インストール制御部208は、インストール対象がログインアプリでないと判定した場合、処理をS805に進める。より具体的には、インストール制御部208は、アプリ管理部207から受信した、インストール画面520でユーザが指定したインストール情報に基づいてインストール対象がログインアプリであるか否かを判定する。例えばインストール制御部208は、ユーザがインストール画面520でログインアプリを指定した場合、インストール対象がログインアプリであると判定する。
S810で、インストール制御部208は、ログインアプリのインストール処理を行い、S811で処理を終了する。
S805で、インストール制御部208は、アプリ管理部207にエラーステータスを返却し、S811で処理を終了する。
S802で、インストール制御部208は、ホストバンドルがログインアプリであるか否かを判定し、ホストバンドルがログインアプリであると判定した場合、処理をS804に進める。一方、S802で、インストール制御部208は、ホストバンドルがログインアプリでないと判定した場合、処理をS805に進める。より具体的には、インストール制御部208は、アプリ管理部207が管理するアプリ管理情報に基づいてホストバンドルがログインアプリであるか否かを判定する。なお、ログインアプリは、上述したように画像形成装置130に複数インストールされていない限り、停止不可能なアプリである。本実施形態では、画像形成装置130にログインアプリが1つだけインストールされているものとして説明する。なお、S802の処理は、停止可能なアプリであるか否かを判定する判定処理の一例である。
S805の処理については上述した通りであるため、説明を省略する。
S804で、インストール制御部208は、ホストバンドルであるログインアプリが起動状態であるか否かを判定し、起動状態であると判定した場合、処理をS806に進める。一方、S804で、インストール制御部208は、起動状態でない(停止状態)と判定した場合、処理をS807に進める。より具体的には、インストール制御部208は、アプリ管理部207が管理するアプリ管理情報に基づいてホストバンドルであるログインアプリが起動状態であるか否かを判定する。
S807で、インストール制御部208は、フラグメントバンドルのインストール処理を行い、S811で処理を終了する。なお、フラグメントバンドルのインストール処理についての詳細は、図5を用いて説明した通りであるため、説明を省略する。
S806で、インストール制御部208は、インストール対象であるフラグメントバンドルのjarファイル(以下、フラグメントファイルという)を、図8に示されるTMPフォルダに仮置きし、処理をS808に進める。なお、TMPフォルダは、HDD104やROM102等の記憶領域に格納されているフォルダである。
S808で、インストール制御部208は、図8で後述するinstall.onファイルを作成してROM102やHDD104等の記憶領域に格納し、処理をS809に進める。なお、S808の処理は、作成処理の一例である。
S809で、インストール制御部208は、アプリ管理部207に再起動指示ステータスを返却し、S811で処理を終了する。
図8は、install.onファイルの一例を示す図である。なお、install.onファイルは、インストール指示ファイルの一例である。
install.onファイルのフォーマット900は、インストール対象のフラグメントバンドルのアプリケーションID901と、S806で仮置きされたフラグメントファイルのパス902との記載を含む。なお、アプリケーションID901は、識別情報の一例である。また、パス902は、保存場所情報の一例である。
install.onファイルの一例903に示されるように、install.onファイルには、1行毎に各フラグメントバンドルのアプリケーションID901と、フラグメントファイルのパス902とが対応付けられて記載される。ここで、アプリケーションID901と、フラグメントファイルのパス902とは、install.onファイルに複数記載されていてもよい。install.onファイルにアプリケーションID901と、フラグメントファイルのパス902とが複数記載されている場合、画像形成装置130は、後述する図9のフローチャートに従い、対象のフラグメントバンドル全てを順次インストールする。
図6Bを用いて説明したように、ユーザは、インストール画面520を介して画像形成装置130にインストール指示を行う。
画像形成装置130は、ユーザがログインアプリケーションファイルのパス521にログインアプリをホストバンドルとするフラグメントバンドルを指定すると、指定されたフラグメントバンドルのインストールを開始する。より具体的には、インストール制御部208は、インストール指示を受信すると、図7に示されるフローチャートに従いインストール処理を行う。そして、上述したようにS809で、インストール制御部208は、再起動指示ステータスをアプリ管理部207に返却する。
アプリ管理部207は、前記再起動指示ステータスを受信すると、画像形成装置130の再起動を促す再起動メッセージ(「フラグメントバンドルのインストールを完了するには、画像形成装置を再起動する必要があります。」)を管理画面500に表示する。なお、前記再起動メッセージが表示される管理画面500は、再起動指示画面の一例である。また、アプリ管理部207が前記再起動メッセージを管理画面500に表示する処理は、再起動指示画面の提供処理の一例である。
図9は、管理画面500に表示された前記再起動メッセージにより、ユーザが画像形成装置130を再起動した際のOSGi拡張部211による処理の一例を示すフローチャートである。
S1100で、OSGi拡張部211は、起動処理を開始し、処理をS1101に進める。
S1101で、OSGi拡張部211は、ROM102やHDD104等の記憶領域にinstall.onファイルがあるか否かを判定し、install.onファイルがあると判定した場合、処理をS1102に進める。一方、S1101で、OSGi拡張部211は、install.onファイルがないと判定した場合、処理をS1107に進める。
S1107で、OSGi拡張部211は、サービス起動順リストに従いサービスを順次起動させ、処理をS1108に進める。
S1108で、OSGi拡張部211は、ログインアプリを起動させ、処理をS1109に進める。
S1109で、OSGi拡張部211は、インストール制御部208を起動させ、S1110で処理を終了する。
S1102で、OSGi拡張部211は、install.onファイルに記載されたアプリケーションID901に対応するフラグメントファイルを検索し、処理をS1103に進める。より具体的には、OSGi拡張部211は、アプリケーションID901と合致するフラグメントファイルを、図7のS806でTMPフォルダに仮置きされたフラグメントファイルから検索する。
S1103で、OSGi拡張部211は、S1102での検索の結果、アプリケーションID901と合致する仮置きされたフラグメントファイルの有無を判定し、有ると判定した場合、処理をS1104に進める。一方、OSGi拡張部211は、S1102での検索の結果、アプリケーションID901と合致するフラグメントファイルが無いと判定した場合、処理をS1105に進める。
S1104で、OSGi拡張部211は、検索したフラグメントファイルを利用して、フラグメントバンドルのインストール処理を行い、処理をS1105に進める。なお、フラグメントバンドルのインストール処理についての詳細は、図5を用いて説明した通りであるため、説明を省略する。なお、S1104の処理は、追加処理の一例である。
S1105で、OSGi拡張部211は、install.onファイルに記載された全てのインストール対象のフラグメントバンドルのインストールを実行したか否かを判定し、実行したと判定した場合、処理をS1106に進める。一方、S1105で、OSGi拡張部211は、インストール対象のフラグメントバンドルのうち、インストール未実行のフラグメントバンドルがあると判定した場合、処理をS1102に戻す。
S1106で、OSGi拡張部211は、図7のS808で作成されたinstall.onファイルを削除し、処理をS1107に進める。なお、S1107以降の処理については、上述した通りである。
図10は、図9のS1109で起動されたインストール制御部208による処理の一例を示すフローチャートである。
S1200で、インストール制御部208は、処理を開始し、S1201に進む。
S1201で、インストール制御部208は、仮置きされたフラグメントファイルの有無を判定し、有ると判定した場合、処理をS1202に進め、無いと判定した場合、S1203で処理を終了する。
S1202で、インストール制御部208は、仮置きされたフラグメントファイルを削除し、S1203で処理を終了する。なお、S1202の処理は、ファイル削除処理の一例である。
以上、本実施形態の画像形成装置130は、ホストバンドルであるログインアプリを停止することができない場合、install.onファイルを作成する。そして、画像形成装置130は、作成したinstall.onファイルを利用することで再起動後に対象のフラグメントバンドルをインストールすることができる。
<実施形態2>
本実施形態では、画像形成装置がログインアプリにフラグメントバンドルをアンインストールする場合の実施形形態について説明する。なお、本実施形態は、課題2を解決するための実施形態である。
図6Aを用いて説明したように、ユーザは、ログインアプリの管理画面500を介して画像形成装置130にアンインストール指示を行う。
ユーザは、アンインストールしたいフラグメントバンドルのアンインストールボタンを押下する。例えばユーザは、図6におけるフラグメントバンドルAをアンインストールしたい場合、アンインストールボタン512を押下する。アプリ管理部207は、後述する図11のS1309に示されるようにインストール制御部208から再起動指示ステータスを受信する。そして、アプリ管理部207は、画像形成装置130の再起動を促す再起動メッセージ(「フラグメントバンドルのアンインストールを完了するには、画像形成装置を再起動する必要があります。」)を管理画面500に表示する。
図11は、インストール制御部208がホストバンドルであるログインアプリ209に対してフラグメントバンドルをアンインストールする処理の一例を示すフローチャートである。
S1300で、インストール制御部208は、アンインストール処理を開始し、処理をS1301に進める。
S1301で、インストール制御部208は、アンインストール対象がフラグメントバンドルであるか否かを判定し、アンインストール対象がフラグメントバンドルであると判定した場合、処理をS1302に進める。一方、S1301で、インストール制御部208は、アンインストール対象がフラグメントバンドルでないと判定した場合、処理をS1303に進める。より具体的には、インストール制御部208は、アプリ管理部207から受信したアンインストール情報に基づいてアンインストール対象がフラグメントバンドルであるか否かを判定する。ここで、アンインストール情報とは、アプリ管理部207がPC300から受信した、ユーザが管理画面500で何れのアンインストールボタンを押下したかに関する情報である。例えばインストール制御部208は、ユーザが管理画面500でアンインストールボタン512又はアンインストールボタン513を押下した場合、アンインストール対象がフラグメントバンドルであると判定する。
S1303で、インストール制御部208は、アンインストール対象がログインアプリであるか否かを判定し、アンインストール対象がログインアプリであると判定した場合、処理をS1310に進める。一方、S1303で、インストール制御部208は、アンインストール対象がログインアプリでないと判定した場合、処理をS1305に進める。より具体的には、インストール制御部208は、アプリ管理部207から受信したアンインストール情報に基づいてアンインストール対象がフラグメントバンドルであるか否かを判定する。アンインストール情報については、上述した通りであるため説明を省略する。例えばインストール制御部208は、ユーザが管理画面500でアンインストールボタン511又はアンインストールボタン514を押下した場合、アンインストール対象がログインアプリであると判定する。
S1310で、インストール制御部208は、ログインアプリのアンインストール処理を行い、S1311で処理を終了する。
S1305で、インストール制御部208は、アプリ管理部207にエラーステータスを返却し、S1311で処理を終了する。
S1302で、インストール制御部208は、ホストバンドルがログインアプリであるか否かを判定し、ホストバンドルがログインアプリであると判定した場合、処理をS1304に進める。一方、S1302で、インストール制御部208は、ホストバンドルがログインアプリでないと判定した場合、処理をS1305に進める。より具体的には、インストール制御部208は、アプリ管理部207が管理するアプリ管理情報に基づいてホストバンドルがログインアプリであるか否かを判定する。なお、ログインアプリは、上述したように画像形成装置130に複数インストールされていない限り、停止不可能なアプリである。本実施形態では、画像形成装置130にログインアプリが1つだけインストールされているものとして説明する。なお、S1302の処理は、停止可能なアプリであるか否かを判定する判定処理の一例である。
S1305の処理については上述した通りであるため、説明を省略する。
S1304で、インストール制御部208は、ホストバンドルであるログインアプリが起動状態であるか否かを判定し、起動状態であると判定した場合、処理をS1306に進める。一方、S1304で、インストール制御部208は、起動状態でない(停止状態)と判定した場合、処理をS1307に進める。より具体的には、インストール制御部208は、アプリ管理部207が管理するアプリ管理情報に基づいてホストバンドルであるログインアプリが起動状態であるか否かを判定する。
S1307で、インストール制御部208は、フラグメントバンドルのアンインストール処理を行い、S1311で処理を終了する。
S1306で、インストール制御部208は、図12で後述するuninstall.onファイルを作成してROM102やHDD104等の記憶領域に格納し、処理をS1308に進める。なお、S1306の処理は、作成処理の一例である。
S1308で、インストール制御部208は、アプリ管理部207に再起動指示ステータスを返却し、S1311で処理を終了する。
図12は、uninstall.onファイルの一例を示す図である。なお、uninstall.onファイルは、アンインストール指示ファイルの一例である。
uninstall.onファイルのフォーマット1500は、アンインストール対象のフラグメントバンドルのアプリケーションID1501の記載を含む。なお、アプリケーションID1501は、識別情報の一例である。
uninstall.onファイルの一例1502に示されるように、uninstall.onファイルには、1行毎に各フラグメントバンドルのアプリケーションID1501が記載される。ここで、アプリケーションID1501は、uninstall.onファイルに複数記載されていてもよい。uninstall.onファイルにアプリケーションID1501が複数記載されている場合、画像形成装置130は、後述する図13のフローチャートに従い、対象のフラグメントバンドル全てを順次アンインストールする。
図13は、管理画面500に表示された前記再起動メッセージにより、ユーザが画像形成装置130を再起動した際のOSGi拡張部211による処理の一例を示すフローチャートである。なお、前記再起動メッセージが表示される管理画面500は、再起動指示画面の一例である。また、アプリ管理部207が前記再起動メッセージを管理画面500に表示する処理は、再起動指示画面の提供処理の一例である。
S1600で、OSGi拡張部211は、起動処理を開始し、処理をS1601に進める。
S1601で、OSGi拡張部211は、ROM102やHDD104等の記憶領域にuninstall.onファイルがあるか否かを判定し、uninstall.onファイルがあると判定した場合、処理をS1602に進める。一方、S1601で、OSGi拡張部211は、uninstall.onファイルがないと判定した場合、処理をS1605に進める。
S1605で、OSGi拡張部211は、サービス起動順リストに従いサービスを順次起動させ、処理をS1606に進める。
S1606で、OSGi拡張部211は、ログインアプリを起動させ、処理をS1607に進める。
S1607で、OSGi拡張部211は、インストール制御部208を起動させ、S1608で処理を終了する。
S1602で、OSGi拡張部211は、uninstall.onファイルに記載されたアプリケーションID1501と合致するフラグメントバンドルをアンインストールし、処理をS1603に進める。より具体的には、OSGi拡張部211は、HDD104に格納されているインストールされたフラグメントバンドルからアプリケーションID1501と合致するフラグメントバンドルを検索してアンインストールする。なお、フラグメントバンドルのアンインストール処理についての詳細は、図5を用いて説明した通りであるため、説明を省略する。なお、S1602の処理は、削除処理の一例である。
S1603で、OSGi拡張部211は、uninstall.onファイルに記載された全てのアンインストール対象のフラグメントバンドルのアンインストールを実行したか否かを判定し、実行したと判定した場合、処理をS1604に進める。一方、S1603で、OSGi拡張部211は、アンインストール対象のフラグメントバンドルのうち、アンインストール未実行のフラグメントバンドルがあると判定した場合、処理をS1602に戻す。
S1604で、OSGi拡張部211は、図11のS1306で作成されたuninstall.onファイルを削除し、処理をS1605に進める。なお、S1605以降の処理については、上述した通りである。なお、S1604の処理は、ファイル削除処理の一例である。
以上、本実施形態の画像形成装置130は、ホストバンドルであるログインアプリを停止することができない場合、uninstall.onファイルを作成する。そして、画像形成装置130は、作成したuninstall.onファイルを利用することで再起動後に対象のフラグメントバンドルをアンインストールすることができる。
<その他の実施形態>
また、本実施形態は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
以上、上述した各実施形態によれば、画像形成装置130は、停止できないホストバンドルであるログインアプリに対しても、フラグメントバンドルをインストール又はアンインストールすることができる。つまり、画像形成装置130は、停止させることができないアプリに対しても、拡張機能を追加又は削除することができる。
以上、本発明の好ましい形態について詳述したが、本実施形態は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。

Claims (16)

  1. 起動しているアプリケーションが停止可能であるか否かを判定する判定手段と、
    前記判定手段により停止不可能と判定された場合、前記アプリケーションに追加する前記アプリケーションの機能を拡張させる拡張機能データの識別情報と、前記拡張機能データの保存場所情報とが対応付けて記載されたインストール指示ファイルを作成する作成手段と、
    操作部を介して受け付けたユーザからの再起動指示に従い自装置を再起動させ、前記自装置の再起動後に前記作成手段により作成されたインストール指示ファイルに基づいて取得した拡張機能データを前記アプリケーションに追加する追加手段と、
    を有する画像形成装置。
  2. 前記判定手段は、前記アプリケーションがログイン情報を管理するログインアプリケーションであり、かつ、前記ログインアプリケーションが1つしかインストールされていない場合、前記アプリケーションは停止不可能と判定する請求項1に記載の画像形成装置。
  3. 前記作成手段により前記インストール指示ファイルが作成されると、前記拡張機能データの追加において再起動が必要である旨が表示された再起動指示画面をユーザに提供する提供手段を更に有する請求項1又は2に記載の画像形成装置。
  4. 前記追加手段は、前記インストール指示ファイルに基づいて取得した複数の拡張機能データを、前記自装置の再起動後に一度に前記アプリケーションに追加する請求項1乃至3の何れか1項に記載の画像形成装置。
  5. 前記追加手段により前記拡張機能データが追加された後に、記憶領域に前記インストール指示ファイルが保存されている場合、前記記憶領域から前記インストール指示ファイルを削除するファイル削除手段を更に有する請求項1乃至4の何れか1項に記載の画像形成装置。
  6. 前記アプリケーションは、ホストバンドルであり、
    前記拡張機能データは、フラグメントバンドルである請求項1乃至5の何れか1項に記載の画像形成装置。
  7. 起動しているアプリケーションが停止可能であるか否かを判定する判定手段と、
    前記判定手段により停止不可能と判定された場合、前記アプリケーションから削除する前記アプリケーションの機能を拡張させる拡張機能データの識別情報が記載されたアンインストール指示ファイルを作成する作成手段と、
    操作部を介して受け付けたユーザからの再起動指示に従い自装置を再起動させ、前記自装置の再起動後に前記作成手段により作成されたアンインストール指示ファイルに基づいて前記アプリケーションから前記拡張機能データを削除する削除手段と、
    を有する画像形成装置。
  8. 前記判定手段は、前記アプリケーションがログイン情報を管理するログインアプリケーションであり、かつ、前記ログインアプリケーションが1つしかインストールされていない場合、前記アプリケーションは停止不可能と判定する請求項7に記載の画像形成装置。
  9. 前記作成手段により前記アンインストール指示ファイルが作成されると、前記拡張機能データの削除において再起動が必要である旨が表示された再起動指示画面をユーザに提供する提供手段を更に有する請求項7又は8に記載の画像形成装置。
  10. 前記削除手段は、前記アンインストール指示ファイルに基づいて前記アプリケーションから削除する複数の拡張機能データを、前記自装置の再起動後に一度に削除する請求項7乃至9の何れか1項に記載の画像形成装置。
  11. 前記削除手段により前記拡張機能データが削除された後に、記憶領域に前記アンインストール指示ファイルが保存されている場合、前記記憶領域から前記アンインストール指示ファイルを削除するファイル削除手段を更に有する請求項7乃至10の何れか1項に記載の画像形成装置。
  12. 前記アプリケーションは、ホストバンドルであり、
    前記拡張機能データは、フラグメントバンドルである請求項7乃至11の何れか1項に記載の画像形成装置。
  13. 画像形成装置が実行する情報処理方法であって、
    起動しているアプリケーションが停止可能であるか否かを判定する判定ステップと、
    前記判定ステップにより停止不可能と判定された場合、前記アプリケーションに追加する前記アプリケーションの機能を拡張させる拡張機能データの識別情報と、前記拡張機能データの保存場所情報とが対応付けて記載されたインストール指示ファイルを作成する作成ステップと、
    操作部を介して受け付けたユーザからの再起動指示に従い自装置を再起動させ、前記自装置の再起動後に前記作成ステップにより作成されたインストール指示ファイルに基づいて取得した拡張機能データを前記アプリケーションに追加する追加ステップと、
    を含む情報処理方法。
  14. 画像形成装置が実行する情報処理方法であって、
    起動しているアプリケーションが停止可能であるか否かを判定する判定ステップと、
    前記判定ステップにより停止不可能と判定された場合、前記アプリケーションから削除する前記アプリケーションの機能を拡張させる拡張機能データの識別情報が記載されたアンインストール指示ファイルを作成する作成ステップと、
    操作部を介して受け付けたユーザからの再起動指示に従い自装置を再起動させ、前記自装置の再起動後に前記作成ステップにより作成されたアンインストール指示ファイルに基づいて前記アプリケーションから前記拡張機能データを削除する削除ステップと、
    を含む情報処理方法。
  15. コンピュータに、
    起動しているアプリケーションが停止可能であるか否かを判定する判定ステップと、
    前記判定ステップにより停止不可能と判定された場合、前記アプリケーションに追加する前記アプリケーションの機能を拡張させる拡張機能データの識別情報と、前記拡張機能データの保存場所情報とが対応付けて記載されたインストール指示ファイルを作成する作成ステップと、
    操作部を介して受け付けたユーザからの再起動指示に従い自装置を再起動させ、前記自装置の再起動後に前記作成ステップにより作成されたインストール指示ファイルに基づいて取得した拡張機能データを前記アプリケーションに追加する追加ステップと、
    を実行させるためのプログラム。
  16. コンピュータに、
    起動しているアプリケーションが停止可能であるか否かを判定する判定ステップと、
    前記判定ステップにより停止不可能と判定された場合、前記アプリケーションから削除する前記アプリケーションの機能を拡張させる拡張機能データの識別情報が記載されたアンインストール指示ファイルを作成する作成ステップと、
    操作部を介して受け付けたユーザからの再起動指示に従い自装置を再起動させ、前記自装置の再起動後に前記作成ステップにより作成されたアンインストール指示ファイルに基づいて前記アプリケーションから前記拡張機能データを削除する削除ステップと、
    を実行させるためのプログラム。
JP2013011120A 2013-01-24 2013-01-24 画像形成装置、情報処理方法及びプログラム Active JP6057740B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013011120A JP6057740B2 (ja) 2013-01-24 2013-01-24 画像形成装置、情報処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013011120A JP6057740B2 (ja) 2013-01-24 2013-01-24 画像形成装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2014142824A JP2014142824A (ja) 2014-08-07
JP6057740B2 true JP6057740B2 (ja) 2017-01-11

Family

ID=51424049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013011120A Active JP6057740B2 (ja) 2013-01-24 2013-01-24 画像形成装置、情報処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6057740B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6403559B2 (ja) * 2014-12-08 2018-10-10 キヤノン株式会社 情報処理装置およびその制御方法、並びにプログラム
JP6388405B2 (ja) * 2014-12-26 2018-09-12 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10312275A (ja) * 1997-05-13 1998-11-24 Dainippon Printing Co Ltd プログラムを自動更新可能な端末機
JP4791910B2 (ja) * 2005-08-26 2011-10-12 株式会社リコー 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
JP2007066132A (ja) * 2005-09-01 2007-03-15 Ricoh Co Ltd プログラムシステム
JP5515642B2 (ja) * 2009-11-04 2014-06-11 株式会社リコー 印刷装置とプログラムとサーバ装置
JP5418442B2 (ja) * 2010-08-18 2014-02-19 株式会社リコー 情報処理装置、電子機器、更新処理支援方法、更新処理支援プログラム、及び更新処理支援システム

Also Published As

Publication number Publication date
JP2014142824A (ja) 2014-08-07

Similar Documents

Publication Publication Date Title
US11487483B2 (en) Information apparatus, controlling method for information apparatus, and storage medium to install and activate software based on obtained information
US9417862B2 (en) Information processing apparatus, function extension method for information processing apparatus, and non-transitory computer-readable storage medium
JP6147139B2 (ja) 情報処理装置、その制御方法、及びコンピュータプログラム
US9696978B2 (en) Information processing apparatus, application management method, and non-transitory computer-readable medium
JP6104194B2 (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
US9606761B2 (en) Information processing apparatus for controlling an output process and method for the same
JP6403559B2 (ja) 情報処理装置およびその制御方法、並びにプログラム
JP6057740B2 (ja) 画像形成装置、情報処理方法及びプログラム
EP3462363B1 (en) Image forming apparatus and control method therefor
CN106250068B (zh) 图像形成装置以及应用的删除方法
JP2009205262A (ja) アプリケーションプログラムインストール装置、アプリケーションプログラムインストール方法、プログラム、および記録媒体
JP6103978B2 (ja) 配信装置、デバイス装置、配信装置の制御方法およびコンピュータプログラム
US9940334B2 (en) Image forming apparatus and control method thereof
JP2013186518A (ja) 画像形成装置、画像形成装置の制御方法、及び制御プログラム
JP2017073035A (ja) 情報処理装置およびその制御方法
US11327693B2 (en) Computer-readable medium, information processing device, and Method for installing appropriate program
JP2019087922A (ja) 画像処理装置および画像処理装置の制御方法
JP2008310674A (ja) 情報処理装置、操作処理方法、記憶媒体、プログラム
JP6308526B2 (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP5836814B2 (ja) 画像形成装置、制御方法及びプログラム
JP2018097797A (ja) 情報処理装置及びアプリケーションの管理方法及びプログラム
JP2015091095A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161020

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161206

R151 Written notification of patent or utility model registration

Ref document number: 6057740

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151