JP2020201719A - 情報処理装置とその制御方法、及びプログラム - Google Patents

情報処理装置とその制御方法、及びプログラム Download PDF

Info

Publication number
JP2020201719A
JP2020201719A JP2019108229A JP2019108229A JP2020201719A JP 2020201719 A JP2020201719 A JP 2020201719A JP 2019108229 A JP2019108229 A JP 2019108229A JP 2019108229 A JP2019108229 A JP 2019108229A JP 2020201719 A JP2020201719 A JP 2020201719A
Authority
JP
Japan
Prior art keywords
application
information processing
server
update
processing apparatus
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
Application number
JP2019108229A
Other languages
English (en)
Inventor
正徳 坪井
Masanori Tsuboi
正徳 坪井
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 JP2019108229A priority Critical patent/JP2020201719A/ja
Priority to US16/895,187 priority patent/US11200036B2/en
Publication of JP2020201719A publication Critical patent/JP2020201719A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency analysis; Data or control flow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】インストール済みのアプリケーション間に依存関係があり、かつ限られたHDD資源の中で、空き容量を考慮しながらアップデートを行う技術を提供する。【解決手段】サーバからアプリケーションを格納手段にダウンロードする情報処理装置であって、格納手段に格納されているアプリケーションのアップデートが指示されると、その指示に応じて、サーバからアプリケーションの属性情報を取得する。その属性情報に基づいて、アプリケーションと依存関係にあるアプリケーションを検索し、アップデートするアプリケーションと、検索された、アプリケーションと依存関係にあるアプリケーションと、を格納できる空き領域を格納手段に確保できるか判定する。空き領域を確保できると判定すると、アップデートするアプリケーションと、当該アプリケーションと依存関係にあるアプリケーションと、をサーバからダウンロードする。【選択図】図7

Description

本発明は、情報処理装置とその制御方法、及びプログラムに関する。
アプリケーションの開始、停止など、アプリケーションのライフサイクルを管理するフレームワークとしてOSGi(Open Services Gateway initiative)AllianceからOSGiフレームワークが提唱されている。OSGiフレームワークでは、アプリケーションの形式をJava(登録商標)の圧縮フォーマットであるjarファイルとして規定している。jarファイルは、複数のクラスファイルをアーカイブとして1つにまとめたものである。内部にMANIFEST.MFというマニフェストファイルを1つ持っており、jarファイルの説明が記載される。このマニフェストファイルにOSGi仕様の属性を記載することで、記載された属性に従ってOSGiフレームワークはアプリケーションのライフサイクルを管理する。
画像形成装置において、アプリケーションを後入れでインストールして搭載することが試みられており、上記OSGiフレームワークに準拠した仕組みを搭載した画像形成装置も普及している。またマニフェストファイルにOSGi仕様の属性だけでなく、アプリケーションのIDや、最大HDD使用容量などの独自の属性を定義することで、拡張したものもみられる。
アプリケーションのインストールを扱った文献として、例えば特許文献1、特許文献2がある。特許文献1には、アプリケーションのインストールに必要なHDDの容量を表示することが記載されている。また特許文献2には、アプリケーションのインストール順やインストール時の設定を考慮して、アプリケーションをインストールすることが記載されている。
特開2000−76048号公報 特開2010−33421号公報
しかしながら、インストール済みのアプリケーション間に依存関係があり、かつ画像形成装置のような限られたHDD資源の中で、そのHDDの空き容量を考慮しながらアップデートを行うような場合は、先行技術では解決できない。
本発明の目的は、上記従来技術の問題点の少なくとも一つを解決することにある。
本発明の目的は、アプリケーションの依存関係と格納領域の空き容量を考慮しながら、アプリケーションのアップデートを行うことができる技術を提供することにある。
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
サーバからアプリケーションをダウンロードする情報処理装置であって、
アプリケーションを格納する格納手段と、
前記格納手段に格納されているアプリケーションのアップデートを指示する指示手段と、
前記指示手段による指示に応じて、前記サーバから前記アプリケーションの属性情報を取得する取得手段と、
前記属性情報に基づいて、前記アプリケーションと依存関係にあるアプリケーションを検索する検索手段と、
アップデートする前記アプリケーションと、検索された前記アプリケーションと依存関係にあるアプリケーションとを格納できる空き領域を前記格納手段に確保できるかどうか判定する判定手段と、
前記判定手段が前記空き領域を確保できると判定すると、前記アップデートするアプリケーションと、当該アプリケーションと依存関係にあるアプリケーションとを前記サーバからダウンロードするダウンロード手段と、を有することを特徴とする。
本発明によれば、アプリケーションの依存関係と格納領域の空き容量を考慮しながら、アプリケーションのアップデートを行うことができるという効果がある。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
本発明の実施形態1に係る画像形成装置を含むネットワークシステムの構成図。 実施形態1に係る画像形成装置のハードウェア構成を説明するブロック図。 実施形態1に係るサーバのハードウェア構成を説明するブロック図。 実施形態1に係る画像形成装置のソフトウェア構成を説明するブロック図。 実施形態1に係るサーバのソフトウェア構成を説明するブロック図。 実施形態1に係る画像形成装置で動作するアプリケーションの構成を説明する図。 実施形態1に係る画像形成装置とサーバが、ユーザの指示により画像形成装置にインストール済みのアプリケーションをアップデートするときの処理を示すシーケンス図。 実施形態1に係る画像形成装置におけるアプリケーションのアップデート処理を説明するフローチャート。 実施形態1に係る画像形成装置の表示部に表示されるアップデートメニュー画面例を示す図。 実施形態1に係る画像形成装置の表示部に表示される新しいバージョンのアプリケーションの一覧表示例を示す図。 実施形態1に係る画像形成装置の表示部に表示される画面例を示す図。 実施形態1に係る画像形成装置の表示部に表示される他の画面例を示す図。 実施形態1に係る画像形成装置の表示部に表示されるアップデートの完了画面の一例を示す図。 実施形態2に係る画像形成装置におけるアプリケーションのアップデート処理を説明するフローチャート。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これら複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一もしくは同様の構成に同一の参照番号を付し、重複した説明は省略する。また実施形態では、本発明の情報処理装置の一例として、例えば複合機のような画像形成装置を例に説明するが、本発明はこれに限定されるものでない。
[実施形態1]
図1は、本発明の実施形態1に係る画像形成装置101を含むネットワークシステムの構成図である。
画像形成装置101は、一台でプリンタ、スキャナ、コピー、FAXなどの機能を備えた複合機である。この画像形成装置101は、この画像形成装置に固有の個体番号(識別情報)を有する。コンテンツ配信サーバ102(以下、サーバ102)は、画像形成装置101で動作するアプリケーション601(図6)を配信するために使用される。ネットワーク103は、インターネットなどのネットワークであり、画像形成装置101は、ネットワーク103を介してサーバ102と通信を行うことができる。
図2は、実施形態1に係る画像形成装置101のハードウェア構成を説明するブロック図である。
CPU(Central Processing Unit)201は、各種プログラムを実行し、様々な機能を実現する。ROM(Read Only Memory)202は、各種プログラムを記憶している。RAM(Random Access Memory)203は、CPU201が動作するためのシステムワークメモリを提供し、また各種データを一時記憶するのに使用される。CPU201は、ROM202に記憶されているブートプログラムを実行してHDD204に格納されているプログラムをRAM203に展開し、その展開したプログラムを実行して、画像形成装置101の動作を制御している。RAM203は、記憶した内容を電源オフ後も保持可能なFRAM(登録商標)及びSRAM、更には電源オフ後に記憶内容が消去されるDRAM等を含んでいる。HDD(ハードデスクドライブ)204は、各種プログラムやデータなどを記憶する大容量の不揮発記憶部である。操作部205は、画像形成装置101を操作するためのユニットで、ハードキーやポインティングデバイスなどを含む。表示部206は、画像形成装置101のUIを表示するためのユニットで、操作部205と一体に設けられている。印刷部207は、バス210を介して受け取ったラスタイメージを始めとする各種イメージデータに従って記録媒体(シート)に画像を印刷する。スキャナ部208は、原稿台に置かれた原稿を読み取って、その原稿の画像に対応するイメージデータを生成する。ネットワーク部209は、ネットワーク103と接続し、ネットワーク103を介してサーバ102と通信することができる。以上説明してきた各部は、バス210を介して相互にデータの送受信を行うことが可能である。
図3は、実施形態1に係るサーバ102のハードウェア構成を説明するブロック図である。
CPU301は、ROM302に記憶されているブートプログラムを実行してHDD304にインストールされているプログラムをRAM303に展開し、その展開したプログラムを実行して、このサーバ102の動作を制御する。RAM303は、CPU301が動作するためのシステムワークメモリを提供し、また各種データを一時記憶するのに使用される。HDD304は、各種プログラムやデータなどを記憶する。操作部305は、ユーザインタフェースを提供し、ハードキーやポインティングデバイス、更には表示部306を有している。ネットワーク部209は、ネットワーク103と接続し、ネットワーク103を介して画像形成装置101と通信することができる。
図4は、実施形態1に係る画像形成装置101のソフトウェア構成を説明するブロック図である。ここに示されている各構成部を実現するプログラムは、HDD204に記憶されている。そして前述したように、CPU201が、そのプログラムをRAM203に展開して実行することにより、このブロック図で示す各部の機能が実現される。
記憶部401は、画像形成装置101で動作するアプリケーション601(図6)本体とマニフェストファイル602(図6)の情報をHDD204に記憶する。更に、アプリケーションが利用可能なHDD204の容量情報を記憶する。尚、実施形態1では、HDDの容量として説明しているが、別の資源であってもよい。例えば、メモリやそれ以外のソフトウェア資源の情報であってもよい。ダウンロード部402は、画像形成装置101で動作するアプリケーション601をサーバ102から取得(ダウンロード)するための処理を行う。アップデート部403は、記憶部401が記憶しているアプリケーション601をアップデートする。またアップデート部403は、アプリケーション601がインストール済みでない場合は、記憶部401により新規インストールする。UI制御部404は、表示部206に表示する画面を制御する。アプリケーション管理部405は、アプリケーションの開始、停止を管理する。
図5は、実施形態1に係るサーバ102のソフトウェア構成を説明するブロック図である。ここに示されている各構成部を実現するプログラムは、HDD304に記憶されている。そして前述したように、CPU301が、そのプログラムをRAM303に展開して実行することにより、このブロック図で示す各部の機能が実現される。
記憶部501は、アプリケーション601本体と、マニフェストファイル602の情報をHDD304に記憶する。検索部502は、アプリケーション601のマニフェストファイル602に記載されたアプリケーション601のApplication−Idによりアプリケーションを特定し、Bundle−Versionの数値比較により、バージョンアップするアプリケーションを特定する。配信部503は、アプリケーション601のマニフェストファイル602の情報とアプリケーション601本体を画像形成装置101に配信する。
図6は、実施形態1に係る画像形成装置101で動作するアプリケーション601の構成を説明する図である。
ここでアプリケーション601はjarファイル形式であるため、マニフェストファイル602を含む。アプリケーションの本体は、クラスファイル603である。マニフェストファイル602は、アプリケーション601の属性情報を記載している。
例えば、Bundle−Nameは、アプリケーションの名前を示し、ここでは「A」である。Bundle−Versionは、アプリケーションのバージョンを示し、ここではバージョンは1.0である。Import−Packageは、アプリケーション601がインポートするパッケージを示し、Export−Packageは、アプリケーション601がエクスポートするパッケージを示している。Application−Idは、アプリケーション601の識別子で、ここでは「10000000」である。MaximumFilespaceUsageは、アプリケーション601の最大HDDの使用量を示し、ここでは「100」メガバイトである。
図7は、実施形態1に係る画像形成装置101とサーバ102が、ユーザの指示により画像形成装置101にインストール済みのアプリケーション601をアップデートするときの処理を示すシーケンス図である。
S701でユーザがアプリケーションのアップデートメニューを表示して、アプリケーションのアップデートを指示する。具体的には、ユーザは、UI制御部404が表示するUI画面で、アプリケーションのアップデートを指示する。
図9は、実施形態1に係る画像形成装置101の表示部206に表示されるアップデートメニュー画面例を示す図である。
ユーザは、この画面で、アプリケーションアップデートボタン902を押下することにより、アプリケーションのアップデートを指示する。
次にS702で画像形成装置101のアップデート部403は、記憶部401が保持するマニフェストファイル602の情報に基づいて、画像形成装置101にインストール済みアプリケーションの一覧情報(具体的には、Application−IdとBundle−Versionの情報)をサーバ102に送信する。ここでは、アプリケーションID(識別情報)と、そのアプリケーションのバージョンをサーバ102に送信する。これによりサーバ102は、画像形成装置101から受信したアプリケーションIDに基づいてアプリケーションを特定して、画像形成装置101にインストールされているバージョンより新しいバージョンのアプリケーションを検索する。
S703でサーバ102の検索部502は、S702で受信した情報に基づいて、アプリケーション601のマニフェストファイル602に記載されたApplication−Idと一致するアプリケーションを検索し、Bundle−Versionの数値比較により、新しいバージョンのアプリケーションを特定する。
そしてS704でサーバ102の配信部503は、S703で検索した新しいバージョンのアプリケーションのリスト情報(具体的には、マニフェストファイル602の情報)を画像形成装置101に送信する。これによりS705で画像形成装置101のUI制御部404は、サーバ102から受信した新しいバージョンのアプリケーションのリスト(具体的にはBundle−NameとBundle−Versionの情報)を表示部206に表示する。このときのUI表示を図10に示す。
図10は、実施形態1に係る画像形成装置101の表示部206に表示される新しいバージョンのアプリケーションの一覧表示例を示す図である。
図10では、記憶部401が保持するインストール済みのアプリケーションのIDとバージョンの一覧と、S704でサーバ102から取得したアップデート可能なアプリケーションバージョンのリストが表示されている。
次にS706でユーザは、この表示された一覧から、インストールしたいアプリケーションのバージョンを選択する。これにより、その選択されたアプリケーションとそのバージョンがS707でUI制御部404に伝えられる。例えば図10の例では、ユーザがアップデートしたいアプリケーションのバージョンをラジオボタンで選択する。これにより、その選択されたアプリケーションと、そのバージョンがS707でUI制御部404に伝えられる。
その後S708で、画像形成装置101のアップデート部403は、ユーザが選択したアプリケーションと依存関係のあるアプリケーションを特定する。そしてS709でアップデート部403は、S704で、サーバ102から受信したマニフェストファイル602の情報のうちMaximumFilespaceUsageの情報に基づいて、そのアプリケーションをダウンロードするのに必要なメモリ容量を取得する。そして、そのメモリ容量をHDD204に確保できるか、HDD204の空き容量をチェックする。そして、HDD204にアプリケーション601の容量分の空き領域を確保できれば、S710でUI制御部404は、依存関係のあるアプリケーションを選択状態にする。
これらS708〜S709の処理は、図8のフローチャートを参照して詳しく後述する。
図11は、実施形態1に係る画像形成装置101の表示部206に表示される画面例を示す図である。
ここでは、例えば、図10の画面で、アプリAをバージョン2.0にアップデートするように選択された場合、そのためには、アプリBをバージョン2.0にアップデートする必要があることが表示されている。そして、アプリBのバージョン1.1と1.2のラジオボタンが選択できなくなり、バージョン2.0のラジオボタンが自動的にチェックされている。
また図12は、実施形態1に係る画像形成装置101の表示部206に表示される他の画面例を示す図である。
ここでは、例えば、図10の画面で、アプリAのバージョン2.0へのアップデートが選択された場合、そのためには、アプリBをバージョン2.0、或いはバージョン3.0にアップデートする必要があることが表示されている。この場合、アプリBのバージョン1.1と1.2のラジオボタンが選択できなくなり、アプリBのバージョン2.0とバージョン3.0のラジオボタンが選択可能で、最新のバージョン3.0のラジオボタンがチェックされている。
その後、S711でユーザは、選択したアプリケーションのアップデートを指示する。具体的には、図11或いは図12のOKボタンを押下する。
これによりS712で画像形成装置101のダウンロード部402は、サーバ102の配信部503からアプリケーションをダウンロードする。その後、S713において画像形成装置101のアップデート部403は、そのダウンロードしたアプリケーションにより、選択したアプリケーションと、その選択したアプリケーションと依存関係にあるアプリケーションをアップデートする。そしてS714で、そのアップデートしたアプリケーションを開始する。その後、S715で画像形成装置101のUI制御部404は、完了画面を表示部206に表示して、この一例の処理を終了する。
図13は、実施形態1に係る画像形成装置101の表示部206に表示されるアップデートの完了画面の一例を示す図である。
ここでは、バージョン2.0のアプリAと、バージョン3.0のアプリBのアップデートが完了した旨が表示されている。
図8は、実施形態1に係る画像形成装置101におけるアプリケーションのアップデート処理を説明するフローチャートである。尚、このフローチャートで示す処理は、CPU201がRAM203に展開したプログラムを実行することにより達成される。
S801でCPU201はアップデート部403として機能し、記憶部401からインストール済みのアプリケーション情報(A)と、利用可能なHDDの空き容量の情報を取得する。次にS802に進みCPU201はアップデート部403として機能し、ユーザが選択したアプリケーション(B)のマニフェストファイル602の情報を記憶部401から取得する。そして、それに含まれるImport−Packageの情報に基づいて、外部参照するパッケージ(C)を特定する。次にS803に進みCPU201はアップデート部403として機能し、S802で特定したパッケージ(C)が、S801で取得したアプリケーション情報(A)に含まれているか否か判定する。
ここで含まれていると判定すると、依存関係が保たれていると判断できるためS809に進みCPU201はアップデート部403として機能し、記憶部401から利用可能なHDDの空き容量を参照する。そして、ユーザが選択したアプリケーションが、その空き容量に収まるかどうかを判定する。具体的には、アップデート先アプリケーションのMaximumFilespaceUsageの値から、アップデート元アプリケーションのMaximumFilespaceUsageの値を減算し、その値が利用可能なHDDの空き容量に収まるかを判定する。ここでここで収まると判定するとS810に進みCPU201はUI制御部404として機能し、ユーザが選択したアプリケーションを選択状態にして、この処理を終了する。一方、そのアプリケーションが、その空き容量に収まらなければS808に進み、CPU201はUI制御部404として機能し、HDDの空き容量が不足している旨を表示するエラー表示を行って、この処理を終了する。
一方、S803で、S802で特定したパッケージ(C)が、S801で取得したアプリケーション情報(A)に含まれていないときはS804に進む。S804でCPU201はアップデート部403として機能し、図7のS704でサーバ102から取得したアプリケーション情報の中に、特定したパッケージ(C)を持つ情報が含まれているかを判定する。具体的には、サーバ102から取得したマニフェストファイル602の情報において、特定したパッケージ(C)をImport−Packageに記載しているアプリケーションを特定する。ここで複数のバージョンがヒットする場合は、一番新しいバージョンのアプリケーション(D)を特定する。一方、S804で、特定したパッケージを持つ情報が含まれていなければ、選択したアプリケーションをアップデートすることで依存関係を保つことができなくなってしまうためS805に進み、CPU201はUI制御部404として機能し、エラー表示を行って、この処理を終了する。
S804でアプリケーション(D)が特定できるとS806に進む。S806でCPU201はアップデート部403として機能し、ユーザが選択したアプリケーション(B)と、S804で特定したアプリケーション(D)の両方をアップデートすると、それらがHDDの空き容量に収まるか否か判定する。具体的には、アップデート予定のアプリケーションの全てに対して、アップデート先のアプリケーションのMaximumFilespaceUsageの値から、アップデート元のアプリケーションのMaximumFilespaceUsageの値を減算する。そして、それらの合計の値が利用可能なHDDの空き容量に収まるかを判定する。S806でHDDの空き容量に収まらないと判定するとS808に進み、CPU201はUI制御部404として機能してエラー表示して、この処理を終了する。
一方、S806でCPU201は、HDD空き容量に収まると判定するとS807に進みCPU201はUI制御部404として機能し、ユーザが選択したアプリケーション(B)を選択状態にする。そしてS811に進みCPU201は、S804で得したアプリケーション(D)も選択状態にする。このとき複数のアプリケーションが特定されていれば、それらを全て選択状態にする。
図11は、S811において1つのバージョンのみがヒットした場合の例を示す。ここで、アプリAのVer2.0は、アプリBのVer2.0を参照している。しかしながら、アプリBのVer1.0のみがインストール済であるため、アプリAのVer2.0にアップデートするためには、アプリBをVer2.0にアップデートする必要がある。従って、この場合は、アプリBのVer1.1、Ver1.2をグレイアウトして選択不能にして、アプリBのVer2.0を選択状態にしている。
また図12は、S811において複数のバージョンがヒットした場合の例を示す。アプリAのVer2.0は、アプリBのVer2.0もしくはVer3.0を参照している。しかしながら、アプリBのVer1.0のみがインストール済であるため、アプリAのVer2.0にアップデートするためには、アプリBをVer2.0或いはVer3.0にアップデートする必要がある。従って、この場合は、アプリBのVer1.1、Ver1.2をグレイアウトして選択不能にし、最新版のVer3.0を選択状態にしている。
そしてS812に進みCPU201はアップデート部403として機能し、参照される側のアプリケーション、つまりアプリケーション(D)を、ユーザが選択したアプリケーション(B)より先にアップデートするようにアップデート順を定義するリストを変更して、この処理を終了する。
こうしてアプリケーションのアップデートが完了すると、例えば前述した図13に示すようなアップデートの結果を表示する画面が表示される。図13では、バージョン2.0のアプリAと、バージョン3.0のアプリBのアップデートが完了した旨が表示されている。
以上説明したように実施形態1によれば、アプリケーション間の依存関係を維持しながら、ユーザが指定したアプリケーションのアップデートを実現することができる。
[実施形態2]
次に本発明の実施形態2を説明する。
実施形態2では、利用していないと思われるアプリケーション、つまり停止状態のアプリケーションをアップデートする場合は、必ずしも参照される側を先にアップデートする必要はない。このような課題を考慮したのが実施形態2である。尚、実施形態2に係るシステム構成及び画像形成装置101とサーバ102のハードウェア構成などは前述の実施形態1と同様であるため、それらの説明を省略する。
図14は、実施形態2に係る画像形成装置101におけるアプリケーションのアップデート処理を説明するフローチャートである。尚、このフローチャートで示す処理は、CPU201がRAM203に展開したプログラムを実行することにより達成される。尚、この図14のフローチャートにおいて、前述の図8と共通する処理は同じ参照番号で示し、それらの説明を省略する。
S1413でCPU201はアップデート部403として機能し、アップデートするアプリケーションが開始状態であるかどうかを判定する。ここでアップデートするアプリケーションが開始状態でなければ、S812をスキップして、この処理を終える。一方、アップデートするアプリケーションが開始状態であればS812に進んで、参照される側のアプリケーション、つまりアプリケーション(D)を、ユーザが選択したアプリケーション(B)より先にアップデートするようにアップデート順を定義するリストを変更して、この処理を終了する。
以上説明したように実施形態2によれば、アップデートするアプリケーションが停止状態であれば、参照される側のアプリケーションを先にアップデートすることなく、アップデートするアプリケーションを先にアップデートすることができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から逸脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
101…画像形成装置、102…コンテンツ配信サーバ、103…ネットワーク、201…CPU、202…ROM、203…RAM、204…HDD,206…表示部

Claims (12)

  1. サーバからアプリケーションをダウンロードする情報処理装置であって、
    アプリケーションを格納する格納手段と、
    前記格納手段に格納されているアプリケーションのアップデートを指示する指示手段と、
    前記指示手段による指示に応じて、前記サーバから前記アプリケーションの属性情報を取得する取得手段と、
    前記属性情報に基づいて、前記アプリケーションと依存関係にあるアプリケーションを検索する検索手段と、
    アップデートする前記アプリケーションと、検索された前記アプリケーションと依存関係にあるアプリケーションとを格納できる空き領域を前記格納手段に確保できるかどうか判定する判定手段と、
    前記判定手段が前記空き領域を確保できると判定すると、前記アップデートするアプリケーションと、当該アプリケーションと依存関係にあるアプリケーションとを前記サーバからダウンロードするダウンロード手段と、
    を有することを特徴とする情報処理装置。
  2. 前記取得手段は、前記指示手段による指示に応じで、前記格納手段に格納されているアプリケーションの識別情報とバージョンを前記サーバに送信し、
    前記サーバから前記アプリケーションのバージョン及び属性情報を取得することを特徴とする請求項1に記載の情報処理装置。
  3. 前記取得手段は、前記サーバから前記アプリケーションの最新のバージョンを含むバージョンを取得することを特徴とする請求項2に記載の情報処理装置。
  4. 前記検索手段による検索により、前記アプリケーションと依存関係にあるアプリケーションが検索されると、当該依存関係にあるアプリケーションのアップデートをユーザに促す画面を表示する表示手段を、更に有することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記表示手段は、前記画面において、前記アプリケーションのアップデートに必要となる前記依存関係にあるアプリケーションを自動的に選択した状態で表示することを特徴とする請求項4に記載の情報処理装置。
  6. 前記表示手段は、前記画面において、前記アプリケーションのアップデートに必要でない前記依存関係にあるアプリケーションを選択不能にした状態で表示することを特徴とする請求項4に記載の情報処理装置。
  7. 前記ダウンロードが完了したことに応じて、前記ダウンロードが完了したアプリケーションとそのバージョン、当該アプリケーションと依存関係にあるアプリケーションとそのバージョンを表示する手段を、更に有することを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  8. 前記ダウンロード手段は、前記アップデートするアプリケーションよりも先に、前記アプリケーションと依存関係にあるアプリケーションをダウンロードすることを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
  9. 前記アップデートするアプリケーションが停止状態の場合、前記ダウンロード手段は、前記アップデートするアプリケーションに続いて、前記アプリケーションと依存関係にあるアプリケーションをダウンロードすることを特徴とする請求項8に記載の情報処理装置。
  10. 前記アプリケーションは、jarファイル形式のファイルであることを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。
  11. アプリケーションを格納する格納手段を有し、サーバからアプリケーションをダウンロードする情報処理装置を制御する制御方法であって、
    前記格納手段に格納されているアプリケーションのアップデートを指示する指示工程と、
    前記指示工程による指示に応じて、前記サーバから前記アプリケーションの属性情報を取得する取得工程と、
    前記属性情報に基づいて、前記アプリケーションと依存関係にあるアプリケーションを検索する検索工程と、
    アップデートする前記アプリケーションと、検索された前記アプリケーションと依存関係にあるアプリケーションとを格納できる空き領域を前記格納手段に確保できるかどうか判定する判定工程と、
    前記判定工程が前記空き領域を確保できると判定すると、前記アップデートするアプリケーションと、当該アプリケーションと依存関係にあるアプリケーションとを前記サーバからダウンロードするダウンロード工程と、
    を有することを特徴とする制御方法。
  12. コンピュータに、請求項11に記載の制御方法の各工程を実行させるためのプログラム。
JP2019108229A 2019-06-10 2019-06-10 情報処理装置とその制御方法、及びプログラム Pending JP2020201719A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019108229A JP2020201719A (ja) 2019-06-10 2019-06-10 情報処理装置とその制御方法、及びプログラム
US16/895,187 US11200036B2 (en) 2019-06-10 2020-06-08 Information processing apparatus, method of controlling the same, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019108229A JP2020201719A (ja) 2019-06-10 2019-06-10 情報処理装置とその制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2020201719A true JP2020201719A (ja) 2020-12-17

Family

ID=73650088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019108229A Pending JP2020201719A (ja) 2019-06-10 2019-06-10 情報処理装置とその制御方法、及びプログラム

Country Status (2)

Country Link
US (1) US11200036B2 (ja)
JP (1) JP2020201719A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7314867B2 (ja) * 2020-06-18 2023-07-26 トヨタ自動車株式会社 マスタ、ネットワークシステム、方法、プログラム、センタ、および車両
CN112988190B (zh) * 2021-03-12 2023-09-05 北京奇艺世纪科技有限公司 应用上线方法、装置、计算机设备和存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467435A (en) * 1992-07-10 1995-11-14 Microsoft Corporation System and method for mode switching
JP2000076048A (ja) 1998-08-28 2000-03-14 Sharp Corp インストール制御装置
US8875116B2 (en) * 2000-11-17 2014-10-28 Hewlett-Packard Development Company, L.P. Network for updating firmware and / or software in wireless communication devices
JP2006227990A (ja) * 2005-02-18 2006-08-31 Canon Inc 印刷ソフトウェア更新方法、最新モジュール所得方法
JP2007213189A (ja) * 2006-02-08 2007-08-23 Seiko Epson Corp デバイス装置およびそのソフトウエア更新方法
JP2010033421A (ja) 2008-07-30 2010-02-12 Canon Inc 統合インストーラ
US8204969B2 (en) * 2008-08-05 2012-06-19 Canon Kabushiki Kaisha Method for retrieving updates via the internet
JP5326918B2 (ja) * 2009-08-05 2013-10-30 株式会社リコー 電子機器,ソフトウェア更新方法,プログラム,および記録媒体
JP6351413B2 (ja) 2014-07-15 2018-07-04 キヤノン株式会社 画像形成装置およびその制御方法、並びにプログラム
JP6388405B2 (ja) * 2014-12-26 2018-09-12 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
US11798680B2 (en) * 2019-06-04 2023-10-24 Curbell Medical Products, Inc. Nurse call system with wireless software updating

Also Published As

Publication number Publication date
US20200387362A1 (en) 2020-12-10
US11200036B2 (en) 2021-12-14

Similar Documents

Publication Publication Date Title
JP5959942B2 (ja) 画像処理装置、その制御方法、及びプログラム、並びにファームウェア更新システム
JP4612912B1 (ja) 情報処理装置、情報処理システムの制御方法およびプログラム
JP5773787B2 (ja) 情報処理装置およびその制御方法およびプログラム
JP2002287974A (ja) アプリケーションプログラムの登録制御及び起動制御に係る方法及び該制御装置
US9348578B2 (en) Information processing apparatus capable of updating firmware, control method therefor, and storage medium storing control program therefor
US20100070967A1 (en) Recording medium of network administration program
JP2020201719A (ja) 情報処理装置とその制御方法、及びプログラム
JP6161314B2 (ja) 画像形成装置、制御方法およびコンピュータプログラム
JP6103978B2 (ja) 配信装置、デバイス装置、配信装置の制御方法およびコンピュータプログラム
JP2020188384A (ja) 画像形成装置及び情報処理装置とそれらの制御方法、並びにプログラム
JP4792744B2 (ja) 画像処理装置
JP6570364B2 (ja) 画像形成装置及びその制御方法
JP2003173260A (ja) 遠隔プログラム更新システム
JP2019067131A (ja) 画像形成装置及びその制御方法
JP4788128B2 (ja) 実行環境整備システム、実行環境整備装置および実行環境整備方法
JP5661297B2 (ja) 画像形成装置、レストア制御方法及びプログラム
JP6776220B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2017158014A (ja) 自動設置システム、管理装置、情報処理装置、管理装置の制御方法、情報処理装置の制御方法、及びプログラム
JP6929160B2 (ja) 画像形成装置およびその制御方法とプログラム
JP2002189601A (ja) プログラムのインストール方法およびプログラムインストールシステム
JP4606910B2 (ja) ユーティリティプログラム管理方法及び画像処理システム
JP2010176567A (ja) 情報処理装置、情報処理システム、それらの制御方法、及びプログラム
JP2019204152A (ja) 情報処理装置、情報処理装置のアップデート方法、及びプログラム
JP4265731B2 (ja) 画像形成装置
JP2007026250A (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