JP2021149191A - 情報処理装置、情報処理方法 - Google Patents
情報処理装置、情報処理方法 Download PDFInfo
- Publication number
- JP2021149191A JP2021149191A JP2020045608A JP2020045608A JP2021149191A JP 2021149191 A JP2021149191 A JP 2021149191A JP 2020045608 A JP2020045608 A JP 2020045608A JP 2020045608 A JP2020045608 A JP 2020045608A JP 2021149191 A JP2021149191 A JP 2021149191A
- Authority
- JP
- Japan
- Prior art keywords
- application
- information processing
- processing device
- log
- service
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
- Facsimiles In General (AREA)
Abstract
【課題】 アプリケーションと同名の同名アプリケーションの実行が停止しているケースであっても、該同名アプリケーションの実行の開始ができなかったか否かに応じて該アプリケーションのインストールの実行を制御するための技術を提供すること。【解決手段】 情報処理装置に接続された記憶装置に格納されているアプリケーションを該情報処理装置にインストールしてその実行を開始する。記憶装置に格納されているアプリケーションと同名の同名アプリケーションが動作中でないとする。この場合、インストール済みのそれぞれのアプリケーションのログから、該同名アプリケーションの更新日時との差異が所定期間内である日時にインストールされたアプリケーションの実行開始が失敗したことを示すログが見つからなかった場合は、該アプリケーションをインストール対象から除外する。【選択図】 図2
Description
本発明は、情報処理装置へのアプリケーションのインストール技術に関するものである。
近年、画像形成装置においては、Java(登録商標)環境に代表されるようなアプリケーション(以下、単にアプリと称する場合がある)動作環境が提供されている。また、Java(登録商標)の持つプログラムの可搬性を利用して、拡張可能なアプリを提供する技術が提案されている。
画像形成装置の機能やユーザビィリティの向上を図るために、上記Java(登録商標)環境などの環境下で動作するアプリを作成して画像形成装置にインストールすることで、該アプリによる所望の機能を実現できる。
アプリプラットフォームとしては、組み込み機器向けのJava(登録商標)アプリプラットフォームである、OSGi(Open Services Gateway Initiative)Service Platform(以下、OSGi)がある。OSGiでは、ソフトウェアモジュールの管理単位としてバンドルを定義しており、インストール/開始/停止/更新/アンインストールからなるライフサイクルを管理するための仕様を定義している。ここで、バンドルとは、Java(登録商標)モジュールのことを指し、ここでは、アプリと同義である。このようなアプリプラットフォームは、コピー、スキャン、プリント等の組み込み機能をアプリに提供することができる。
アプリを画像形成装置にインストールする方法には、クライアント端末からネットワーク経由でインストールする方法と、USBメモリにアプリを格納しておき、画像形成装置にUSBメモリを挿すことで該アプリをインストールする方法と、が知られている。USBメモリを用いたアプリのインストール方法では、インストール済みのアプリが停止状態である場合、同一バージョンのアプリが入っているUSBメモリを挿すことで、該アプリの実行を開始することができる。
しかしながら、従来技術では、同一バージョンのアプリが停止状態でインストールされている場合、該アプリを意図的に停止させているのか、それとも意図せず停止させているのか、に関わらず、同一バージョンのアプリが入っているUSBメモリを挿すことで、該アプリを開始させてしまう。そのため、意図して(例えば、ユーザが指示して)停止していたアプリがインストールされている場合、同一バージョンのアプリが入っているUSBメモリを挿したときに、意図せずに該アプリを開始させてしまう可能性があり、その場合、インストールを行うユーザの負荷となっていた。
本発明では、アプリケーションと同名の同名アプリケーションの実行が停止しているケースであっても、該同名アプリケーションの実行の開始ができなかったか否かに応じて該アプリケーションのインストールの実行を制御するための技術を提供する。
本発明の一様態は、情報処理装置であって、前記情報処理装置に接続された記憶装置に格納されているアプリケーションを前記情報処理装置にインストールするインストール手段と、前記インストール手段により前記情報処理装置にインストールされたアプリケーションの実行を開始する開始手段とを備え、前記インストール手段は、前記記憶装置に格納されているアプリケーションと同名の同名アプリケーションが前記情報処理装置において動作中ではない場合、前記情報処理装置にインストール済みのそれぞれのアプリケーションの第1ログから、該同名アプリケーションの更新日時との差異が所定期間内である日時に前記情報処理装置にインストールされたアプリケーションの実行開始が失敗したことを示す第2ログが見つからなかった場合には、該アプリケーションを前記情報処理装置へのインストール対象から除外することを特徴とする。
本発明の構成によれば、アプリケーションと同名の同名アプリケーションの実行が停止しているケースであっても、該同名アプリケーションの実行の開始ができなかったか否かに応じて該アプリケーションのインストールの実行を制御することができる。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
[第1の実施形態]
本実施形態では、アプリケーション(コンピュータプログラム)が格納されたUSBメモリを、情報処理装置の一例である画像形成装置に接続して、該アプリケーションを該画像形成装置にインストール(クイックインストール)するケースについて説明する。なお、USBメモリは、画像形成装置に着脱可能なフラッシュメモリの一例にすぎず、USBメモリ以外の他の種類のフラッシュメモリを用いてもよい。
本実施形態では、アプリケーション(コンピュータプログラム)が格納されたUSBメモリを、情報処理装置の一例である画像形成装置に接続して、該アプリケーションを該画像形成装置にインストール(クイックインストール)するケースについて説明する。なお、USBメモリは、画像形成装置に着脱可能なフラッシュメモリの一例にすぎず、USBメモリ以外の他の種類のフラッシュメモリを用いてもよい。
先ず、本実施形態に係る画像形成装置のハードウェア構成例について、図1のブロック図を用いて説明する。図1に示す画像形成装置130は、印刷機能、スキャン機能、ネットワーク通信機能、などを有する複合機の一例である。
CPU101は、RAM103やROM102に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU101は、画像形成装置130全体の動作制御を行うとともに、画像形成装置130が行うものとして後述する各処理を実行もしくは制御する。
ROM102には、画像形成装置130において書き換え不要の設定データや、画像形成装置130の基本動作に係るコンピュータプログラムやデータ、画像形成装置130の起動に係るコンピュータプログラムやデータ、などが格納されている。
RAM103は、ROM102やHDD(ハードディスクドライブ)104からロードされたコンピュータプログラムやデータ、スキャナ部113からスキャナI/F108を介して出力された読み取り画像、を格納するためのエリアを有する。さらにRAM103は、ネットワークI/F106を介して外部装置から受信したコンピュータプログラムやデータを格納するためのエリアを有する。さらにRAM103は、USB I/F120に接続されたUSBメモリ121からCPU101が読みだしたコンピュータプログラムやデータ、を格納するためのエリアを有する。またRAM103は、CPU101や画像処理部109が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM103は、各種のエリアを適宜提供することができる。
このようなRAM103は、例えば、記憶している情報を画像形成装置130の電源をオフにした後も保持可能なFRAMやSRAM、記憶している情報が画像形成装置130の電源をオフにした後は消去されるDRAMなどにより構成される。
HDD104には、OS(オペレーティングシステム)や、画像形成装置130が行うものとして後述する各処理をCPU101に実行もしくは制御させるためのコンピュータプログラムやデータが保存されている。なお、RAM103に格納されるものとして説明するコンピュータプログラムやデータの一部若しくは全部をHDD104に保存させてもよい。HDD104に保存されているコンピュータプログラムやデータは、CPU101による制御に従って適宜RAM103にロードされ、CPU101による処理対象となる。
操作部118は、タッチパネル画面やボタンなどにより構成されており、画像や文字を表示する機能と、ユーザからの各種の操作入力(ユーザ操作)を受け付ける機能と、を有する。操作部118は操作部I/F105を介してバス119に接続されている。
ネットワークI/F106は、画像形成装置130がLAN116やWAN117などのネットワークを介して外部装置との間のデータ通信を行うための通信インターフェースである。
USB I/F120は、USBメモリ121を画像形成装置130に装着する(接続する)ためのインターフェースであり、画像形成装置130によるUSBメモリ121への情報の読み書きは、USB I/F120を介して行われる。
スキャナ部113は、不図示の原稿台に配置されたシートをスキャンすることで該シートの読み取り画像を生成し、該読み取り画像に対して各種の補正処理を施した後、補正処理済みの読み取り画像を出力する。スキャナ部113はスキャナI/F108を介してバス119に接続されている。画像処理部109は、画像の方向変換、画像の圧縮符号化、圧縮符号化された画像の伸長、などの各種の画像処理を行う。
プリンタ部114は、ネットワークI/F106を介して外部装置から受信した印刷データに基づく画像や文字、スキャナ部113から出力された読み取り画像、ユーザが操作部118を操作して指定した画像ファイルや文書ファイル、をシートに印刷する。プリンタ部114はプリンタI/F110を介してバス119に接続されている。
CPU101、ROM102、RAM103、HDD104、操作部I/F105、ネットワークI/F106、USB I/F120、スキャナI/F108、画像処理部109、プリンタI/F110は何れも、バス119に接続されている。
次に、画像形成装置130におけるソフトウェアモジュールの階層構造例について、図2のブロック図を用いて説明する。図2に示すそれぞれのソフトウェアモジュールは、ROM102やHDD104に格納/保存されており、CPU101による制御に従ってRAM103にロードされ、CPU101による処理対象となる。
図2に示す如く、画像形成装置130におけるソフトウェアモジュールは、OSプラットフォーム201とソフトウェアプラットフォーム202を有し、ソフトウェアプラットフォーム202は、OSプラットフォーム201上で動作するように構成されている。
ソフトウェアプラットフォーム202は、Java(登録商標)VM203のランタイム環境として構成されている。ソフトウェアプラットフォーム202は、インタプリタとしてのJava(登録商標)VM203、ライブラリ204、フレームワーク群205、システムサービスであるサービス207〜210、アプリ(アプリケーション)211、を有する。
ライブラリ204は、標準のApplication Programming Interface(API)ライブラリを含む。フレームワーク群205は、OSGi206および拡張部212を有する。OSGi206は、単一のJava(登録商標)VM203上で複数のアプリケーションを動作させる。拡張部212は、OSGi206の機能を必要に応じて拡張する。OSGi206は、アプリケーションのライフサイクルの管理機能やアプリケーション間通信機能などを提供する。画像形成装置130の起動時に、OSGi206は、HDD104に保存されているサービス起動順リストに従い、アプリケーション、サービス207、208などのシステムサービス、を起動していく。OSGi206上には、複数のシステムサービスがプリインストールされている。システムサービスには、複数のアプリケーションを管理し、新たなアプリケーションの追加、更新、削除をするためのサービス208がある。サービス208は、サービス207を利用して、アプリケーションの追加、更新、削除を行う。また、アプリケーション管理を目的とするUI(ユーザインターフェース)をサーブレットアプリとして提供する。サービス210は、USBメモリ121を管理するためのサービスである。USBメモリ121を画像形成装置130に接続すると、USB I/F120がUSBメモリ121の接続を認識し、該接続をUSBドライバを介してサービス210に通知する。USBメモリ121の内容は、USBドライバを介してUSB I/F120に伝わり、把握可能となる。サービス209は、クイックインストールを制御するサービスである。サービス209は、USBメモリ121が画像形成装置130に接続されたことをサービス210が認識すると、USBメモリ121に格納されているアプリケーションのうちインストールするアプリケーションを抽出する。そしてサービス209は、該抽出したアプリケーションを画像形成装置130(HDD104)にインストール(クイックインストール)する。USBメモリ121の接続の認識は、サービス210にイベントリスナーを登録することにより実現している。アプリ211は、画像形成装置130において各種機能を提供するために画像形成装置130(HDD104)にインストールされている。図2では説明を簡単にするために、1つのアプリ211がインストールされている状態を示しているが、複数のアプリ211がインストールされていてもよい。このようなアプリ211には、例えば、画像の加工や圧縮を行うアプリケーション、印刷制限などの部門管理を行うアプリケーションなどがある。アプリ211は、サービス208の管理下で動作する。サービス208は、管理下に追加されたアプリケーションのバージョンを含むアプリ情報およびライセンス情報などを保持している。さらにサービス208は、画像形成装置130内のアプリケーションのアンインストール指示に応答し、該アプリケーションを管理対象から外す。
次に、USBメモリ121に格納されているアプリケーションを画像形成装置130にインストール(クイックインストール)するための各ソフトウェアモジュールの動作について、図3のブロック図を用いて説明する。
画像形成装置130とLAN116またはWAN117を介して通信可能に接続されている外部装置としてのPC(パーソナルコンピュータ)300で動作しているWebブラウザ(不図示)には、アプリケーションのインストールUI301が表示されている。ユーザは画像形成装置130にインストールしたいアプリケーションを該インストールUI301を操作して指定し、インストール指示を入力する。ユーザがアプリケーションのインストール指示を入力すると、PC300は、インストールが指示されたアプリケーションを画像形成装置130に送信する。サービス208は、インストールが指示されたアプリケーションをPC300から受け取り、該受け取ったアプリケーションをサービス207に渡す。サービス207は、サービス208から受け取ったアプリケーションのインストールをOSGi206に依頼し、OSGi206はサービス207からインストールが依頼されたアプリケーションをHDD104にインストールする。HDD104にインストールされたアプリケーションは、サービス208によって管理される。
一方、USBメモリ121が画像形成装置130に接続されたことをUSB I/F120が認識すると、USB I/F120はその旨をサービス210に通知する。該通知を受け取ったサービス210は、「USBメモリ121が画像形成装置130に接続された」ことをサービス209に通知する。
USBメモリ121内のストレージ303には、フォルダ304(フォルダ名「quickinstall」)が格納されている。該フォルダ304には、アプリケーション305(ファイル名「app1.jar」)およびアプリケーション306(ファイル名「app2.jar」)が格納されている。
サービス209は、サービス210から上記の通知を受けると、USBメモリ121から、画像形成装置130にインストールするアプリケーションを取得する。HDD104には予め、画像形成装置130に固有のシリアル番号「ABC12345」と関連付けて「画像形成装置130にインストールできるアプリケーション」を示す情報が登録されている。よってサービス209は、この情報を参照することで、USBメモリ121に格納されているアプリケーションのうち画像形成装置130にインストールするアプリケーションを特定して取得することができる。本実施形態では、サービス209は、画像形成装置130にインストールするアプリケーションとして、アプリケーション305およびアプリケーション306を取得したとする。そしてサービス209は、該取得したアプリケーション305およびアプリケーション306をHDD104にインストールするためのインストール処理を行う。そしてサービス209は、インストールが完了したアプリケーションを順次起動して、実行を開始する。
なお、以下では、図2,3に示したソフトウェアモジュールを処理の主体として説明するが、実際には、該ソフトウェアモジュールをCPU101が実行することで、該ソフトウェアモジュールの機能が実現される。
次に、USBメモリ121に格納されているアプリケーションを画像形成装置130にインストール(クイックインストール)するために画像形成装置130が行う処理について、図7のフローチャートに従って説明する。なお、図7のフローチャートに従った処理は、サービス209がサービス210から「USBメモリ121が画像形成装置130に接続された」ことを示す通知を受けたこと応じて開始される。
ステップS702では、サービス209は、USBメモリ121のストレージ303に格納されているアプリケーションのうち画像形成装置130にインストールするアプリケーションを上記の如く取得する。そしてサービス209は、該取得したアプリケーションのリストをインストールタスクリストとして生成する。
ステップS703では、サービス209は、インストールタスクリストに登録されているアプリケーションのうち未選択のアプリケーションを選択アプリケーションとして選択する。そしてサービス209は、選択アプリケーションと同名のアプリケーション(同名アプリケーション)がすでに画像形成装置130にインストールされているか否かを判断する。
画像形成装置130のHDD104には、該画像形成装置130のHDD104にインストール済みのそれぞれのアプリケーションを管理するための管理情報が登録されている。管理情報の構成例を図5に示す。
列501には、HDD104にインストール済みのそれぞれのアプリケーションのファイル名(app名(拡張子は除く))が登録されている。列502には、HDD104にインストール済みのそれぞれのアプリケーションについて、該アプリケーションをHDD104にインストールした日時/最近該アプリケーションの実行を開始した日時/最近該アプリケーションの実行を停止した日時、である更新日時が登録されている。列503には、HDD104にインストール済みのそれぞれのアプリケーションについて、該アプリケーションが動作中(実行を開始している)の場合は「開始」、該アプリケーションが動作中ではない(実行を停止している)場合は「停止」、が登録されている。列504には、HDD104にインストール済みのそれぞれのアプリケーションについて、該アプリケーションがHDD104にインストール済みであるか否かを示すライセンスが登録されている。
HDD104にアプリケーションがインストールされると、サービス207は、列501〜504のそれぞれに、該アプリケーションのファイル名、更新日時、「停止」、「インストール済み」を登録する。
また、サービス207は、アプリケーションの実行が開始されると、列503において該アプリケーションに対応する箇所に「開始」を登録するとともに、列502に現在の日時(CPU101が有するタイマにより計時)を登録する。
また、サービス207は、アプリケーションの実行が停止されると、列503において該アプリケーションに対応する箇所に「停止」を登録するとともに、列502に現在の日時(CPU101が有するタイマにより計時)を登録する。
よって、ステップS703では、サービス209は、図5の管理情報の列501に、選択アプリケーションのファイル名が登録されているか否かを判断する。この判断の結果、図5の管理情報の列501に選択アプリケーションのファイル名が登録されている(同名アプリケーションがすでに画像形成装置130にインストールされている)場合には、処理はステップS704に進む。一方、図5の管理情報の列501に選択アプリケーションのファイル名が登録されていない(同名アプリケーションが画像形成装置130にインストールされていない)場合には、処理はステップS707に進む。
ステップS704では、サービス209は、画像形成装置130において同名アプリケーションの実行が停止しているか否かを判断する。例えば、サービス209は、図5の管理情報において同名アプリケーションに対応する行の列503に「停止」が登録されているか否かを判断する。
この判断の結果、図5の管理情報において同名アプリケーションに対応する行の列503に「停止」が登録されている(画像形成装置130において同名アプリケーションの実行が停止している)場合には、処理はステップS705に進む。一方、図5の管理情報において同名アプリケーションに対応する行の列503に「開始」が登録されている(画像形成装置130において同名アプリケーションが動作中である(実行を開始している))場合には、処理はステップS706に進む。
ステップS706では、サービス209は、インストールタスクリストから選択アプリケーションを削除することで、該選択アプリケーションを画像形成装置130へのインストール対象から除外する。
ステップS705では、サービス209は、同名アプリケーションの更新日時を図5の管理情報から取得する。そしてサービス209は、該取得した更新日時との差異が所定期間内の日時に画像形成装置130にインストールを行ったものの、その実行開始を失敗したアプリケーションがあったか否かを判断する。
ここで、USBメモリ121には、USBメモリ121から画像形成装置130にインストールを行うそれぞれのアプリケーションのログが登録されている。このようなログの構成例を図4に示す。図4では、USBメモリ121から画像形成装置130にインストールを行うそれぞれのアプリケーションのログが登録されている管理情報の構成例を示している。
列401には、USBメモリ121から画像形成装置130にインストールを行うそれぞれのアプリケーションについて、該インストールを開始した日付が登録されている。
列402には、USBメモリ121から画像形成装置130にインストールを行うそれぞれのアプリケーションについて、該インストールを開始した時間が登録されている。
列403には、USBメモリ121から画像形成装置130にインストールを行うそれぞれのアプリケーションについて、該アプリケーションの状態を示す状態ログが登録されている。例えば、アプリケーションのインストール中は、「1個のアプリをインストール中」を示す状態ログが、該アプリケーションの状態ログとして登録される。また、インストールを行ったアプリケーションの実行開始が失敗した場合には、「アプリをインストールした後のアプリ開始失敗」を示す状態ログが、該アプリケーションの状態ログとして登録される。
よって、ステップS705でサービス209は、同名アプリケーションの更新日時との差異が所定期間内の日付および時間と「アプリをインストールした後のアプリ開始失敗」を示す状態ログとを含むログが図4の管理情報に登録されているか否かを判断する。
この判断の結果、登録されていると判断した場合(「同名アプリケーションの更新日時との差異が所定期間内の日時に画像形成装置130にインストールを行ったが実行開始を失敗したアプリケーション」があった場合)には、処理はステップS707に進む。一方、登録されていないと判断した場合(「同名アプリケーションの更新日時との差異が所定期間内の日時に画像形成装置130にインストールを行ったが実行開始を失敗したアプリケーション」は無かった場合)には、処理はステップS706に進む。
例えば、選択アプリケーションが「app1.jar」である場合、同名アプリケーションの列504には「インストール済み」が登録されており、列503には「停止」が登録されている。よってサービス209は、該同名アプリケーションの更新日時「2019/04/22 16:26:02」を列502から取得する。そしてサービス209は、図4の管理テーブルから、更新日時「2019/04/22 16:26:02」および状態ログ「App1アプリをインストールした後のアプリ開始失敗」を含むログを検索する。図4の管理情報には、このようなログが登録されているので、サービス209は、選択アプリケーションについては、ステップS707の処理を行う。
ステップS707では、サービス209は、選択アプリケーションをHDD104にインストールする。その際、サービス209は、選択アプリケーションのインストールを開始した日付および時間(CPU101が有するタイマにより計時されている)と、選択アプリケーションの状態(状態ログ)と、を含むログを生成してRAM103に格納する。
選択アプリケーションのインストールが行われると、サービス207は、選択アプリケーションのファイル名、現在の日時、状態「停止」、ライセンス「インストール済み」のセットを、図5の管理情報に登録する。なお、サービス207は、選択アプリケーションのファイル名がすでに図5の管理情報に登録されていた場合には、選択アプリケーションのファイル名が登録されている行における列502〜504のそれぞれに、現在の日時、状態「停止」、ライセンス「インストール済み」を上書きする。
ステップS708では、サービス209は、インストールタスクリストに登録されている全てのアプリケーションを選択アプリケーションとして選択したか否かを判断する。この判断の結果、インストールタスクリストに登録されている全てのアプリケーションを選択アプリケーションとして選択した場合には、処理はステップS709に進む。一方、インストールタスクリストに登録されているアプリケーションのうち未だ選択アプリケーションとして選択してないアプリケーションが残っている場合には、処理はステップS703に進む。
ステップS709では、サービス209は、インストールタスクリストに登録されているアプリケーションのうち未選択のアプリケーションを選択アプリケーションとして選択し、該選択アプリケーションの実行を開始する。その際、サービス209は、選択アプリケーションのインストールを開始した日付および時間(CPU101が有するタイマにより計時されている)と、選択アプリケーションの状態(状態ログ)と、を含むログを生成してRAM103に格納する。
ステップS710では、サービス207は、ステップS707でRAM103に格納した選択アプリケーションのログおよびステップS709でRAM103に格納した選択アプリケーションのログを、図4の管理情報に登録する。
ステップS711では、サービス209は、インストールタスクリストに登録されている全てのアプリケーションを選択アプリケーションとして選択したか否かを判断する。この判断の結果、インストールタスクリストに登録されている全てのアプリケーションを選択アプリケーションとして選択した場合には、図7のフローチャートに従った処理は終了する。一方、インストールタスクリストに登録されているアプリケーションのうち未だ選択アプリケーションとして選択してないアプリケーションが残っている場合には、処理はステップS709に進む。
USBメモリ121に格納されているアプリケーションを画像形成装置130にインストール(クイックインストール)するために画像形成装置130が行う処理の変形例について、図8のフローチャートに従って説明する。図8のフローチャートに従った処理は、サービス209がサービス210から「USBメモリ121が画像形成装置130に接続された」ことを示す通知を受けたこと応じて開始される。図8のフローチャートにおいて、図7に示した処理ステップと同様の処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
ステップS804では、サービス209は、画像形成装置130にインストール済みの同名アプリケーションのバージョンが、選択アプリケーションのバージョンと同じであるか否かを判断する。この判断の結果、同じであると判断した場合には、処理はステップS805に進み、同じではないと判断した場合には、処理はステップS707に進む。
ステップS805では、サービス209は、画像形成装置130において同名アプリケーション(選択アプリケーションと同じバージョンの同名アプリケーション)の実行が停止しているか否かを判断する。この判断は、上記のステップS704と同様にして行う。そして、この判断の結果、画像形成装置130において同名アプリケーション(選択アプリケーションと同じバージョンの同名アプリケーション)の実行が停止している場合には、処理はステップS806に進む。一方、この判断の結果、画像形成装置130において同名アプリケーション(選択アプリケーションと同じバージョンの同名アプリケーション)の実行が停止していない場合には、処理はステップS706に進む。
ステップS806では、サービス209は、同名アプリケーション(選択アプリケーションと同じバージョンの同名アプリケーション)の更新日時を図5の管理情報から取得する。そしてサービス209は、該取得した更新日時との差異が所定期間内の日時に画像形成装置130にインストールを行ったものの、その実行開始を失敗したアプリケーションがあったか否かを判断する。この判断は、上記のステップS705と同様にして行う。この判断の結果、あったと判断した場合には、処理はステップS707に進み、なかったと判断した場合には、処理はステップS706に進む。
このように、本実施形態によれば、USBメモリ121に格納されているアプリケーションと同名の同名アプリケーションの実行が意図して開始されていない場合に、USBメモリ121から該アプリケーションをインストールして実行を開始することができる。
[第2の実施形態]
本実施形態を含む以下の各実施形態では、第1の実施形態との差分について説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。本実施形態では、同名アプリケーション(選択アプリケーションと同じバージョンの同名アプリケーション)の更新日時との差異が所定期間内の日付および時間と「アプリをインストールした後のアプリ開始失敗」を示す状態ログとを含むログが図4の管理情報に登録されていない場合、同様のログがHDD104に保存されていれば、該選択アプリケーションをインストールし、保存されていなければ、該選択アプリケーションをインストール対象から除外する。
本実施形態を含む以下の各実施形態では、第1の実施形態との差分について説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。本実施形態では、同名アプリケーション(選択アプリケーションと同じバージョンの同名アプリケーション)の更新日時との差異が所定期間内の日付および時間と「アプリをインストールした後のアプリ開始失敗」を示す状態ログとを含むログが図4の管理情報に登録されていない場合、同様のログがHDD104に保存されていれば、該選択アプリケーションをインストールし、保存されていなければ、該選択アプリケーションをインストール対象から除外する。
本実施形態では、HDD104にクイックインストールされたアプリケーションに係るログを該HDD104に保持している。HDD104に保持しているログの構成例を図6に示す。図6には、HDD104にクイックインストールしたそれぞれのアプリケーションに係るログをテーブル形式で示している。
サービス209は、アプリケーションのインストールを行うと、該インストールの日付および時間、該アプリケーションの状態ログ、をRAM103に格納する。また、サービス209は、インストールしたアプリケーションの実行を開始した際には、該開始の日付および時間、該アプリケーションの状態ログ、をRAM103に格納する。そしてサービス209は、全てのアプリケーションのインストールおよび実行開始が完了すると、RAM103に格納した上記の情報を図6の管理情報に登録する。
図6の管理情報において列601には、アプリケーションをインストールした日付もしくはインストールしたアプリケーションの実行を開始した日付が更新日付として登録されている。列602には、アプリケーションをインストールした時間もしくはインストールしたアプリケーションの実行を開始した時間が更新時間として登録されている。列603には、アプリケーションの状態を示す状態ログが登録されている。例えば、インストール中のアプリケーションの状態ログは「1個のアプリをインストール中」であり、実行の開始が失敗したアプリケーションの状態ログは「アプリをインストールした後のアプリ開始失敗」である。
USBメモリ121に格納されているアプリケーションを画像形成装置130にインストール(クイックインストール)するために画像形成装置130が行う処理について、図9のフローチャートに従って説明する。図9のフローチャートに従った処理は、サービス209がサービス210から「USBメモリ121が画像形成装置130に接続された」ことを示す通知を受けたこと応じて開始される。図9のフローチャートにおいて、図7、8に示した処理ステップと同様の処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
ステップS906では、サービス209は、同名アプリケーション(選択アプリケーションと同じバージョンの同名アプリケーション)の更新日時を図5の管理情報から取得する。そしてサービス209は、該取得した更新日時との差異が所定期間内の日付および時間と「アプリをインストールした後のアプリ開始失敗」を示す状態ログとを含むログが図4の管理情報に登録されているか否かを判断する。
このような判断の結果、登録されていると判断した場合には、処理はステップS707に進む。一方、このような判断の結果、登録されていないと判断した場合には、処理はステップS907に進む。
例えば、選択アプリケーションが「app2.jar」であるとすると、サービス209は、図5の管理情報から、選択アプリケーションの更新日時「2019/02/10 12:01:34」を取得する。そしてサービス209は、図4の管理情報から、更新日時「2019/02/10 12:01:34」を含むログを検索する。図4に示す如く、図4の管理情報には、更新日時「2019/02/10 12:01:34」を含むログは存在しないので、この場合、処理はステップS907に進む。
ステップS907ではサービス209は、選択アプリケーションの更新日時との差異が所定期間内の日時(日付および時間)と「アプリをインストールした後のアプリ開始失敗」を示す状態ログとを含むログが図6の管理情報に登録されているか否かを判断する。この判断の結果、登録されていると判断した場合には、処理はステップS707に進み、登録されていないと判断した場合には、処理はステップS706に進む。
例えば、選択アプリケーションが「app2.jar」であるとする。このとき、サービス209は、図6の管理情報から、更新日時「2019/02/10 12:01:34」および「アプリをインストールした後のアプリ開始失敗」を示す状態ログとを含むログを検索する。図6に示す如く、図6の管理情報には、このようなログは含まれているので、この場合、処理はステップS707に進む。
なお、本実施形態では、ステップS710では、ステップS707でRAM103に格納したログおよびステップS709でRAM103に格納したログを、図6の管理情報にも登録する。
このように、本実施形態によれば、USBメモリ121に格納されているアプリケーションと同名の同名アプリケーションの実行開始が失敗していることを判断するためのログをHDD104にも保存しておく。これにより、このようなログがUSBメモリ121に保存されていなくても、同名アプリケーションの実行が開始されていない場合に、USBメモリ121からアプリケーションをインストールして実行を開始することができる。
[第3の実施形態]
本実施形態では、同名アプリケーション(選択アプリケーションと同じバージョンの同名アプリケーション)の更新日時との差異が所定期間内の日付および時間と「アプリをインストールした後のアプリ開始失敗」を示す状態ログとを含むログがUSBメモリ121にもHDD104にも登録されていない場合には、ユーザからの指示に応じて該選択アプリケーションに係る処理を制御する。
本実施形態では、同名アプリケーション(選択アプリケーションと同じバージョンの同名アプリケーション)の更新日時との差異が所定期間内の日付および時間と「アプリをインストールした後のアプリ開始失敗」を示す状態ログとを含むログがUSBメモリ121にもHDD104にも登録されていない場合には、ユーザからの指示に応じて該選択アプリケーションに係る処理を制御する。
USBメモリ121に格納されているアプリケーションを画像形成装置130にインストール(クイックインストール)するために画像形成装置130が行う処理について、図10のフローチャートに従って説明する。図10のフローチャートに従った処理は、サービス209がサービス210から「USBメモリ121が画像形成装置130に接続された」ことを示す通知を受けたこと応じて開始される。図10のフローチャートにおいて、図7,8、9に示した処理ステップと同様の処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
ステップS1007では、上記のステップS907と同様の判断が行われ、該判断の結果、登録されていると判断した場合には、処理はステップS707に進み、登録されていないと判断した場合には、処理はステップS1008に進む。
例えば、選択アプリケーションが「app3.jar」であるとすると、サービス209は、図5の管理情報から、選択アプリケーションの更新日時「2019/07/08 09:06:17」を取得する。そしてサービス209は、図4の管理情報および図6の管理情報から、更新日時「2019/07/08 09:06:17」を含むログを検索する。図4,6に示す如く、図4の管理情報にも図6の管理情報にも、更新日時「2019/07/08 09:06:17」を含むログは存在しないので、処理はステップS1008に進む。
ステップS1008では、サービス209は、操作部118が有するタッチパネル画面に、選択アプリケーションのインストールを行うか否かをユーザに選択させるための選択UIを表示させる。選択UIの構成例を図11に示す。図11に例示する選択UIにおいてユーザがボタン1101をタッチしたことをサービス209が検知すると、処理はステップS707に進み、ユーザがボタン1102をタッチしたことをサービス209が検知すると、処理はステップS706に進む。
このように、本実施形態によれば、USBメモリ121に格納されているアプリケーションと同名の同名アプリケーションの実行開始が失敗していることを判断するためのログがUSBメモリ121にもHDD104にも保存されていなくても、USBメモリ121からアプリケーションをインストールして実行を開始する一連の処理を、ユーザの意図に応じて制御することができる。
[第4の実施形態]
図4,5,6に示した管理情報の構成は一例であり、このような構成に限るものではない。また、上記の各実施形態において、各処理を実行する主体として説明したソフトウェアモジュールは一例である。つまり、ソフトウェアモジュールAが行うものとして説明した処理をソフトウェアモジュールBが行ってもよいし、1つのソフトウェアモジュールが行うものとして説明した処理を複数のソフトウェアモジュールによって行ってもよい。また、複数のソフトウェアモジュールの処理を1つのソフトウェアモジュールが行うようにしてもよい。
図4,5,6に示した管理情報の構成は一例であり、このような構成に限るものではない。また、上記の各実施形態において、各処理を実行する主体として説明したソフトウェアモジュールは一例である。つまり、ソフトウェアモジュールAが行うものとして説明した処理をソフトウェアモジュールBが行ってもよいし、1つのソフトウェアモジュールが行うものとして説明した処理を複数のソフトウェアモジュールによって行ってもよい。また、複数のソフトウェアモジュールの処理を1つのソフトウェアモジュールが行うようにしてもよい。
また、上記の各実施形態では、アプリケーションのインストール先を複合機などの画像形成装置としたが、インストール先は画像形成装置に限らず、例えば、PC、スマートフォン、タブレット端末装置などのコンピュータ装置であってもよい。
また、上記の説明において使用した数値、処理タイミング、処理順などは、具体的な説明を行うために一例として挙げたものであり、これらの数値、処理タイミング、処理順などに限定することを意図したものではない。
また、以上説明した各実施形態の一部若しくは全部を適宜組み合わせて使用しても構わない。また、以上説明した各実施形態の一部若しくは全部を選択的に使用しても構わない。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
201:OSプラットフォーム 202:ソフトウェアプラットフォーム 203:Java(登録商標)VM 204:ライブラリ 205:フレームワーク群 207:サービス 208:サービス 209:サービス 210:サービス 211:アプリ
Claims (9)
- 情報処理装置であって、
前記情報処理装置に接続された記憶装置に格納されているアプリケーションを前記情報処理装置にインストールするインストール手段と、
前記インストール手段により前記情報処理装置にインストールされたアプリケーションの実行を開始する開始手段と
を備え、
前記インストール手段は、
前記記憶装置に格納されているアプリケーションと同名の同名アプリケーションが前記情報処理装置において動作中ではない場合、前記情報処理装置にインストール済みのそれぞれのアプリケーションの第1ログから、該同名アプリケーションの更新日時との差異が所定期間内である日時に前記情報処理装置にインストールされたアプリケーションの実行開始が失敗したことを示す第2ログが見つからなかった場合には、該アプリケーションを前記情報処理装置へのインストール対象から除外する
ことを特徴とする情報処理装置。 - 前記インストール手段は、
前記記憶装置に格納されている第1ログから第2ログが見つからなった場合には、前記情報処理装置に格納されている第1ログから第2ログを検索し、前記情報処理装置に格納されている第1ログから第2ログが見つからなかった場合には、前記アプリケーションを前記情報処理装置へのインストール対象から除外する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記インストール手段は、
前記記憶装置に格納されている第1ログからも、前記情報処理装置に格納されている第1ログからも、第2ログは見つからなかった場合には、前記アプリケーションを前記情報処理装置にインストールするか否かをユーザに選択させるための画面を前記情報処理装置の画面に表示し、該画面に対するユーザ操作に応じて、前記情報処理装置への前記アプリケーションのインストールの実行を制御する
ことを特徴とする請求項1に記載の情報処理装置。 - 更に、
前記インストール手段により前記情報処理装置にインストールされたアプリケーションの第1ログを前記記憶装置に格納する手段を備えることを特徴とする請求項1ないし3の何れか1項に記載の情報処理装置。 - 前記記憶装置に格納されているアプリケーションと同名の同名アプリケーションは、該アプリケーションと同じバージョンのアプリケーションであることを特徴とする請求項1ないし4の何れか1項に記載の情報処理装置。
- 前記記憶装置は、前記情報処理装置に着脱可能なフラッシュメモリであることを特徴とする請求項1ないし5の何れか1項に記載の情報処理装置。
- 前記情報処理装置は、印刷機能およびスキャン機能を有する画像形成装置であることを特徴とする請求項1ないし6の何れか1項に記載の情報処理装置。
- 情報処理装置が行う情報処理方法であって、
前記情報処理装置のインストール手段が、前記情報処理装置に接続された記憶装置に格納されているアプリケーションを前記情報処理装置にインストールするインストール工程と、
前記情報処理装置の開始手段が、前記インストール工程で前記情報処理装置にインストールされたアプリケーションの実行を開始する開始工程と
を備え、
前記インストール工程では、
前記記憶装置に格納されているアプリケーションと同名の同名アプリケーションが前記情報処理装置において動作中ではない場合、前記情報処理装置にインストール済みのそれぞれのアプリケーションの第1ログから、該同名アプリケーションの更新日時との差異が所定期間内である日時に前記情報処理装置にインストールされたアプリケーションの実行開始が失敗したことを示す第2ログが見つからなかった場合には、該アプリケーションを前記情報処理装置へのインストール対象から除外する
ことを特徴とする情報処理方法。 - コンピュータを、請求項1ないし7の何れか1項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020045608A JP2021149191A (ja) | 2020-03-16 | 2020-03-16 | 情報処理装置、情報処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020045608A JP2021149191A (ja) | 2020-03-16 | 2020-03-16 | 情報処理装置、情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021149191A true JP2021149191A (ja) | 2021-09-27 |
Family
ID=77851254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020045608A Pending JP2021149191A (ja) | 2020-03-16 | 2020-03-16 | 情報処理装置、情報処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021149191A (ja) |
-
2020
- 2020-03-16 JP JP2020045608A patent/JP2021149191A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI480803B (zh) | 獨立作業系統間之共享檔案系統管理 | |
TWI250451B (en) | Method and system for creating and employing an operating system having selected functionality | |
JP2011013809A (ja) | 情報処理装置、情報処理システムの制御方法およびプログラム | |
JP7098427B2 (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
US9965299B2 (en) | Information processing apparatus, method for controlling the same, and storage medium | |
TWI450090B (zh) | 關於改變程式之啟動列表以判定電腦系統性能是否增進之方法及系統 | |
US20150058835A1 (en) | Information processing apparatus, control method thereof, and storage medium | |
JP2013218510A (ja) | 情報処理装置、情報処理装置のプログラム更新方法、及びプログラム | |
JP2017107341A (ja) | 情報処理装置、ファームウェア更新方法、およびプログラム | |
JP4695348B2 (ja) | カード型メモリ、画像形成装置、画像形成装置起動方法 | |
JP2021149191A (ja) | 情報処理装置、情報処理方法 | |
US9940334B2 (en) | Image forming apparatus and control method thereof | |
US8237951B2 (en) | Intermediate stage emulation of firmware on connected host | |
JP2002123401A (ja) | 処理装置、管理装置、記録媒体およびプログラム | |
JP2002222106A (ja) | クライアント/サーバシステムにおけるクライアントの環境設定装置、方法、プログラム記録媒体およびプログラム | |
JP2018077690A (ja) | アプリケーションの実行環境の違いに依る互換性を考慮したインストール、及びファームアップ方法 | |
JP6057740B2 (ja) | 画像形成装置、情報処理方法及びプログラム | |
JP6812249B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2016207123A (ja) | アプリケーションパッケージおよび電子機器 | |
JP6740632B2 (ja) | 情報処理システム、画面表示情報生成方法、電子機器及びブラウザプログラム | |
JP2019133509A (ja) | コンテナ収容装置、システム、コンテナ収容方法及びプログラム | |
JP2019046001A (ja) | アプリケーション移植支援装置、アプリケーション移植支援プログラムおよびアプリケーション移植方法 | |
JP7080061B2 (ja) | 画像処理装置 | |
CN108196896B (zh) | 操作系统切换方法及装置 | |
JP2010176567A (ja) | 情報処理装置、情報処理システム、それらの制御方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |