(57)【要約】      （修正有）【課題】ユーザーが容易に且つ低コストに機能拡張プログラムを外部サーバーからダウンロードする手段を有する情報処理装置を提供する。【解決手段】情報処理装置の拡張手段は、外部サーバーからダウンロードが可能な拡張プログラムの情報を提供する紹介プログラムをダウンロードし、紹介プログラムのインストールの制御を行う手段と、ダウンロードが可能な拡張プログラムの情報をインストールされた紹介プログラムから取得する手段と、取得された拡張プログラムの情報６０２を表示し、インストールの指示を受け付けるための画面６００を提供する手段と、指示された拡張プログラムに対応する情報が紹介プログラムから取得され、外部サーバーから拡張プログラムをダウンロードし、拡張プログラムのインストールの制御を行う手段とを有する。【選択図】図６
2016035713.tif 000002
【特許請求の範囲】
【請求項１】
機能を拡張するための拡張プログラムを外部サーバーからダウンロードし、インストールの制御を行う拡張手段を備える情報処理装置であって、
前記拡張手段は、
前記外部サーバーからダウンロードが可能な拡張プログラムの情報を提供する紹介プログラムを前記外部サーバーからダウンロードし、前記紹介プログラムのインストールの制御を行う第一のインストール制御手段と、
ダウンロードが可能な拡張プログラムの情報を前記インストールされた紹介プログラムから取得する取得手段と、
前記取得手段にて取得された拡張プログラムの情報を表示し、インストールの指示を受け付けるための画面を提供する提供手段と、
前記画面を介してユーザーから拡張プログラムのインストールの指示を受け付けたことに応じて前記取得手段により当該指示された拡張プログラムに対応する情報が前記紹介プログラムから取得され、その後、取得された前記情報に含まれるキー情報を用いて前記外部サーバーから前記拡張プログラムをダウンロードし、前記拡張プログラムのインストールの制御を行う第二のインストール制御手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記拡張手段は、前記紹介プログラムをダウンロードおよびインストールするためのキー情報を、予め保持していることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第一のインストール制御手段は、すでにインストールされている紹介プログラムのバージョンと、前記外部サーバーからダウンロードが可能な新たな紹介プログラムのバージョンとを比較し、バージョンが異なる場合に前記新たな紹介プログラムをダウンロードし、インストールの制御を行うことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記新たな紹介プログラムがインストールされたことに応じて、前記取得手段によるダウンロードが可能な拡張プログラムの情報の取得、および、前記提供手段による前記画面に表示するダウンロードが可能な拡張プログラムの情報の更新が行われることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第一のインストール制御手段は、ユーザーからの指示を受け付けた際、予め設定された日時に達した際、および前記情報処理装置の起動時の少なくともいずれかに前記紹介プログラムのダウンロードおよびインストールの制御を行うことを特徴とする請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
前記提供手段は、前記拡張プログラムをインストールする際に要するリソースの空き状況に応じて、前記画面に表示する内容を切り替えることを特徴とする請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
前記提供手段は、前記拡張プログラムをダウンロードおよびインストールする際に要するリソースが不足している場合、すでにインストールされている拡張プログラムに対するアンインストールもしくは停止の指示を受け付けるための受け付け画面を更に提供し、
前記第二のインストール制御手段は、前記受け付け画面にて入力された指示に基づいて、前記すでにインストールされている拡張プログラムに対する処理を行った上で、前記拡張プログラムのダウンロードおよびインストールの制御を行うことを特徴とする請求項１乃至６のいずれか一項に記載の情報処理装置。
【請求項８】
前記リソースは、拡張プログラムを格納するための記憶領域、もしくは拡張プログラムを実行する際のスレッドであり、
前記拡張プログラムをインストールする際に要するリソースは、前記取得手段にて取得された拡張プログラムの情報に含まれるリソース情報に基づいて算出されることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
機能を拡張するための拡張プログラムを外部サーバーからダウンロードし、インストールする拡張手段を備える情報処理装置における機能拡張方法であって、
前記拡張手段による、
前記外部サーバーからダウンロードが可能な拡張プログラムの情報を提供する紹介プログラムを、前記外部サーバーからダウンロードし、前記紹介プログラムのインストールの制御を行う第一のインストール制御工程と、
ダウンロードが可能な拡張プログラムの情報を前記インストールされた紹介プログラムから取得する取得工程と、
前記取得工程にて取得された拡張プログラムの情報を表示し、インストールの指示を受け付けるための画面を提供する提供工程と、
前記画面を介してユーザーから拡張プログラムのインストールの指示を受け付けたことに応じて前記取得工程にて当該指示された拡張プログラムに対応する情報が前記紹介プログラムから取得され、その後、取得された前記情報に含まれるキー情報を用いて、前記外部サーバーから前記拡張プログラムをダウンロードし、前記拡張プログラムのインストールの制御を行う第二のインストール制御工程と
を有することを特徴とする情報処理装置における機能拡張方法。
【請求項１０】
コンピュータを、
前記外部サーバーからダウンロードが可能な拡張プログラムの情報を提供する紹介プログラムを前記外部サーバーからダウンロードし、前記紹介プログラムのインストールの制御を行う第一のインストール制御手段、
ダウンロードが可能な拡張プログラムの情報を前記インストールされた紹介プログラムから取得する取得手段、
前記取得手段にて取得された拡張プログラムの情報を表示し、インストールの指示を受け付けるための画面を提供する提供手段、
前記画面を介してユーザーから拡張プログラムのインストールの指示を受け付けたことに応じて前記取得手段により当該指示された拡張プログラムに対応する情報が前記紹介プログラムから取得され、その後、取得された前記情報に含まれるキー情報を用いて前記外部サーバーから前記拡張プログラムをダウンロードし、前記拡張プログラムのインストールの制御を行う第二のインストール制御手段
として機能させるためのプログラム。
【請求項１１】
請求項１乃至８のいずれか一項に記載の情報処理装置と、前記情報処理装置からの要求に応じて拡張プログラムを配信する外部サーバーとを含むシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置における機能拡張方法、プログラム、およびシステムに関する。
【背景技術】
【０００２】
近年、オフィスに設置される画像形成装置には、機能拡張用のプログラムをインストールして、動的に画像形成装置の機能を拡張できるシステムが普及している。この種のシステムとしては、例えば、キヤノン株式会社のＭＥＡＰ（登録商標）などが挙げられる。
【０００３】
また、機能拡張用プログラムを外部サーバーからダウンロードし、インストールすることで、画像形成装置の機能拡張を可能とする技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４０３９４３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した技術では、機能拡張用プログラムの情報を取得する手段と、機能拡張用プログラムをダウンロードし、インストールする手段とが異なるため、開発及びメンテナンスの難易度やコストが高くなってしまうという可能性があった。また、ユーザーによるシステムの利便性が低下する要因となっていた。
【０００６】
本発明は上記課題に鑑み、ユーザーが容易に且つ低コストに機能拡張用プログラムを外部サーバーからダウンロードし、インストールする手段を有する情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本願発明は以下の構成を有する。すなわち、機能を拡張するための拡張プログラムを外部サーバーからダウンロードし、インストールの制御を行う拡張手段を備える情報処理装置であって、前記拡張手段は、前記外部サーバーからダウンロードが可能な拡張プログラムの情報を提供する紹介プログラムを前記外部サーバーからダウンロードし、前記紹介プログラムのインストールの制御を行う第一のインストール制御手段と、ダウンロードが可能な拡張プログラムの情報を前記インストールされた紹介プログラムから取得する取得手段と、前記取得手段にて取得された拡張プログラムの情報を表示し、インストールの指示を受け付けるための画面を提供する提供手段と、前記画面を介してユーザーから拡張プログラムのインストールの指示を受け付けたことに応じて前記取得手段により当該指示された拡張プログラムに対応する情報が前記紹介プログラムから取得され、その後、取得された前記情報に含まれるキー情報を用いて前記外部サーバーから前記拡張プログラムをダウンロードし、前記拡張プログラムのインストールの制御を行う第二のインストール制御手段とを有する。
【発明の効果】
【０００８】
本発明によれば、ユーザーが容易に且つ低コストに機能拡張プログラムを外部サーバーからダウンロードする手段を有する情報処理装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本願発明に係る配信システムの構成例を示す図。
【図２】本願発明に係る画像形成装置の主要部の構成例を示す図。
【図３】本願発明に係る画像形成装置のソフトウェアの構成例を示す図。
【図４】本願発明に係るメインメニュー画面の構成例を示す図。
【図５】本願発明に係るダウンロードプログラムの機能構成例を示す図。
【図６】本願発明に係る配信可能拡張プログラム一覧画面の例を示す図。
【図７】本願発明に係る配信可能拡張プログラム詳細画面の例を示す図。
【図８】本願発明に係る紹介プログラムの機能構成例を示す図。
【図９】本願発明に係る配信可能拡張プログラム情報の構成例を示す図。
【図１０】本願発明に係る配信可能拡張プログラム情報に含まれる情報の例を示す図。
【図１１】本願発明に係る配信可能拡張プログラム情報に含まれる情報の例を示す図。
【図１２】本願発明に係る配信可能拡張プログラム情報に含まれる情報の例を示す図。
【図１３】本願発明に係る配信可能拡張プログラム情報に含まれる情報の例を示す図。
【図１４】本願発明に係る配信可能拡張プログラム情報に含まれる情報の例を示す図。
【図１５】本願発明に係る紹介プログラムのダウンロード処理を示す図。
【図１６】本願発明に係る紹介プログラムの更新処理を示す図。
【図１７】本願発明に係る拡張プログラムのダウンロード処理を示す図。
【図１８】本願発明に係るダウンロードボタンのアイコン切り替え処理を示す図。
【図１９】本願発明に係る拡張プログラムのダウンロード及びインストール処理を示す図。
【図２０】本願発明に係るアンインストール時の選択ダイアログの例を示す図。
【図２１】本願発明に係る停止時の選択ダイアログの例を示す図。
【図２２】本願発明に係るダウンロード不可通知ダイアログの例を示す図。
【発明を実施するための形態】
【００１０】
［システム構成］
以下、本発明に係る一実施形態について図面を用いて説明する。図１は、本願発明に係る機能拡張方法を適用可能な画像形成装置を含む配信システムの機器構成の例を示す図である。本願発明の画像形成装置を含む配信システムは、画像形成装置１０１、ネットワーク１０２、および配信サーバー１０３によって構成される。
【００１１】
画像形成装置１０１は、スキャナ、プリンタ、ファクシミリ、ファイル送信機能等、複数の機能を統合した複合機（ＭＦＰ：Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）である。また、画像形成装置１０１は、ネットワーク１０２に接続している。ネットワーク１０２は、いわゆるコンピューターネットワークであり、接続されている機器間で自由に情報交換することができる通信網である。ネットワーク１０２は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネットといったように様々な規模のものが存在するが、本実施形態においては、どのような規模のものであっても良い。配信サーバー１０３は、拡張プログラムを保持、管理し、画像形成装置１０１等の他の機器からの要求に応じて拡張プログラムを配信することができる外部サーバーである。また、配信サーバー１０３は、ネットワーク１０２に接続している。画像形成装置１０１と配信サーバー１０３は、共にネットワーク１０２に接続されているため、情報交換することができる。
【００１２】
なお、図１においては、画像形成装置１０１は１台が示されているが、複数含まれていてもよい。また、配信サーバー１０３の処理は、物理的に複数の情報処理装置にて分散処理されても構わない。また、本実施形態においては、機能拡張を行う装置として、画像形成装置を例に挙げているが、ＰＣなど他の情報処理装置であっても構わない。
【００１３】
［画像形成装置］
図２は、画像形成装置１０１の主要部の構成例を示すブロック図である。画像形成装置１０１はコントローラユニット２００を含む。コントローラユニット２００には、画像入力デバイスであるスキャナ２７０、画像出力デバイスであるプリンタ２９５、および操作部２１２が接続される。コントローラユニット２００は、スキャナ２７０で読み取られた画像データをプリンタ２９５により印刷出力するコピー機能を実現するための制御を行う。
【００１４】
コントローラユニット２００は、ＣＰＵ２０１を有する。ＣＰＵ２０１は、ＲＯＭ２０３に格納されているブートプログラムによりＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を立ち上げる。ＣＰＵ２０１は、ＯＳ上で、ＨＤＤ（ハードディスクドライブ）２０４に格納されているプログラムを実行し、これによって本実施形態に係る後述の各種処理を実行する。ＲＡＭ２０２は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリー領域を提供する。ＲＡＭ２０２は、ＣＰＵ２０１の作業領域としても用いられる。ＨＤＤ２０４は、不揮発性の記憶領域であり、各種プログラムや画像データを格納する。
【００１５】
ＣＰＵ２０１には、システムバス２０７を介して、ＲＯＭ２０３、ＲＡＭ２０２、操作部Ｉ／Ｆ（インターフェース）２０６、ネットワークＩ／Ｆ２１０、ＵＳＢホストＩ／Ｆ２１３、および画像バスＩ／Ｆ２０５が接続される。操作部Ｉ／Ｆ２０６は、タッチパネルを有する操作部２１２とのインターフェースであり、操作部２１２に表示すべき画像データを操作部２１２に対して出力する。また、操作部Ｉ／Ｆ２０６は、操作部２１２においてユーザーにより入力された情報をＣＰＵ２０１に送出する。
【００１６】
ネットワークＩ／Ｆ２１０は、画像形成装置１０１をネットワーク１０２に接続するためのインターフェースである。ＵＳＢホストＩ／Ｆ２１３は、ＵＳＢストレージ２１４と通信するインターフェースである。ＵＳＢホストＩ／Ｆ２１３は、ＨＤＤ２０４に格納されているデータをＵＳＢストレージ２１４に出力する。また、ＵＳＢホストＩ／Ｆ２１３は、ＵＳＢストレージ２１４に格納されているデータを取得し、ＣＰＵ２０１に渡す。ＵＳＢホストＩ／Ｆ２１３には、ＵＳＢストレージ２１４を含む複数のＵＳＢデバイスが接続可能である。ＵＳＢストレージ２１４は、データを格納する外部記憶装置であり、ＵＳＢホストＩ／Ｆ２１３に対して着脱可能である。
【００１７】
画像バスＩ／Ｆ２０５は、システムバス２０７と、画像データを高速で転送する画像バス２０８とを接続し、データ形式を変換するためのバスブリッジである。画像バス２０８は、ＰＣＩバスまたはＩＥＥＥ１３９４等によって構成される。画像バス２０８上には、デバイスＩ／Ｆ２２０、スキャナ画像処理部２８０、およびプリンタ画像処理部２９０が設けられる。デバイスＩ／Ｆ２２０には、スキャナ２７０およびプリンタ２９５が接続され、デバイスＩ／Ｆ２２０は、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部２８０は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部２９０は、プリント出力画像データに対してプリンタ２９５に応じた補正、解像度変換などを行う。
【００１８】
［ソフトウェア構成］
図３は、画像形成装置１０１のソフトウェアの構成例を示す図である。ＯＳ３０１上には、プリンタやＦＡＸ、スキャナなどの制御用プログラムであるネイティブプログラム３０２、拡張プログラム３０５を実行するためのプラットフォームである拡張プログラム実行プラットフォーム３０３が動作している。拡張プログラム実行プラットフォーム３０３は、例えば、ＯＳＧｉ（Ｏｐｅｎ  Ｓｅｒｖｉｃｅ  Ｇａｔｅｗａｙ  ｉｎｉｔｉａｔｉｖｅ）フレームワークを実装した、プログラムの動的な追加及び削除を実現するためのプログラムである。拡張プログラムシステムサービス３０４は、拡張プログラム３０５に共通して用いられる機能を提供するサービスである。拡張プログラム３０５から拡張プログラムシステムサービス３０４の機能を呼び出すことにより、拡張プログラム３０５が利用する共通機能を開発する手間を省くことができる。
【００１９】
拡張プログラム３０５は、拡張プログラム実行プラットフォーム３０３上で動作する画像形成装置１０１の機能を拡張するためのプログラムであり、必要に応じてインストール／アンインストールが可能である。また、拡張プログラム３０５は、必要に応じて開始／停止が可能であるとし、停止されている場合には処理のためのリソースは消費せず、サービスや機能は提供しない。拡張プログラム３０５は、拡張プログラム実行プラットフォーム３０３または拡張プログラムシステムサービス３０４を介することで、他の拡張プログラムやＲＡＭ２０２など画像形成装置１０１の各モジュールへアクセスすることができる。また、ＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を持つ拡張プログラム３０５は、画像形成装置１０１の操作部２１２に表示されるメインメニュー画面にアイコンを表示することができる。操作部Ｉ／Ｆ２０６は、ユーザーが操作部２１２を介してアイコンを選択したことを検知すると、その旨をＣＰＵ２０１に送信する。その旨を受け取ったＣＰＵ２０１は、ユーザーに選択された拡張プログラムのＵＩを操作部２１２に表示する。
【００２０】
拡張プログラム３０５には、図５を用いて後述するダウンロードプログラム５００が含まれてもよい。なお、ダウンロードプログラム５００は、それ自身が拡張プログラム３０５をダウンロードし、画像形成装置１０１にインストールさせる機能を有している。そのため、本実施形態では、他の拡張プログラムとは別の方法で画像形成装置１０１にインストールされるものとする。別の方法とは例えば、画像形成装置１０１が標準機能として備える、マニュアル操作により拡張プログラムをインストールする機能による方法等が挙げられる。また、拡張プログラム３０５の一種として、紹介プログラム８００が挙げられる。紹介プログラム８００の詳細は後述するが、紹介プログラム８００もダウンロードプログラム５００によってインストール制御がなされる。本明細書において、便宜上、紹介プログラム８００のインストールを制御することを「第一のインストール制御」とも称し、紹介プログラム８００以外の拡張プログラム３０５のインストールを制御することを「第二のインストール制御」とも称する。
【００２１】
尚、図３に示すソフトウェア構成は基本的な部分のみ記載したものであり、実施環境によっては他のサービス等が含まれていても良い。また設定を制限するなどの理由により、不要なサービスは無くても良い。
【００２２】
［メインメニュー画面］
図４は、画像形成装置１０１の操作部２１２に表示されるメインメニュー画面４００の構成例を示す図である。メインメニュー画面４００は、プログラムアイコン表示エリア４０１、標準プログラムアイコン４０２、および拡張プログラムアイコン４０３を有する。プログラムアイコン表示エリア４０１は、画像形成装置１０１で現在操作可能なプログラム（機能）のアイコンを表示するエリアである。標準プログラムアイコン４０２は、画像形成装置１０１が備える標準機能を操作するためのＵＩ（不図示）を表示させるためのアイコンである。拡張プログラムアイコン４０３は、画像形成装置１０１に追加的にインストールされた拡張プログラム３０５を操作するためのＵＩ（不図示）を表示させるためのアイコンである。メインメニュー画面４００は、例えば、電源投入時や指示された処理が完了或いは中断された場合などに表示される。
【００２３】
［ダウンロードプログラム］
以下、本実施形態に係るダウンロードプログラムについて説明する。図５は、ダウンロードプログラム５００の機能構成例を示す図である。ＣＰＵ２０１が各機能に応じたプログラムを読み出して実行することにより、ダウンロードプログラム５００の各機能が実現される。
【００２４】
ダウンロードプログラム５００は、拡張プログラム情報管理部５０１、拡張プログラムダウンロード部５０２、および拡張プログラム情報表示制御部５０３を有する。拡張プログラム情報管理部５０１は、配信サーバー１０３からダウンロードすることができる拡張プログラム３０５の情報を管理する。拡張プログラム情報管理部５０１は、図８を用いて後述する紹介プログラム８００の識別情報および紹介プログラム８００をダウンロードする際に必要となるキー情報を予め保持する。また、拡張プログラム情報管理部５０１は、紹介プログラム８００の識別情報に基づいて、拡張プログラムダウンロード部５０２に対し、紹介プログラム８００のダウンロードを指示する機能と紹介プログラム８００との情報のやり取りをするための機能も有する。尚、識別情報とは、配信サーバー１０３において、拡張プログラムを一意に識別するための情報である。また、認証情報に対応付けられたキー情報は、具体的には、ライセンスキーやプロダクトキー、ライセンスアクセス番号などが該当する。このキー情報は、アプリケーションのダウンロードやインストール、もしくはインストール可能なアプリケーションを閲覧する際に必要となるものである。本実施形態では、画像形成装置１０１は、拡張プログラム３０５それぞれのキー情報は、紹介プログラム８００に含まれているものとする。
【００２５】
拡張プログラムダウンロード部５０２は、紹介プログラム８００に保持されているキー情報等を用いて配信サーバー１０３から拡張プログラム３０５をダウンロードし、画像形成装置１０１にインストールさせる。拡張プログラム情報表示制御部５０３は、配信サーバー１０３からダウンロード可能な拡張プログラム３０５の情報を、拡張プログラム情報管理部５０１から取得し、その情報に基づいて画面を構成し、操作部２１２を介して提供する。更に、拡張プログラム情報表示制御部５０３は、提供した画面を介してユーザー操作を受け付ける。
【００２６】
［紹介プログラム］
以下、本実施形態に係る紹介プログラム８００について説明する。図８は、紹介プログラム８００の機能構成例を示す図である。ＣＰＵ２０１が各機能に応じたプログラムを読み出して実行することにより、紹介プログラム８００の各機能は実現される。
【００２７】
紹介プログラム８００は、拡張プログラム情報管理部８０１を有する。拡張プログラム情報管理部８０１は、ダウンロードプログラム５００に対して、配信サーバー１０３から配信可能な拡張プログラムの情報（以下、配信可能拡張プログラム情報）が更新されたことを通知する。また、拡張プログラム情報管理部８０１は、ダウンロードプログラム５００に対して、配信可能拡張プログラム情報９００を提供する。
【００２８】
［配信可能拡張プログラム情報］
以下、本実施形態に係る配信可能拡張プログラム情報について説明する。図９は、配信可能拡張プログラム情報９００の構成例を示す図である。
【００２９】
配信可能拡張プログラム情報９００は、設定情報９０１、および１または複数の拡張プログラム情報９０２を含む。設定情報９０１は、配信可能拡張プログラム情報９００のバージョン情報や配信可能拡張プログラム情報９００に含まれる拡張プログラム３０５の識別情報等が記載される設定ファイルである。拡張プログラム情報９０２は、配信可能拡張プログラム情報９００に含まれる拡張プログラム３０５それぞれの情報であり、ここでは３つの配信可能な拡張プログラムが示されている。拡張プログラム情報９０２は、設定情報９０１に記載される識別情報によって区別される情報である。また、拡張プログラム情報９０２はそれぞれ、説明情報９０３、ロゴ情報９０５、マニフェスト情報９０８、および概要情報９１０を含む。
【００３０】
説明情報９０３は、１または複数の説明画像９０４を含む。説明画像９０４は、例えば、拡張プログラム３０５の特徴や使い方が描かれた、図７に示す詳細情報表示パネル７０３で表示される画像データである。説明画像９０４には、例えば、ファイル名に自然数による通し番号を付与することで、表示される順番を指定することができる。なお、本実施形態では、配信可能拡張プログラム情報９００に含まれる画像データのファイル形式としてＰＮＧ形式の例を示しているがこれに限定するものではない。
【００３１】
ロゴ情報９０５は、一覧画面ボタンロゴ９０６、および詳細画面タイトルロゴ９０７を含む。一覧画面ボタンロゴ９０６は、図６に示す拡張プログラム情報ボタン６０２で表示される画像データである。詳細画面タイトルロゴ９０７は、図７に示すタイトル画像７０２で表示される画像データである。
【００３２】
マニフェスト情報９０８は、マニフェストファイル９０９を含む。マニフェストファイル９０９は、拡張プログラム３０５に同梱されるファイルを抜き出したものである。マニフェストファイル９０９には、例えば、拡張プログラム３０５を生成したツールのバージョンや、拡張プログラムが実行された際に使用するメモリー使用量等のリソースに関する情報などが記載されたファイルである。マニフェストファイル９０９の詳細は図１３を用いて後述する。
【００３３】
概要情報９１０は、デフォルト概要情報ファイル９１１、および１または複数のローカライズ概要情報ファイル９１２を含む。デフォルト概要情報ファイル９１１およびローカライズ概要情報ファイル９１２は、拡張プログラムの概要説明文や拡張プログラム名称等、マニフェストファイル９０９には記載されない情報が記載される。ローカライズ概要情報ファイル９１２は、画像形成装置１０１の表示言語設定に応じて表示内容を変更したい場合に作成される。ローカライズ概要情報ファイル９１２のファイル名には、対応する言語のロケール情報（例えば、日本語であれば「ｊａ」、ドイツ語であれば「ｄｅ」）が記載される。画像形成装置１０１の表示言語に対応するローカライズ概要情報ファイル９１２が存在しない場合は、デフォルト概要情報ファイル９１１のデータが使用される。
【００３４】
図１０は、設定情報９０１の構成例を示す図である。設定情報９０１は、バージョン情報１００１、リスト情報１００２、およびキー情報１００３を含む。バージョン情報１００１は、配信可能拡張プログラム情報９００のバージョンを示す情報である。リスト情報１００２は、配信可能拡張プログラム情報９００に含まれる拡張プログラム３０５の識別情報を列挙した情報である。図６に示す拡張プログラム一覧画面６００において、リスト情報１００２に記載されている順に、拡張プログラム情報ボタン６０２が並ぶことになる。キー情報１００３は、配信サーバー１０３に保持されている拡張プログラム３０５を一意に識別するための識別情報に対応付けられたキー情報である。配信サーバー１０３から拡張プログラム３０５をダウンロードする際に、各識別情報に対応付けられたキー情報１００３の値を指定する。キー情報１００３には、リスト情報１００２に列挙されている識別情報すべてに対応するキー情報が記載されている。例えば、識別情報「８２ｂｆｆｆ３ｂ−０１２ａ−１０００−ｂ１ｅｆ−００ｅ０００ｃ４ａｅ６ｆ」に対応する識別情報のキーとして「ＬｉｃｅｎｓｅＡｃｃｅｓｓＮｕｍｂｅｒ−８２ｂｆｆｆ３ｂ−０１２ａ−１０００−ｂ１ｅｆ−００ｅ０００ｃ４ａｅ６ｆ」が示され、その値は「１１１１２２２２３３３３７７７７」である。
【００３５】
図１１は、説明画像９０４の例を示す図である。ここでの画像データはＰＮＧ形式であり、そのファイル名を示している。
【００３６】
図１２は、ロゴ情報９０５の例を示す図である。図１２（ａ）は、一覧画面ボタンロゴ９０６の例を示す図である。図１２（ｂ）は、詳細画面タイトルロゴ９０７の例を示す図である。ここでの画像データはＰＮＧ形式であり、そのファイル名を示している。
【００３７】
図１３は、マニフェストファイル９０９の構成例を示す図である。マニフェストファイル９０９は、プログラム情報部１３０１、およびリソース情報部１３０２の２つの領域を含む。プログラム情報部１３０１は、拡張プログラム３０５に関する情報が記載される。プログラム情報部１３０１には、拡張プログラム３０５を一意に識別するためのＡｐｐｌｉｃａｔｉｏｎ−Ｉｄ、拡張プログラムの名称を示すＢｕｎｄｌｅ−Ｎａｍｅ、およびバージョン情報を示すＢｕｎｄｌｅ−Ｖｅｒｓｉｏｎ等が含まれる。Ａｐｐｌｉｃａｔｉｏｎ−Ｉｄは、設定情報９０１に含まれる識別情報に対応する。リソース情報部１３０２には、拡張プログラムが使用するリソース情報が記載される。リソース情報部１３０２には、拡張プログラムの最大メモリー使用量（ＭａｘｉｍｕｍＭｅｍｏｒｙＵｓａｇｅ）、最大スレッド使用量（ＭａｘｉｍｕｍＴｈｒｅａｄＵｓａｇｅ）、および最大ファイルスペース使用量（ＭａｘｉｍｕｍＦｉｌｅｓｐａｃｅＵｓａｇｅ）等が含まれる。なお、マニフェストファイル９０９に含まれる情報は、ここで示した情報に限定されるものではなく、拡張プログラム３０５をダウンロードおよびインストールする際に要する情報を更に含んでも良い。
【００３８】
図１４は、概要情報９１０の構成例を示す図である。図１４（ａ）は、デフォルト概要情報ファイル９１１の例を示す図である。図１４（ｂ）は、ローカライズ概要情報ファイル９１２における日本語用の概要情報ファイルの例を示す図である。概要情報９１０は、拡張プログラム名称情報１４０１、および拡張プログラム概要情報１４０２を含む。
【００３９】
図９に示す配信可能拡張プログラム情報９００の構成およびその中に含まれるデータの例を述べたが、これらは上記に限定するものではない。例えば、画像の表示やレイアウトについて、更に詳細に定義するようにしてもよい。
【００４０】
［拡張プログラムのダウンロード処理］
ダウンロードプログラム５００は、ユーザーからの指示を受け付けた際に、配信サーバー１０３から拡張プログラム３０５をダウンロードし、インストールの制御を行う。以下、図１７を用いて拡張プログラム３０５のダウンロード処理について説明する。Ｓ１７０１〜Ｓ１７０４は各ステップを表す。
【００４１】
Ｓ１７０１において、ダウンロードプログラム５００は、配信サーバー１０３に対して、拡張プログラム情報管理部５０１で保持する拡張プログラム３０５の識別情報およびキー情報１００３を用いて、拡張プログラム３０５を要求する。
【００４２】
Ｓ１７０２において、配信サーバー１０３は、要求を受け付けると、その応答として、識別情報およびキー情報１００３に対応する拡張プログラム３０５をダウンロードプログラム５００に返信する。
【００４３】
Ｓ１７０３において、ダウンロードプログラム５００は、拡張プログラム実行プラットフォーム３０３に対して、配信サーバー１０３から受信した拡張プログラム３０５のインストールを指示する。
【００４４】
Ｓ１７０４において、拡張プログラム実行プラットフォーム３０３は、指定された拡張プログラム３０５のインストールを実行し、そのインストール結果をダウンロードプログラム５００に対して通知する。そして、本処理フローは終了する。
【００４５】
なお、Ｓ１７０１の処理の前に、ダウンロードプログラム５００は、配信サーバー１０３に対し、識別情報およびキー情報１００３を用いてユーザーから指示された拡張プログラム３０５について問い合わせを行い、その応答に基づいて、拡張プログラム３０５が問題なくダウンロードおよびインストール可能か否かを判定する処理を行ってもよい。
【００４６】
［紹介プログラムのダウンロード処理］
ダウンロードプログラム５００は、初回起動時や予め定められた日時に達した時、ユーザーからの更新指示（図６の更新ボタン６０４の押下）を受け付けた時などに、配信サーバー１０３に紹介プログラム８００の情報を問い合わせる。そして、ダウンロードプログラム５００は、必要に応じて配信サーバー１０３から紹介プログラム８００をダウンロードし、インストールさせる。以下、図１５を用いて紹介プログラム８００のダウンロード処理について説明する。Ｓ１５０１〜Ｓ１５０７は各ステップを表す。
【００４７】
Ｓ１５０１において、ダウンロードプログラム５００は、配信サーバー１０３に対して、拡張プログラム情報管理部５０１で保持する紹介プログラム８００の識別情報およびキー情報１００３を用いて、紹介プログラム８００の情報を要求する。ここで要求される情報は、配信可能な紹介プログラム８００のバージョン情報が含まれる。
【００４８】
Ｓ１５０２において、配信サーバー１０３は、要求を受け付けると、その応答として、識別情報およびキー情報１００３に対応する拡張プログラムの情報（即ち、配信可能な紹介プログラム８００のバージョン情報を含む情報）をダウンロードプログラム５００に返信する。
【００４９】
Ｓ１５０３において、ダウンロードプログラム５００は、現在インストールされている紹介プログラム８００のバージョン情報と配信サーバー１０３から受信した紹介プログラム８００の情報に含まれるバージョン情報とを比較する。バージョン情報が異なる場合は、新たなバージョンの紹介プログラム８００をダウンロード可能として、ダウンロードプログラム５００は、Ｓ１５０４を実行する。一方、バージョン情報が一致する場合は、最新の紹介プログラム８００がインストールされているため、ダウンロードプログラム５００は、配信サーバー１０３からの紹介プログラム８００のダウンロードは不要と判定し、本処理フローを終了する。
【００５０】
Ｓ１５０４において、ダウンロードプログラム５００は、配信サーバー１０３に対して、紹介プログラム８００の識別情報およびキー情報１００３を用いて、最新の紹介プログラム８００を要求する。
【００５１】
Ｓ１５０５において、配信サーバー１０３は、要求を受け付けると、その応答として、識別情報およびキー情報１００３に対応する紹介プログラム８００をダウンロードプログラム５００に返信する。
【００５２】
Ｓ１５０６において、ダウンロードプログラム５００は、拡張プログラム実行プラットフォーム３０３に対して、配信サーバー１０３から受信した紹介プログラム８００のインストールを指示する。
【００５３】
Ｓ１５０７において、拡張プログラム実行プラットフォーム３０３は、紹介プログラム８００のインストールを実行し、そのインストール結果をダウンロードプログラム５００に対して通知する。そして、本処理フローは終了する。
【００５４】
［更新処理］
紹介プログラム８００は、自身が開始される際に、ダウンロードプログラム５００に対して、配信可能拡張プログラム情報９００が更新されたことを通知する。ダウンロードプログラム５００は、紹介プログラム８００からの更新通知に起因して、紹介プログラム８００から配信可能拡張プログラム情報９００を取得する。以下、図１６を用いて紹介プログラム８００の更新処理について説明する。Ｓ１６０１〜Ｓ１６０７は各ステップを表す。
【００５５】
Ｓ１６０１において、拡張プログラム実行プラットフォーム３０３は、紹介プログラム８００を生成する。ここでの生成とは、ダウンロードした紹介プログラム８００を画像形成装置１０１内において実行可能なように配置、構成することを指す。これにより、紹介プログラム８００はＲＡＭ２０２にロードされ、ＣＰＵ２０１において実行可能な状態になる。
【００５６】
Ｓ１６０２において、拡張プログラム実行プラットフォーム３０３は、紹介プログラム８００の開始を指示する。
【００５７】
Ｓ１６０３において、紹介プログラム８００は、ダウンロードプログラム５００に対して、配信可能拡張プログラム情報９００が更新された旨の通知を行う。
【００５８】
Ｓ１６０４において、ダウンロードプログラム５００は、紹介プログラム８００からの更新通知を受け付けると、その応答として、紹介プログラム８００に対して、配信可能拡張プログラム情報９００の取得要求を行う。
【００５９】
Ｓ１６０５において、紹介プログラム８００は、ダウンロードプログラム５００からの要求を受け付けると、その応答として、配信可能拡張プログラム情報９００を、ダウンロードプログラム５００に送信する。ここで送信する配信可能拡張プログラム情報９００は、更新された差分のみを送信するようにしてもよいし、更新後の配信可能拡張プログラム情報９００全体を送信するようにしてもよい。
【００６０】
Ｓ１６０６において、ダウンロードプログラム５００は、紹介プログラム８００から更新後の配信可能拡張プログラム情報９００を受信すると、紹介プログラム８００に対して更新処理の結果を送信する。
【００６１】
Ｓ１６０７において、紹介プログラム８００は、ダウンロードプログラム５００から配信可能拡張プログラム情報９００の更新処理の結果を受信すると、拡張プログラム実行プラットフォーム３０３に対し開始処理の結果を送信する。そして、本処理フローは終了する。
【００６２】
［拡張プログラム情報表示］
図６及び図７を用いてダウンロードプログラム５００が操作部２１２に表示する画面について説明する。
【００６３】
図６は、ダウンロードプログラム５００が操作部２１２に表示する拡張プログラム一覧画面６００の構成例を示す図である。拡張プログラム一覧画面６００は、ボタン表示パネル６０１、拡張プログラム情報ボタン６０２、切り替えボタン６０３、および更新ボタン６０４を有する。ボタン表示パネル６０１は、拡張プログラム情報ボタン６０２をまとめて扱うためパネルである。ボタン表示パネル６０１は、拡張プログラム情報ボタン６０２の数に応じて複数用意される場合がある。拡張プログラム情報ボタン６０２は、配信可能な拡張プログラム３０５の概要を画像と文字を組み合わせて表示するボタンである。拡張プログラム情報ボタン６０２として表示される画像は、図９に示した説明画像９０４に対応する。ダウンロードプログラム５００は、拡張プログラム情報ボタン６０２が押下されたことを検知すると、図７を用いて後述する詳細情報画面７００を表示する。切り替えボタン６０３は、ボタン表示パネル６０１が複数ある場合に、表示するボタン表示パネル６０１を切り替えるためのボタンである。更新ボタン６０４は、ダウンロードプログラム５００が保持する配信可能拡張プログラム情報９００を更新するためのボタンである。つまり、更新ボタン６０４が押下された際には、図１５に示す処理フローが実行される。
【００６４】
図７は、ダウンロードプログラム５００が操作部２１２に表示する詳細情報画面７００の例を示す図である。図７（ａ）は、表示している拡張プログラム３０５が問題なくダウンロードおよびインストールできる場合の画面の構成例を示す。図７（ｂ）は、表示している拡張プログラム３０５をダウンロードおよびインストールするためにはリソースが不足している場合の画面の構成例を示す。
【００６５】
図７（ａ）と図７（ｂ）とでは、ダウンロードボタン７０１のアイコンが異なる。ダウンロードボタン７０１のアイコンを切り替える処理については後述する。詳細情報画面７００は、ダウンロードボタン７０１、タイトル画像７０２、詳細情報表示パネル７０３、および切り替えボタン７０４を有する。ダウンロードボタン７０１は、詳細情報を表示している拡張プログラム３０５のダウンロードおよびインストールを指示するためのボタンである。
【００６６】
タイトル画像７０２は、拡張プログラム３０５のタイトルとなる画像である。タイトル画像７０２は、図９の詳細画面タイトルロゴ９０７の画像に対応する。詳細情報表示パネル７０３は、拡張プログラム３０５の特徴や使い方が描かれた画像を表示するためのパネルである。詳細情報表示パネル７０３は、特徴や使い方が描かれた画像の数に応じて複数用意される場合がある。詳細情報表示パネル７０３は、図９に示した説明画像９０４に対応する。詳細情報表示パネル切り替えボタン７０４は、詳細情報表示パネル７０３が複数ある場合に、表示する詳細情報表示パネル７０３を切り替えるためのボタンである。
【００６７】
［ボタン表示切り替え処理］
図１８は、ダウンロードボタン７０１の切り替え処理の例を示すフローチャートである。Ｓ１８０１〜Ｓ１８０３は各ステップを表す。
【００６８】
Ｓ１８０１において、ダウンロードプログラム５００は、拡張プログラム実行プラットフォーム３０３や拡張プログラムシステムサービス３０４を介して、画像形成装置１０１の空きリソース量を取得する。次に、ダウンロードプログラム５００は、取得した空きリソース量と、紹介プログラム８００から取得した拡張プログラム３０５のマニフェストファイル９０９に記載されている拡張プログラムが使用するリソース量とを比較する。つまり、新たにインストールしようとしている拡張プログラム３０５をインストールするために必要なリソース量を確保できるか否かを判定する。新たにインストールしようとしている拡張プログラムが使用するリソース量の方が小さい場合は（Ｓ１８０１にてＹＥＳ）、Ｓ１８０２に遷移する。一方、そうで無い場合は（Ｓ１８０１にてＮＯ）、Ｓ１８０３に遷移する。
【００６９】
Ｓ１８０２において、ダウンロードプログラム５００は、ダウンロードプログラム５００が保持するダウンロードボタン７０１のデフォルトアイコン（すなわち、図７（ａ）に示す画像）を取得し、ダウンロードボタン７０１のアイコンとして設定する。
【００７０】
Ｓ１８０３において、ダウンロードプログラム５００は、自身が保持するダウンロードボタン７０１のリソース不足アイコン（すなわち、図７（ｂ）に示す画像）を取得し、ダウンロードボタン７０１のアイコンとして設定する。そして、本処理フローは終了する。
【００７１】
なお、本実施形態では、ダウンロードが可能か否かを、リソースの空き状況に応じてアイコンの表示を切り替えて示しているが、これに限定するものではない。例えば、所定のメッセージを表示するようにしてもよいし、どの程度リソースが不足しているかを表示してもよい。
【００７２】
［拡張プログラムのダウンロード及びインストール］
ダウンロードプログラム５００は、詳細情報画面７００の表示中にダウンロードボタン７０１が押下されたことを検知すると、指示された拡張プログラム３０５を配信サーバー１０３からダウンロードし、インストールさせる。以下、図１９を用いて拡張プログラムダウンロード及びインストール処理について説明する。Ｓ１９０１〜Ｓ１９１５は各ステップを表す。
【００７３】
Ｓ１９０１において、ダウンロードプログラム５００は、拡張プログラム実行プラットフォーム３０３や拡張プログラムシステムサービス３０４を介して、画像形成装置１０１の空きリソース量を取得する。次に、ダウンロードプログラム５００は、保持している配信可能拡張プログラム情報９００に含まれる拡張プログラム３０５のマニフェストファイル９０９を参照し、新たにインストールしようとする拡張プログラム３０５が使用するリソース量と比較する。新たにインストールしようとする拡張プログラム３０５が使用するリソース量の方が小さい場合は（Ｓ１９０１にてＹＥＳ）、Ｓ１９０２に遷移し、そうで無い場合は（Ｓ１９０１にてＮＯ）、Ｓ１９０４に遷移する。
【００７４】
Ｓ１９０２において、ダウンロードプログラム５００は、配信サーバー１０３からユーザーにより指定された拡張プログラム３０５を、紹介プログラム８００から取得した識別情報およびキー情報１００３を用いてダウンロードする。Ｓ１９０３において、ダウンロードプログラム５００は、配信サーバー１０３からダウンロードした拡張プログラム３０５を、拡張プログラム実行プラットフォーム３０３に指示してインストールさせる。そして、本処理フローを終了する。
【００７５】
Ｓ１９０４において、ダウンロードプログラム５００は、以前にダウンロードプログラム５００がインストールした拡張プログラム３０５があるか否かを判定する。インストール済みの拡張プログラム３０５がある場合は（Ｓ１９０４にてＹＥＳ）、Ｓ１９０５に遷移し、そうで無い場合は（Ｓ１９０４にてＮＯ）Ｓ１９１４に遷移する。
【００７６】
Ｓ１９０５において、ダウンロードプログラム５００は、ユーザーにより指定された拡張プログラム３０５をダウンロードおよびインストールする場合に不足するリソースがファイルスペース（すなわち、記憶領域）であるか否かを判定する。不足しているリソースがファイルスペースである場合は（Ｓ１９０５にてＹＥＳ）、Ｓ１９０６に遷移し、そうで無い場合は（Ｓ１９０５にてＮＯ）Ｓ１９１０に遷移する。
【００７７】
Ｓ１９０６において、ダウンロードプログラム５００は、インストール済みの拡張プログラム３０５が使用すると宣言しているファイルスペース消費量を、そのインストール済みの拡張プログラム３０５のマニフェストファイル９０９を参照し、算出する。そして、ダウンロードプログラム５００は、算出したファイルスペース消費量と、新たにインストールしようとしている拡張プログラム３０５をインストールするために不足しているファイルスペース消費量とを比較する。比較の結果、不足しているファイルスペース消費量の方が小さい場合は（Ｓ１９０６にてＹＥＳ）Ｓ１９０７に遷移し、そうで無い場合は（Ｓ１９０７にてＮＯ）Ｓ１９１４に遷移する。
【００７８】
Ｓ１９０７において、ダウンロードプログラム５００は、図２０に示すアンインストール拡張プログラム選択ダイアログ２０００を操作部２１２に表示する。Ｓ１９０８において、ダウンロードプログラム５００は、ユーザーによるボタン押下を待つ。
【００７９】
図２０は、ダウンロードプログラム５００が、操作部２１２に表示するアンインストール拡張プログラム選択ダイアログ２０００の例を示す図である。アンインストール拡張プログラム選択ダイアログ２０００は、アンインストールボタン２００１、キャンセルボタン２００２、拡張プログラムリスト２００３、およびメッセージラベル２００４を含む。アンインストールボタン２００１は、拡張プログラム３０５のアンインストールを指示するためのボタンである。アンインストールボタン２００１は、アンインストールする拡張プログラムが一つ以上選択されているときのみ押下可能な状態となる。キャンセルボタン２００２は、拡張プログラム３０５のアンインストールを取り消すためのボタンである。拡張プログラムリスト２００３は、アンインストールすることができる拡張プログラム３０５を列挙するリストである。アンインストールする拡張プログラムは、複数選択することができる。メッセージラベル２００４は、ユーザーに操作を促すためのメッセージを表示するラベルである。ユーザーがアンインストールボタン２００１またはキャンセルボタン２００２を押下すると、ボタン押下イベントが発生する。
【００８０】
Ｓ１９０８において、ダウンロードプログラム５００は、ボタン押下イベントを検知すると、押下されたボタンがアンインストールボタン２００１であるか否かを判定する。アンインストールボタン２００１が押下された場合は（Ｓ１９０８にてＹＥＳ）、Ｓ１９０９に遷移し、キャンセルボタン２００２が押下された場合は（Ｓ１９０８にてＮＯ）、Ｓ１９１４に遷移する。
【００８１】
Ｓ１９０９において、ダウンロードプログラム５００は、ユーザーが選択した拡張プログラム３０５のアンインストールを拡張プログラム実行プラットフォーム３０３に指示する。そしてＳ１９０１に遷移する。
【００８２】
Ｓ１９１０において、ダウンロードプログラム５００は、インストール済みの拡張プログラム３０５が使用すると宣言しているメモリー消費量及びスレッド消費量を算出する。そして、ダウンロードプログラム５００は、算出したメモリー消費量及びスレッド消費量と、新たにインストールしようとしている拡張プログラム３０５をインストールするために不足しているメモリー消費量及びスレッド消費量とをそれぞれ比較する。比較の結果、新たにインストールしようとしている拡張プログラムをインストールした場合に不足しているメモリー消費量及びスレッド消費量の両方が小さい場合は（Ｓ１９１０にてＹＥＳ）、Ｓ１９１１に遷移する。そうで無い場合は（Ｓ１９１０にてＮＯ）、Ｓ１９１４に遷移する。
【００８３】
Ｓ１９１１において、ダウンロードプログラム５００は、図２１に示す停止拡張プログラム選択ダイアログ２１００を操作部２１２に表示する。Ｓ１９１２において、ダウンロードプログラム５００は、ユーザーによるボタン押下を待つ。
【００８４】
図２１は、ダウンロードプログラム５００が、操作部２１２に表示する停止拡張プログラム選択ダイアログ２１００の例を示す図である。停止拡張プログラム選択ダイアログ２１００は、停止ボタン２１０１、キャンセルボタン２１０２、拡張プログラムリスト２１０３、およびメッセージラベル２１０４を含む。停止ボタン２１０１は、拡張プログラム３０５の停止を指示するためのボタンである。停止ボタン２１０１は、停止する拡張プログラムが一つ以上選択されているときのみ押下可能な状態となる。キャンセルボタン２１０２は、拡張プログラム３０５の停止を取り消すためのボタンである。拡張プログラムリスト２１０３は、停止することができる拡張プログラム３０５を列挙するリストである。停止する拡張プログラムは、複数選択することができる。メッセージラベル２１０４は、ユーザーに操作を促すためのメッセージを表示するラベルである。ユーザーが停止ボタン２１０１またはキャンセルボタン２１０２を押下すると、ボタン押下イベントが発生する。
【００８５】
Ｓ１９１２において、ダウンロードプログラム５００は、ボタン押下イベントを検知すると、押下されたボタンが停止ボタン２１０１であるか否かを判定する。停止ボタン２１０１が押下された場合は（Ｓ１９１２にてＹＥＳ）、Ｓ１９１３に遷移し、キャンセルボタンが押下された場合は（Ｓ１９１２にてＮＯ）、Ｓ１９１４に遷移する。
【００８６】
Ｓ１９１３において、ダウンロードプログラム５００は、ユーザーが選択した拡張プログラム３０５の停止を拡張プログラム実行プラットフォーム３０３に指示する。そしてＳ１９０１に遷移する。
【００８７】
Ｓ１９１４において、ダウンロードプログラム５００は、図２２に示すダウンロード不可通知ダイアログ２２００を操作部２１２に表示する。Ｓ１９１５において、ダウンロードプログラム５００は、ＯＫボタン２２０１の押下を待つ。
【００８８】
図２２は、ダウンロードプログラム５００が、操作部２１２に表示するダウンロード不可通知ダイアログ２２００の例を示す図である。ダウンロード不可通知ダイアログ２２００は、ＯＫボタン２２０１、およびメッセージラベル２２０２を含む。ＯＫボタン２２０１は、ダウンロード不可通知ダイアログ２２００をクローズするためのボタンである。メッセージラベル２２０２は、ユーザーにリソース不足のため拡張プログラムをダウンロードすることが出来ない旨を通知するメッセージを表示するラベルである。ユーザーがＯＫボタン２２０１を押下すると、ボタン押下イベントが発生する。
【００８９】
Ｓ１９１５において、ダウンロードプログラム５００は、ＯＫボタン２２０１の押下を検知すると（Ｓ１９１５にてＹＥＳ）、ダウンロード不可通知ダイアログ２２００を閉じ、本処理フローを終了する。
【００９０】
本実施形態によれば、したがって、ユーザーが容易に且つ低コストに拡張プログラムを外部システムからダウンロードし、インストールする手段を有する情報処理装置を提供することができる。また、拡張プログラムをインストールする際に要するプロダクトキーなどのキー情報の手入力や管理が不要になり、ユーザーの利便性が向上する。
【００９１】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００９２】
１０１…画像形成装置、１０３…配信サーバー、３０３…拡張プログラム実行プラットフォーム、３０５…拡張プログラム、５００…ダウンロードプログラム、８００…紹介プログラム
【図１】
2016035713.tif 000003
【図２】
2016035713.tif 000004
【図３】
2016035713.tif 000005
【図４】
2016035713.tif 000006
【図５】
2016035713.tif 000007
【図６】
2016035713.tif 000008
【図７】
2016035713.tif 000009
【図８】
2016035713.tif 000010
【図９】
2016035713.tif 000011
【図１０】
2016035713.tif 000012
【図１１】
2016035713.tif 000013
【図１２】
2016035713.tif 000014
【図１３】
2016035713.tif 000015
【図１４】
2016035713.tif 000016
【図１５】
2016035713.tif 000017
【図１６】
2016035713.tif 000018
【図１７】
2016035713.tif 000019
【図１８】
2016035713.tif 000020
【図１９】
2016035713.tif 000021
【図２０】
2016035713.tif 000022
【図２１】
2016035713.tif 000023
【図２２】
2016035713.tif 000024