(57)【要約】【課題】情報処理装置からデバイスを利用し易いアプリケーションプログラムを提供すること。【解決手段】本発明のアプリケーションプログラムによれば、本体インストーラは、本体プログラムとともに、情報処理装置からのデバイスの利用を可能にする特定機能を実現するための特定機能プログラムを、情報処理装置にインストールするので、本体プログラムのインストール後、特定機能を直ぐに利用できる。一方で、特定機能以外の単体機能を実現するための単体機能プログラムは、ユーザインタフェースを介して、単体機能に対する実行指示が入力された場合に、情報処理装置にインストールされるので、その分、最初のインストール、すなわち、本体インストーラによるインストールに要する時間を短くできる。【選択図】図１
2015087898.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムであって、
本体インストーラと、
本体プログラムと、
デバイスを利用して実現可能な複数の機能のうち、情報処理装置からのデバイスの利用を可能にする特定機能を実現するための特定機能プログラムと、
前記複数の機能のうち、前記特定機能以外の単体機能を実現するための単体機能プログラムと、を含み、
前記本体インストーラは、
前記本体プログラムと前記特定機能プログラムとを前記情報処理装置にインストールする第１インストール手段として、
前記情報処理装置を機能させ、
前記本体プログラムは、
前記複数の機能を対象として、前記特定機能と、対応する単体機能プログラムが未インストールの状態の前記単体機能と、を含む各機能の実行指示を入力可能なユーザインタフェースを表示部に表示するユーザインタフェース手段と、
前記複数の機能のうち、１の機能に対する実行指示が前記ユーザインタフェースを介して入力された場合に、当該１の機能が、対応する単体機能プログラムが未インストールの状態である前記単体機能である場合、当該単体機能プログラムをインストールするための単体インストーラを、当該単体インストーラの記憶場所から取得し、当該単体インストーラを用いて、前記実行指示に対応する単体機能プログラムをインストールする第２インストール手段と、
前記実行指示の対象である１の機能が前記特定機能である場合には、前記特定機能プログラムを用いて、当該１の機能を実現する一方で、前記実行指示の対象である１の機能が前記未インストールの状態の単体機能である場合には、前記第２インストール手段によって前記実行指示の対象である単体機能に対応する単体機能プログラムがインストールされた後に、実現する機能実現手段として、
前記情報処理装置を機能させることを特徴とするアプリケーションプログラム。
【請求項２】
前記本体プログラムは、
前記単体機能に対する実行指示が入力された場合、当該実行指示の対象である単体機能における設定値を入力可能な機能画面を表示する機能画面表示手段として、前記情報処理装置を機能させ、
前記機能実現手段は、前記機能画面を介して、前記実行指示の対象である単体機能における設定値の入力の終了が指示されたときに、前記第２インストール手段によりインストールされた前記単体機能プログラムを用いて、前記機能画面を介して入力された設定値に従って、前記実行指示の対象である単体機能を実行することを特徴とする請求項１記載のアプリケーションプログラム。
【請求項３】
前記第２インストール手段は、前記機能画面表示手段による前記機能画面の表示中に並行して、前記実行指示の対象である単体機能プログラムのインストールを行うことを特徴とする請求項２に記載のアプリケーションプログラム。
【請求項４】
前記機能実現手段は、前記機能画面を介して、前記実行指示の対象である単体機能における設定値の入力の終了が指示されたときに、前記第２インストール手段による前記単体機能プログラムのインストールが完了している場合には、インストールされた前記単体機能プログラムを用いて、前記機能画面を介して入力された設定値に従って、前記実行指示の対象である単体機能を実行する一方で、前記第２インストール手段による前記単体機能プログラムのインストールが完了していない場合には、当該インストールの完了を待機し、当該インストールが完了したことを条件として、インストールされた前記単体機能プログラムを用いて、前記機能画面を介して入力された設定値に従って、前記実行指示の対象である単体機能を実行することを特徴とする請求項３記載のアプリケーションプログラム。
【請求項５】
前記ユーザインタフェース手段は、前記複数の機能を対象として、前記特定機能と、対応する単体機能プログラムが未インストールの状態の前記単体機能と、対応する単体機能プログラムがインストール済の状態の前記単体機能とを含む各機能の実行指示を入力可能なユーザインタフェースを表示部に表示し、
前記機能実現手段は、
前記実行指示の対象である単体機能が、前記インストール済の状態の単体機能であった場合は、前記機能画面を介して、前記実行指示の対象である単体機能における設定値の入力の終了が指示されたときに、前記機能画面を介して入力された設定値に従って、前記実行指示の対象である単体機能を実行し、
前記実行指示の対象である単体機能が、前記未インストール済の状態の単体機能であった場合は、前記機能画面を介して、前記実行指示の対象である単体機能における設定値の入力の終了が指示されたときに、前記第２インストール手段による前記単体機能プログラムのインストールが完了している場合には、インストールされた前記単体機能プログラムを用いて、前記機能画面を介して入力された設定値に従って、前記実行指示の対象である単体機能を実行する一方で、前記第２インストール手段による前記単体機能プログラムのインストールが完了していない場合には、当該インストールの完了を待機し、当該インストールが完了したことを条件として、インストールされた前記単体機能プログラムを用いて、前記機能画面を介して入力された設定値に従って、前記実行指示の対象である単体機能を実行することを特徴とする請求項４記載のアプリケーションプログラム。
【請求項６】
前記本体プログラムは、
対象となるデバイスの性能を特定可能な情報を、当該性能を特定可能な情報の記憶場所から取得する情報取得手段として、
前記情報処理装置を機能させ、
前記第２インストール手段は、前記実行指示の対象である１の機能に対応し、かつ、前記情報取得手段により取得された性能を特定可能な情報に対応する前記単体機能プログラムをインストールするための単体インストーラを取得することを特徴とする請求項１から５のいずれかに記載のアプリケーションプログラム。
【請求項７】
前記本体プログラムは、
前記第２インストール手段による、前記単体機能プログラムのインストールが完了するまでの期間中、前記複数の機能に含まれる全ての単体機能のうち、前記単体機能プログラムが未インストールの状態である単体機能の中から、インストール対象とする単体機能を選択させるための第１選択画面を表示させる第１選択画面表示手段として、
前記情報処理装置を機能させ、
前記第２インストール手段は、前記実行指示に対応する単体機能プログラムをインストールするための単体インストーラを、当該単体インストーラの記憶場所から取得し、当該単体インストーラを用いて、当該実行指示に対応する単体機能プログラムをインストールするとともに、前記第１選択画面を介して選択された単体機能プログラムをインストールするための単体インストーラを、当該単体インストーラの記憶場所から取得し、当該単体インストーラを用いて、当該選択された単体機能プログラムをインストールすることを特徴とする請求項１から６のいずれかに記載のアプリケーションプログラム。
【請求項８】
前記第１インストール手段は、前記本体プログラムと、前記本体プログラムに対応し得るモデルのうち、所定モデルに対応する前記特定機能プログラムとをインストールし、
前記本体プログラムは、
前記本体プログラムに対応し得るモデルのリストを表示させるリスト表示手段と、
前記リスト表示手段により表示されたリストに基づいて、１のモデルが選択された場合、当該選択されたモデルに対応する前記特定機能プログラムがインストールされているかを判断する第１判断手段と、
前記第１判断手段により、前記選択されたモデルに対応する特定機能プログラムが未インストールの状態であると判断された場合に、当該特定機能プログラムを前記情報処理装置にインストールする第３インストール手段として、
を前記情報処理装置を機能させることを特徴とする請求項１から７のいずれかに記載のアプリケーションプログラム。
【請求項９】
前記リスト表示手段は、前記機能実現手段により前記１の機能を実現させた際にエラーが生じた場合に、前記リストを表示させることを特徴とする請求項８記載のアプリケーションプログラム。
【請求項１０】
前記本体プログラムは、
前記本体プログラムに対応し得る各モデルの最終使用日を管理する管理手段と、
前記管理手段により管理される最終使用日から所定期間が経過した期限切れのモデルがあるか否かを判断する第２判断手段と、
前記第２判断手段により前記期限切れのモデルがあると判断された場合、当該期限切れのモデルを対象とし、少なくとも、インストール済みの前記単体機能プログラムをアンインストールするアンインストール手段として、
前記情報処理装置を機能させることを特徴とする請求項１から９のいずれかに記載のアプリケーションプログラム。
【請求項１１】
前記本体プログラムは、
前記本体プログラムに対応し得る各モデルの機能毎に、機能の最終使用日を管理する管理手段と、
前記管理手段により管理される最終使用日から所定期間が経過した期限切れの機能を有するモデルがあるか否かを判断する第２判断手段と、
前記第２判断手段により前記期限切れの単体機能を有するモデルがあると判断された場合、当該モデルを対象とし、前記期限切れの単体機能に対応する前記単体機能プログラムをアンインストールするアンインストール手段として、
前記情報処理装置を機能させることを特徴とする請求項１から９のいずれかに記載のアプリケーションプログラム。
【請求項１２】
前記アンインストール手段は、アンインストール対象の単体機能プログラムに対応する単体インストーラを前記情報処理装置に残すことを特徴とする請求項１０または１１に記載のアプリケーションプログラム。
【請求項１３】
前記第２インストール手段は、前記実行指示の対象であるデバイスから、当該実行指示に対応する単体機能プログラムをインストールするための単体インストーラを取得することを特徴とする請求項１から１２のいずれかに記載のアプリケーションプログラム。
【請求項１４】
前記本体プログラムは、
デバイスが保有する単体インストーラのバージョンと、ネットワーク上のサーバにて公開されている単体インストーラのバージョンとを比較する比較手段として、
前記情報処理装置を機能させ、
前記第２インストール手段は、前記比較手段による比較に基づき、より新しいバージョンの単体インストーラを、前記デバイスまたは前記サーバから取得することを特徴とする請求項１３記載のアプリケーションプログラム。
【請求項１５】
前記本体インストーラは、
前記機能に対する実行指示とは無関係に、前記単体機能プログラムを全てインストールするか否かを選択させるための第２選択画面を表示させる第２選択画面表示手段として、
前記情報処理装置を機能させ、
前記本体インストーラまたは前記本体プログラムは、
前記第２選択画面を介して、前記単体機能プログラムを全てインストールすると選択された場合、前記機能に対する実行指示とは無関係に、前記第１インストール手段によるインストールの後または前の連続する期間を利用して、前記単体機能プログラム各々をインストールするための各単体インストーラを、当該各単体インストーラの記憶場所から取得し、当該各単体インストーラを用いて、前記各単体機能プログラムをインストールする第４インストール手段として、
前記情報処理装置を機能させることを特徴とする請求項１から１４のいずれかに記載のアプリケーションプログラム。
【請求項１６】
前記本体インストーラは、
前記機能に対する実行指示とは無関係に、前記単体機能プログラムを全てインストールするか否かを選択させるための第２選択画面を表示させる第２選択画面表示手段として、
前記情報処理装置を機能させ、
前記本体プログラムは、
前記第２選択画面を介して、前記単体機能プログラムを全てインストールすると選択された場合、前記機能に対する実行指示とは無関係に、前記情報処理装置の制御負荷が高いとみなされる所定の状況が発生していない期間が発生する毎に、当該期間を利用して、前記単体機能プログラム各々をインストールするための各単体インストーラを、当該各単体インストーラの記憶場所から取得し、当該各単体インストーラを用いて、前記各単体機能プログラムを順次インストールする第５インストール手段として、
前記情報処理装置を機能させることを特徴とする請求項１から１４のいずれかに記載のアプリケーションプログラム。
【請求項１７】
前記本体インストーラは、
前記第２選択画面を介して、前記単体機能プログラムを全てインストールすると選択された場合、前記機能に対する実行指示とは無関係に、前記第１インストール手段によるインストールの後または前の連続する期間を利用して、前記単体機能プログラム各々をインストールするための各単体インストーラを、当該各単体インストーラの記憶場所から取得し、当該各単体インストーラを用いて、前記各単体機能プログラムをインストールする第４インストール手段として、
前記情報処理装置を機能させ、
前記第２選択画面表示手段は、前記第４インストール手段によるインストールと、前記第５インストール手段によるインストールとを選択可能に、前記第２選択画面を表示させることを特徴とする請求項１６記載のアプリケーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータ（以下「ＰＣ」と称す）などの情報処理装置から、当該情報処理装置に接続されたＭＦＰを用いた複数の機能を利用するために、機能ごとのアプリケーションをインストールする場合がある。特許文献１には、複数のアプリケーションを連続してインストールする方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２３４６３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載される方法によれば、複数の機能のうち、どの機能をユーザが必要としているかを考慮していない。そのため、ユーザは、機能を利用するために、インストールの開始から、全てのアプリケーションがインストールされるまで待つ必要があった。
【０００５】
本発明は、上述した事情を鑑みてなされたものであり、情報処理装置からデバイスを利用し易いアプリケーションプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
この目的を達成するために、本発明のアプリケーションプログラムは、本体インストーラと、本体プログラムと、デバイスを利用して実現可能な複数の機能のうち、情報処理装置からのデバイスの利用を可能にする特定機能を実現するための特定機能プログラムと、前記複数の機能のうち、前記特定機能以外の単体機能を実現するための単体機能プログラムと、を含み、前記本体インストーラは、前記本体プログラムと前記特定機能プログラムとを前記情報処理装置にインストールする第１インストール手段として、前記情報処理装置を機能させ、前記本体プログラムは、前記複数の機能を対象として、前記特定機能と、対応する単体機能プログラムが未インストールの状態の前記単体機能と、を含む各機能の実行指示を入力可能なユーザインタフェースを表示部に表示するユーザインタフェース手段と、前記複数の機能のうち、１の機能に対する実行指示が前記ユーザインタフェースを介して入力された場合に、当該１の機能が、対応する単体機能プログラムが未インストールの状態である前記単体機能である場合、当該単体機能プログラムをインストールするための単体インストーラを、当該単体インストーラの記憶場所から取得し、当該単体インストーラを用いて、前記実行指示に対応する単体機能プログラムをインストールする第２インストール手段と、前記実行指示の対象である１の機能が前記特定機能である場合には、前記特定機能プログラムを用いて、当該１の機能を実現する一方で、前記実行指示の対象である１の機能が前記未インストールの状態の単体機能である場合には、前記第２インストール手段によって前記実行指示の対象である単体機能に対応する単体機能プログラムがインストールされた後に、実現する機能実現手段として、前記情報処理装置を機能させる。
【０００７】
なお、本発明は、アプリケーションプログラムを記録する記録媒体、アプリケーションプログラムに従う制御を実行する制御装置、当該制御装置を含む情報処理装置、情報処理方法、情報処理システム等の種々の態様で構成できる。
【発明の効果】
【０００８】
本明細書の実施形態に記載のアプリケーションプログラム、当該アプリケーションプログラムに従う制御を実行する制御装置、当該制御装置を含む情報処理装置、情報処理方法、情報処理システム等によれば、本体インストーラは、本体プログラムとともに、情報処理装置からのデバイスの利用を可能にする特定機能を実現するための特定機能プログラムを、情報処理装置にインストールするので、本体プログラムのインストール後、特定機能を直ぐに利用できる。一方で、特定機能以外の単体機能を実現するための単体機能プログラムは、ユーザインタフェースを介して、単体機能に対する実行指示が入力された場合に、情報処理装置にインストールされるので、その分、最初のインストール、すなわち、本体インストーラによるインストールに要する時間を短くできる。
【０００９】
本明細書の実施形態に記載のアプリケーションプログラム等によれば、実行指示の入力をトリガとして、当該実行指示の対象である単体機能における設定値の入力と、対応する単体機能プログラムのインストールとが行われるので、単体機能プログラムのインストール後、直ちに、実行指示の対象である単体機能を好適な設定値で実行できる。より好適には、実行指示の対象である単体機能プログラムのインストールは、当該単体機能における設定値を入力可能な機能画面の表示中に並行して行われるので、設定値の入力期間を利用して効率的に単体機能プログラムをインストールできる。
【００１０】
特に、実行指示の対象である単体機能における設定値の入力の終了が指示された場合に、対応する単体機能プログラムのインストールが完了していない場合には、当該インストールの完了を待機し、当該インストールが完了したことを条件として、インストールされた単体機能プログラムを用いて、実行指示の対象である単体機能が実行されるので、対応する単体機能プログラムが未インストールの状態にある単体機能に対する実行指示がされてから、当該単体機能が好適な設定値で実行されるまでの期間を最小限に抑制できる。また、インストール済の単体機能プログラムに対する実行指示が入力された場合には、実行指示の対象である単体機能における設定値の入力の終了が指示されると、当該インストール済の単体機能プログラムを用いて、入力された設定値に従って、実行指示の対象である単体機能が実行されるので、インストール済の単体機能プログラムについても、対応する単体機能を好適な設定値で実行できる。
【００１１】
本明細書の実施形態に記載のアプリケーションプログラム等によれば、対象となるデバイスの性能情報を、当該性能情報の記憶場所から取得し、取得した性能情報に対応する単体機能プログラムがインストールされるので、デバイスの性能に適さない単体機能プログラムがインストールされることを防止できる。
【００１２】
本明細書の実施形態に記載のアプリケーションプログラム等によれば、実行指示に対応する単体機能プログラムだけでなく、第１選択画面を介してインストール対象として選択された単体機能プログラムをインストールできるので、一度に必要な分だけ単体機能プログラムをインストールできる。
【００１３】
本明細書の実施形態に記載のアプリケーションプログラム等によれば、本体プログラムに対応し得るモデルのリストに基づき、１のモデルが選択された場合、当該選択されたモデルに対応する特定機能プログラムが未インストールの状態である場合には、当該特定機能プログラムが情報処理装置にインストールされるので、本体プログラムに対応し得るモデルの中から、適宜のモデルに対応する特定機能プログラムを容易にインストールできる。特に、本体プログラムに対応し得るモデルのリストは、１の機能を実現させた際にエラーが生じた場合に表示されるので、他のモデルを、１の機能を実現さるための代替として利用できる。
【００１４】
本明細書の実施形態に記載のアプリケーションプログラム等によれば、最終使用日から所定期間が経過した期限切れのモデルがある場合には、当該期限切れのモデルを対象とし、少なくとも、インストール済みの前記単体機能プログラムがアンインストールされるので、情報処理装置における記憶部の記憶容量を効率的に利用できる。
【００１５】
本明細書の実施形態に記載のアプリケーションプログラム等によれば、最終使用日から所定期間が経過した期限切れの機能を有するモデルがある場合には、当該モデルを対象とし、期限切れの単体機能に対応する単体機能プログラムがアンインストールされるので、情報処理装置における記憶部の記憶容量を効率的に利用できる。
【００１６】
本明細書の実施形態に記載のアプリケーションプログラム等によれば、単体機能プログラムがアンインストールされた場合であっても、アンインストール対象の単体機能プログラムに対応する単体インストーラが情報処理装置に残されるので、残された単体インストーラを用いて、単体機能プログラムを再度インストールできる。よって、当該単体インストーラを再度取得する必要がないので、アンインストールされた単体機能プログラムの再インストールを容易に行い得る。
【００１７】
本明細書の実施形態に記載のアプリケーションプログラム等によれば、実行指示の対象であるデバイスから単体インストーラを取得するので、単体インストーラをネットワーク上のサーバから取得する場合に比べて、単体インストーラの取得に要する時間を短くできる。特に、デバイスが保有する単体インストーラのバージョンと、ネットワーク上のサーバにて公開されている単体インストーラのバージョンのうち、より新しいバージョンの単体インストーラがインストールされるので、古いバージョンの単体機能プログラムがインストールされることを抑制できる。
【００１８】
本明細書の実施形態に記載のアプリケーションプログラム等によれば、機能に対する実行指示とは無関係に、本体インストーラによる本体プログラムおよび特定機能プログラムのインストールの後または前の連続する期間を利用して、全ての単体機能プログラムをインストールすることを、必要に応じて選択できるので、単体機能プログラムを都合に応じた方法でインストールできる。
【００１９】
本明細書の実施形態に記載のアプリケーションプログラム等によれば、機能に対する実行指示とは無関係に、情報処理装置の制御負荷が高いとみなされる所定の状況が発生していない期間が発生する毎に、当該期間を利用して、全ての単体機能プログラムをインストールすることを、必要に応じて選択できるので、単体機能プログラムを都合に応じた方法でインストールできる。また、機能に対する実行指示とは無関係に全ての単体機能プログラムをインストールする場合であっても、情報処理装置の制御負荷を抑制できるので、ダウンロード時間やインストール時間の遅れを抑制できる。特に、全ての単体機能プログラムのインストールを、前記所定の状況が発生していない期間が発生する毎に行うか、本体インストーラによる本体プログラムおよび特定機能プログラムのインストールの後または前の連続する期間を利用して行うかを選択できるので、都合に応じたインストール方法を利用できる。
【００２０】
なお、特許請求の範囲および明細書において、用語「情報」と用語「データ」とでは、「情報」を「データ」の上位概念として用いている。そのため、「Ａデータ」との記載を「Ａ情報」と言い換えてもよい。また、「データ」及び「情報」は、形式（例えば、テキスト形式、バイナリ形式、フラグ形式等）がコンピュータ毎に変更されたとしても、同一の意味内容と認識される限り、同一のデータ及び情報として取り扱われる。例えば、「２つ」であることを示す情報が、あるコンピュータではＡＳＣＩＩコードで”０ｘ３２”というテキスト形式の情報として保持され、別のコンピュータでは二進数表記で”１０”というバイナリ形式の情報として保持されてもよい。但し、「データ」及び「情報」の区別は厳密なものではなく、例外的な取り扱いも許容される。
【図面の簡単な説明】
【００２１】
【図１】（ａ）および（ｂ）は、それぞれ、デバイス利用アプリケーション、およびデバイス利用アプリケーションを利用可能な情報処理装置の構成を示すブロック図である。
【図２】全体ユーザインタフェースの一例を示す模式図である。
【図３】（ａ）、（ｂ）および（ｃ）は、それぞれ、初回インストール処理、単体インストールスレッド、およびモデル切替処理を示すフローチャートである。
【図４】本体プログラム処理を示すフローチャートである。
【図５】第２実施形態の本体プログラム処理を示すフローチャートである。
【図６】（ａ）および（ｂ）は、それぞれ、第３実施形態の初回インストール処理、および順次インストールスレッドを示すフローチャートである。
【図７】第３実施形態の本体プログラム処理を示すフローチャートである。
【図８】第４実施形態の本体プログラム処理を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。まず、図１〜図４を参照して、第１実施形態について説明する。図１（ａ）は、本発明のアプリケーションプログラムの一実施形態である、デバイス利用アプリケーション１００の構成を示すブロック図である。
【００２３】
デバイス利用アプリケーション１００は、制御対象となるデバイス（以下「対象デバイス」と称す）を利用して実現可能な機能を実行させるためのアプリケーションである。なお、特許請求の範囲および明細書において、「デバイスを利用して実現可能な機能」は、デバイスにて実現されるスキャン機能などの機能に限らず、デバイスにて実現される機能を利用して情報処理装置にて実現される機能を含む。デバイスにて実現される機能を利用して情報処理装置にて実現される機能としては、例えば、デバイスのスキャン機能により得られたスキャン画像を、情報処理装置にて、テキスト変換する機能などが例示される。
【００２４】
図１に示すように、デバイス利用アプリケーション１００は、本体インストーラ１２１と、本体プログラム１２２と、基本機能実行部１２３と、単体機能実行部１４１とを含んで構成される。これらの各部１２１，１２２，１２３，１４１のうち、本体インストーラ１２１と本体プログラム１２２と基本機能実行部１２３とから、初回インストール用のパッケージ１２０が構成される。ＰＣなどの情報処理装置は、デバイス利用アプリケーション１００のうち、まず、初回インストール用のパッケージ１２０を、所定の記憶場所、例えば、インターネット上の提供サーバから取得する。
【００２５】
なお、デバイス利用アプリケーション１００などのプログラムは、コンピュータが読み取り可能なストレージ媒体に記憶されてよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、non-transitoryな媒体には含まれない。コンピュータが読み取り可能なストレージ媒体は、例えば、ＲＡＭ（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙの略）、ＲＯＭ（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙの略）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ＿Ｅｒａｓａｂｌｅ＿Ｐｒｏｇｒａｍｍａｂｌｅ＿Ｒｅａｄ−Ｏｎｌｙ＿Ｍｅｍｏｒｙの略）、ＨＤＤ、ＣＰＵが備えるバッファ等、または、それらの組み合わせによって構成される。
【００２６】
non-transitoryな記録媒体は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の他、インターネット５００等の通信ネットワークを介してＰＣ１０或いはＭＦＰ３０に接続可能なサーバ２００に搭載された記憶部を含んでもよい。そして、サーバ２００の記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット５００等の通信ネットワークを介して配信されてもよい。
【００２７】
本体インストーラ１２１は、初回インストールとして、本体プログラム１２２と、基本機能実行部１２３とを、情報処理装置にインストールするためのインストールプログラムである。つまり、本実施形態のデバイス利用アプリケーション１００によれば、単体機能実行部１４１は、本体インストーラ１２１による初回インストール時に情報処理装置にインストールされないように構成される。なお、本体インストーラ１２１には、デバイスの制御に必要な各種設定情報が含まれる。後述する図３（ａ）のフローチャートに示す各処理は、情報処理装置の制御部、例えば、ＣＰＵが、本体インストーラ１２１に従い実行する処理である。
【００２８】
本体プログラム１２２は、対象デバイスを利用して実現可能な機能の実行を統括的に制御するためのプログラムであり、デバイス利用アプリケーション１００に対応可能な全てのデバイスに共通する。本体プログラム１２２は、全体ユーザインタフェース５０（図２参照）の表示制御を行うユーザインタフェース機能や、デバイスと通信し、通信先のデバイスからデバイスに関する情報、例えば、デバイスの性能を特定可能な情報（以下「性能情報」と称す）を取得する情報取得機能などを有する。後述する図３（ｂ）、図３（ｃ）、および図４のフローチャートに示す各処理は、情報処理装置の制御部、当該情報処理装置にインストールされた本体プログラム１２２に従い実行する処理である。
【００２９】
基本機能実行部１２３は、対象デバイスを利用して実現可能な機能のうち、情報処理装置からのデバイスの利用を可能にする基本機能を実現するためのプログラムである。本実施形態の基本機能実行部１２３は、スキャナドライバ１２３ａと、プリンタドライバ１２３ｂとを含む。スキャナドライバ１２３ａは、スキャン機能をデバイスに実行させ、得られたスキャン画像を、情報処理装置にインストールされている所定の画像処理アプリケーションに渡すプログラムである。プリンタドライバ１２３ｂは、印刷対象として選択されたファイルを、印刷機能をデバイスに実行させるプログラムである。本実施形態のプリンタドライバ１２３ｂは、情報処理装置内に記憶されている画像ファイルまたは文書ファイルを選択可能なユーザインタフェースを表示する機能を含む。なお、基本機能実行部１２３は、デバイスのモデルに応じたものが準備されている。よって、基本機能実行部１２３を含む初回インストール用のパッケージ１２０もまた、デバイスのモデルに応じたものが、デバイス利用アプリケーション１００の提供サーバに準備されている。
【００３０】
単体機能実行部１４１は、対象デバイスを利用して実現可能な機能のうち、上記基本機能以外の各機能（以下「単体機能」と称す）を実現するためのプログラムである。本実施形態の単体機能実行部１４１は、テキスト変換プログラム１４１ａと、Ｅｍａｉｌ添付処理プログラム１４１ｂと、ファイル変換プログラム１４１ｃと、コピー処理プログラム１４１ｄと、ＦＡＸ送信プログラム１４１ｅと、ＦＡＸ受信プログラム１４１ｆとを含む。
【００３１】
テキスト変換プログラム１４１ａは、スキャン機能をデバイスに実行させ、得られたスキャン画像をＯＣＲ処理することによって、テキスト情報に変換するプログラムである。Ｅｍａｉｌ添付処理プログラム１４１ｂは、スキャン機能をデバイスに実行させ、得られたスキャン画像のファイルを、情報処理装置から送信するＥメールに添付するプログラムである。ファイル変換プログラム１４１ｃは、スキャン機能をデバイスに実行させ、得られたスキャン画像のファイルを情報処理装置内に保存するプログラムである。
【００３２】
コピー処理プログラム１４１ｄは、コピー機能をデバイスに実行させるプログラムである。ＦＡＸ送信プログラム１４１ｅは、ファクシミリ送信機能をデバイスに実行させるプログラムである。ＦＡＸ受信プログラム１４１ｆは、ファクシミリ受信機能をデバイスに実行させるプログラムである。コピー処理プログラム１４１ｄおよびＦＡＸ送信プログラム１４１ｅの内容は、対象デバイスの性能に応じて異なる。例えば、対象デバイスがカラー対応モデルである場合、コピー処理プログラム１４１ｄは、カラーコピー処理プログラムとモノクロコピー処理プログラムとから構成される。一方、対象デバイスがカラー対応モデルでない場合、コピー処理プログラム１４１ｄは、モノクロコピー処理プログラムのみから構成される。同様に、ＦＡＸ送信プログラム１４１ｅは、対象デバイスの性能に応じて、カラーＦＡＸ送信プログラムとモノクロＦＡＸ送信プログラムとから構成される場合と、モノクロＦＡＸ送信プログラムのみから構成される場合とがある。
【００３３】
単体機能実行部１４１は、本体インストーラ１２１による初回インストール時には情報処理装置にインストールされず、単体機能に対する実行指示が行われた場合に、当該実行指示の対象である単体機能に対応する単体機能実行部１４１がダウンロードされ、情報処理装置にインストールされる。
【００３４】
図１（ｂ）は、デバイス利用アプリケーション１００を利用可能な情報処理装置の構成を示すブロック図である。本実施形態では、情報処理装置としてＰＣ１０を例示する。ＰＣ１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、ハードディスクドライブ（以下「ＨＤＤ」と称す）１４、ＬＡＮインタフェース（以下「ＬＡＮ＿Ｉ／Ｆ」と称す）１６、入力装置１７、ＬＣＤ１８、メモリカードインタフェース（以下「メモリカードＩ／Ｆ」と称す）１９とを主に有し、これらはバスライン２０を介して互いに接続されている。
【００３５】
ＣＰＵ１１は、ＲＯＭ１２やＨＤＤ１４に記憶される固定値やプログラムに従って、バスライン２０により接続された各部を制御するとともに、周知のオペレーティングシステム（以下「ＯＳ」と称す）や、各種アプリケーションに基づく機能を実現するための処理を実行する。ＲＯＭ１２は、ＰＣ１０の動作を制御するためのプログラムなどが格納されたメモリである。ＲＡＭ１３は、ＣＰＵ１１の処理に必要なデータなどを一時的に記憶するための読み書き可能なメモリである。
【００３６】
ＨＤＤ１４は、ＰＣ１０で実行される各種プログラムや各種データファイルを記憶する読み書き可能なメモリである。ＨＤＤ１４には、インストールされたＯＳが格納される。また、ＨＤＤ１４には、全体ユーザインタフェース５０（図２参照）を介してＯＳが管理する特定の場所（例えば、システムフォルダ）に、インストールされた本体プログラム１２２、基本機能実行部１２３、および単体機能実行部１４１が格納される。また、初回インストール用のパッケージ１２０、および、単体機能実行部１４１をインストールするためのインストーラ（以下「単体インストーラ」と称す）もまた、ＨＤＤ１４に記憶される。単体インストーラは、単体機能実行部１４１と、その単体機能実行部１４１をインストールするためのインストールプログラムとを含んで構成される。なお、本体プログラム１２２などのプログラムなどが記憶されるＨＤＤ１４は、コンピュータが読み取り可能なストレージ媒体の一種である。
【００３７】
ＬＡＮ＿Ｉ／Ｆ１６は、ＰＣ１０をＬＡＮ４０に接続するものである。入力装置１７は、ＰＣ１０に指示や情報を入力する装置であり、例えば、マウスなどのポインティングデバイスや、キーボードなどである。ＬＣＤ１８は、液晶表示装置である。メモリカードＩ／Ｆ１９は、書換可能な不揮発性のメモリカードが装着されるインタフェースであり、メモリカードに対するデータの書き込み又は読み出しを制御する。
【００３８】
ＰＣ１０は、ＬＡＮ４０を介して、デバイスの一例であるＭＦＰ３０に接続される。本実施形態では、デバイス利用アプリケーション１００に対応可能な各種モデルのＭＦＰ３０を利用できる。なお、本実施形態のＭＦＰ３０は、スキャン機能、印刷機能、コピー機能、ファクシミリ機能を実現可能に構成される。また、ＰＣ１０は、ＬＡＮ４０に接続されたルータ（図示せず）を介してインターネット５００に接続される。これにより、ＰＣ１０は、インターネット５００上のサーバ２００に接続できる。
【００３９】
サーバ２００は、デバイス利用アプリケーション１００の提供サーバであり、初回インストール用のパッケージ１２０、および、各種の単体機能実行部１４１に対応する単体インストーラが格納される。なお、サーバ２００には、デバイス利用アプリケーション１００に対応可能なデバイスの各モデルに応じたパッケージ１２０および単体インストーラが準備されている。ＰＣ１０は、対象とするデバイスのモデルに応じたパッケージ１２０および単体インストーラをサーバ２００からダウンロードできる。
【００４０】
図２は、本体プログラム１２２のユーザインタフェース機能によりＬＣＤ１８に表示される全体ユーザインタフェース（以下「全体ＵＩ」と称す）５０の一例を示す模式図である。より詳細には、図２（ａ）には、初回インストールだけが行われた状態、すなわち、基本機能実行部１２３はインストールされているが、単体機能実行部１４１は全くインストールされていない状態での全体ＵＩ５０を示す。一方、図２（ｂ）には、図２（ａ）に示す状態から、機能ボタン５１ｂの操作が行われた場合の全体ＵＩ５０を示す。
【００４１】
全体ＵＩ５０には、デバイスにて実現される機能毎に、各機能や、各機能を利用して情報処理装置にて実現される機能に対する実行指示を入力させるための各種機能ボタンが表示される。具体的に、本実施形態では、ＭＦＰ３０は、スキャン機能、印刷機能、コピー機能、ファクシミリ機能を実現可能に構成されるので、これらの機能のそれぞれに対応する領域５１〜５４に、それぞれ、機能ボタン５１ａ〜５１ｄ、機能ボタン５２ａ，５２ｂ、機能ボタン５３ａおよび、機能ボタン５４ａ，５４ｂが表示される。
【００４２】
入力装置１７に対する第１の操作に基づいて、カーソル（図示せず）を、機能ボタン５１ａ〜５１ｄ，５２ａ，５２ｂ，５３ａ，５４ａ，５４ｂのうち、いずれか１つのボタンの上に位置させた状態で、入力装置１７に対する第２の操作を行うことにより、カーソルが示す機能ボタンに対応する機能に対する実行指示が入力される。入力装置１７が、例えばマウスである場合、上記第１の操作は、例えば、マウスを動かす操作であり、上記第２の操作は、例えば、左クリックの操作である。
【００４３】
本実施形態のデバイス利用アプリケーション１００によれば、インストール済みの基本機能実行部１２３または単体機能実行部１４１に対応する機能ボタンのみが、ボタン本来の色で表示され、それ以外の機能ボタン、すなわち、未インストールの状態の単体機能に対応する機能ボタンは、グレーアウトで表示される。図２（ａ）および（ｂ）に示す例では、グレーアウト表示を、斜線のハッチングにより表している。
【００４４】
よって、初回インストールが行われた段階では、この段階でインストール済みである基本機能実行部１２３により実現される基本機能に対応する機能ボタン５１ａ，５２ａ，５２ｂのみが、ボタン本来の色で表示され、それ以外の機能ボタン、すなわち、未インストールの状態の単体機能に対応する機能ボタン５１ｃ，５１ｄ，５３ａ，５４ａ，５４ｂは、グレーアウトで表示される。なお、本実施形態では、機能ボタンの表示が、ボタン本来の色での表示であるか、グレーアウト表示であるかにかかわらず、機能ボタンに対する実行指示の入力は可能に構成される。
【００４５】
上述した通り、対応する単体機能実行部１４１が未インストール状態の単体機能に対する実行指示が入力されると、該当する単体機能実行部１４１が情報処理装置にインストールされる。よって、例えば、図２（ａ）に示す全体ＵＩ５０においてグレーアウト表示されている機能ボタン５１ｂに対し、実行指示が入力された場合には、機能ボタン５１ｂに対応する単体機能実行部１４１、より詳細には、テキスト変換プログラム１４１ａが情報処理装置にインストールされる。そして、テキスト変換プログラム１４１ａがインストールされたことに伴い、実行指示の対象である機能ボタン５１ｂは、グレーアウト表示からボタン本来の色での表示に変化する。このように、基本機能実行部１２３または単体機能実行部１４１がインストールされているか否かは、全体ＵＩ５０における機能ボタンの表示色によって区別できるので、ユーザは、機能ボタンの表示色から、機能実行部１２３，１４１のインストール状況を把握できる。
【００４６】
全体ＵＩ５０には、プルダウンボタン５５が設けられている。入力装置１７に対する第１の操作に基づいて、カーソルを、プルダウンボタン５５の上に位置させた状態で、入力装置１７に対する所定の操作を行うことにより、モデルリストの表示指示を入力することができる。モデルリストの表示指示が入力された場合、モデルリストがプルダウンリストとして表示される。モデルリストは、デバイス利用アプリケーション１００、すなわち、本体プログラム１２２に対応可能なモデルのリストである。モデルリストは、デバイスの制御に必要な各種設定情報の１つとして、本体インストーラ１２１に含まれており、本体プログラム１２２のインストール時に、全体ＵＩ５０を介してＯＳが管理する、ＨＤＤ１４内の特定の場所（例えば、システムフォルダ）に記憶される。
【００４７】
図３および図４を参照して、本体インストーラ１２１、または、情報処理装置であるＰＣ１０にインストールされた本体プログラム１２２に従い、ＣＰＵ１１が実行する各処理を説明する。図３（ａ）は、本体インストーラ１２１に従ってＣＰＵ１１が実行する初回インストール処理を示すフローチャートである。本処理は、ＰＣ１０がサーバ２００からダウンロードした初回インストール用のパッケージ１２０に含まれる本体インストーラ１２１の起動に伴い開始される。なお、サーバ２００からダウロードされるパッケージ１２０は、対象とするデバイス（本実施形態では、ＭＦＰ３０）のモデルに応じたパッケージである。
【００４８】
ＣＰＵ１１は、パッケージ１２０に含まれる本体プログラム１２２のインストールを行う（Ｓ３０１）。本体プログラム１２２のインストールに伴い、本体プログラム１２２に含まれるユーザインタフェース機能や情報取得機能などが利用可能になる。次に、ＣＰＵ１１は、パッケージ１２０に含まれる基本機能実行部１２３のインストールを行う（Ｓ３０２）。本実施形態では、ＣＰＵ１１は、スキャナドライバ１２３ａと、プリンタドライバ１２３ｂとをインストールする。なお、サーバ２００からダウンロードされたパッケージ１２０は、対象とするデバイスのモデル（以下「対象モデル」と称す）に応じたものであるので、Ｓ３０２の処理によってＰＣ１０にインストールされる基本機能実行部１２３は、対象モデルに対応する基本機能実行部１２３である。
【００４９】
ＣＰＵ１１は、本体プログラム１２２に関連付けられたＨＤＤ１４の記憶領域に、インストール状況リストを作成し（Ｓ３０３）、本処理を終了する。インストール状況リストは、デバイス利用アプリケーション１００に対応可能なデバイスのうち、基本機能実行部１２３または単体機能実行部がインストールされているモデルのリストである。よって、Ｓ３０３において、ＣＰＵ１１は、今回の対象モデルが、基本機能実行部１２３がインストール済みのモデルとしてリストされたインストール状況リストを作成する。インストール状況リストには、基本機能実行部１２３または単体機能実行部１４１がインストールされている各モデルに対し、デバイスの最終使用日が対応付けて記憶される。
【００５０】
図３（ｂ）は、ＰＣ１０にインストールされた本体プログラム１２２に従ってＣＰＵ１１が実行する単体インストールスレッドを示すフローチャートである。本スレッドは、機能ボタン５１ａ〜５１ｄ，５２ａ，５２ｂ，５３ａ，５４ａ，５４ｂのうち、対応する単体機能実行部１４１が未インストールの状態である単体機能の機能ボタンに対する実行指示の入力を、ＣＰＵ１１が受け付けた場合に作成される（図４のＳ４１０参照）。
【００５１】
ＣＰＵ１１は、対象デバイスから取得した性能情報に基づき、実行指示の対象である機能ボタンに対応する単体機能の単体インストーラを、サーバ２００からダウンロードする（Ｓ３２１）。つまり、例えば、実行指示の対象である機能ボタンが、コピー機能に対応する機能ボタン５３ａである場合に、性能情報が、対象デバイスがカラー対応モデルでないことを示す場合、ＣＰＵ１１は、モノクロコピー処理プログラムのみから構成されるコピー処理プログラム１４１ｄのダウンロード指示をサーバ２００に送信し、サーバ２００からモノクロコピー処理プログラムのみから構成されるコピー処理プログラム１４１ｄに対応する単体インストーラをダウンロードする。
【００５２】
次に、ＣＰＵ１１は、ダウンロードした単体インストーラを起動して、当該単体インストーラに含まれている単体機能実行部１４１のインストールを実行し（Ｓ３２２）、本処理を終了する。上述した通り、デバイスの性能に依存する単体機能に対する実行指示が入力された場合には、当該デバイスの性能に応じた単体インストーラがダウンロードされるので、デバイスの性能に適さない単体機能実行部１４１がインストールされることを防止できる。また、例えば、対象デバイスがカラー対応モデルでない場合には、モノクロコピー処理プログラムのみから構成されるコピー処理プログラム１４１ｄなど、カラー対応のプログラムを含まない単体機能実行部１４１がインストールされるので、不要なプログラムがインストールされることを防止できる。
【００５３】
図３（ｃ）は、ＰＣ１０にインストールされた本体プログラム１２２に従ってＣＰＵ１１が実行するモデル切替処理（Ｓ４１９，Ｓ４２１）を示すフローチャートである。本処理は、図４を参照して後述する処理の中で実行される処理であり、現在の対象デバイスから、別のモデルのデバイスに切り替える処理である。
【００５４】
ＣＰＵ１１は、まず、全体ＵＩ５０に、プルダウンリストであるモデルリストを表示させる（Ｓ３４１）。ＣＰＵ１１は、表示されたモデルリストの中から、１のモデルが入力装置１７に対する所定の操作に応じて選択されることを待機する（Ｓ３４２：Ｎｏ）。１のモデルが選択された場合（Ｓ３４２：Ｙｅｓ）、ＣＰＵ１１は、インストール状況リストを参照し、選択されたモデルの基本機能実行部１２３がインストール済みであるかを判断する（Ｓ３４４）。
【００５５】
選択されたモデルの基本機能実行部１２３がインストール済みでないとＣＰＵ１１が判断した場合（Ｓ３４４：Ｎｏ）、ＣＰＵ１１は、選択されたモデルの基本機能実行部１２３のインストールを実行する（Ｓ３４５）。具体的に、ＣＰＵ１１は、選択されたモデルの基本機能実行部１２３のダウンロード指示をサーバ２００に送信し、サーバ２００から、該当する基本機能実行部１２３と、その基本機能実行部１２３をインストールするためのインストールプログラムとを含むインストーラをダウンロードする。そして、ダウンロードしたインストーラを起動して、当該インストーラに含まれる基本機能実行部１２３のインストールを実行する。
【００５６】
ＣＰＵ１１は、モデルリストから選択されたモデルを、基本機能実行部１２３がインストール済みのモデルとして追加することによって、インストール状況リストを更新する（Ｓ３４６）。ＣＰＵ１１は、対象デバイスを、選択されたモデルに切り替え（Ｓ３４７）、本処理を終了する。一方、Ｓ３４４において、選択されたモデルの基本機能実行部１２３がインストール済みであるとＣＰＵ１１が判断した場合（Ｓ３４４：Ｙｅｓ）、ＣＰＵ１１は、Ｓ３４５，Ｓ３４６の処理をスキップして、Ｓ３４７の処理を実行する。
【００５７】
図４は、ＰＣ１０にインストールされた本体プログラム１２２に従ってＣＰＵ１１が実行する本体プログラム処理を示すフローチャートである。本処理は、ＰＣ１０にインストールされた本体プログラム１０の起動に伴い開始される。ＣＰＵ１１は、インストール状況リストを参照し、最終使用日から所定期間以上、本実施形態では、１ヶ月以上経過したモデルのリストを作成する（Ｓ４０１）。作成したリストが空でなければ（Ｓ４０２：Ｎｏ）、ＣＰＵ１１は、リストにあるモデル、すなわち、最終使用日から１ヶ月以上経過したモデルの単体機能実行部１４１をアンインストールする（Ｓ４０３）。
【００５８】
よって、ある程度の期間を超えて使用されないモデルは、今後も使用する可能性が低いので、かかるモデルのデバイスから、単体機能実行部１４１をアンインストールすることによって、ＨＤＤ１４の記憶容量を有効利用できる。その一方で、基本機能実行部１２３はインストールされたままにされる。ある程度の期間を超えて使用されないモデルであっても、基本機能は使われる可能性が比較的高いため、基本機能実行部１２３をアンインストールしないことにより、当該モデルで基本機能を利用したい場合に直ちに利用できる。なお、Ｓ４０３において、単体機能実行部１４１のみならず、基本機能実行部１２３もアンインストールする構成としてもよい。かかる場合は、基本機能実行部１２３がアンインストールされた分だけ、ＨＤＤ１４の記憶容量をより有効に利用できる。
【００５９】
本実施形態では、ＣＰＵ１１は、Ｓ４０３において単体機能実行部１４１のアンインストールを行うものの、アンインストール対象の単体機能実行部１４１に対応する単体インストーラを、ＨＤＤ１４から削除せず、ＨＤＤ１４に記憶したまま残す。単体インストーラを残すことによって、アンインストールされた単体機能実行部１４１を再インストールする場合に、単体インストーラを再度インストールする必要がなく、再インストールを容易に行うことができるとともに、再インストールに要する時間を短くできる。なお、単体機能実行部１４１のアンインストールに伴い、対応する単体インストーラをＨＤＤ１４から削除する構成としてもよい。かかる場合は、単体インストーラが削除された分だけ、ＨＤＤ１４の記憶容量を有効利用できる。
【００６０】
次に、ＣＰＵ１１は、アンインストールされた単体機能実行部１４１に関する情報を削除することによって、インストール状況リストを更新し（Ｓ４０４）、処理をＳ４０５に移行する。一方、Ｓ４０１にて作成されたリストが空である場合（Ｓ４０２：Ｙｅｓ）、ＣＰＵ１１は、Ｓ４０３，Ｓ４０４の処理をスキップして、処理をＳ４０５に移行する。
【００６１】
Ｓ４０５において、ＣＰＵ１１は、インストール状況リストを参照して、基本機能実行部１２３または単体機能実行部１４１がインストール済みであるモデルのうち、１のモデルを選択する（Ｓ４０５）。本実施形態では、ＣＰＵ１１は、Ｓ４０５において、前回に使用したモデルを選択する。あるいは、本体プログラム１２２の起動時に指定されたモデルや、デフォルトとして指定されているモデルを選択する構成であってもよい。
【００６２】
ＣＰＵ１１は、全体ＵＩ５０をＬＣＤ１８に表示させる（Ｓ４０６）。ＣＰＵ１１は、機能ボタンに対する実行指示、モデルリストの表示指示、または、終了指示が入力されるのを待機する（Ｓ４０７：Ｎｏ，Ｓ４１９：Ｎｏ，Ｓ４２２：Ｎｏ）。
【００６３】
機能ボタンに対する実行指示の入力をＣＰＵ１１が受け付けた場合（Ｓ４０７：Ｙｅｓ）、ＣＰＵ１１は、実行指示の対象である機能の機能実行部、すなわち、基本機能実行部１２２または単体機能実行部１４１がインストール済みであるかを、インストール状況リストから判断する（Ｓ４０８）。実行指示の対象である機能の機能実行部がインストールされていないと、ＣＰＵ１１が判断した場合（Ｓ４０８：Ｎｏ）、ＣＰＵ１１は、情報取得機能を用い、対象デバイスから性能情報を取得する（Ｓ４０９）。ＣＰＵ１１は、単体インストールスレッドを作成する（Ｓ４１０）。Ｓ４１０の処理の結果、ＣＰＵ１１は、上述した単体インストールスレッド（図３（ｂ））を、本処理と並行して実行する。
【００６４】
ＣＰＵ１１は、Ｓ４１０の処理後、図示されない機能設定ユーザインタフェース（以下「機能設定ＵＩ」と称す）をＬＣＤ１８に表示する（Ｓ４１１）。機能設定ＵＩは、実行指示の対象である機能における設定値を設定するためのユーザインタフェースである。例えば、実行指示の対象である機能が、デバイスのスキャン機能を利用する機能である場合、機能設定ＵＩにおいて、解像度や原稿サイズなどの設定値を適宜の値に設定できる。また、本実施形態では、実行指示の対象である機能が、デバイスのコピー機能やファクシミリ送信機能を利用する場合、対象デバイスがカラー対応モデルである場合には、機能設定ＵＩにおいて、カラー対応の処理を行うか、モノクロ対応の処理を行うかを、機能設定ＵＩを介して選択できるよう構成される。実行指示の対象である機能の機能実行部がインストールされていると、ＣＰＵ１１が判断した場合（Ｓ４０８：Ｙｅｓ）、ＣＰＵ１１は、Ｓ４０９，Ｓ４１０の処理をスキップして、Ｓ４１１の処理を実行する。
【００６５】
ＣＰＵ１１は、機能設定ＵＩの表示後、機能設定ＵＩによる設定の終了を待機する（Ｓ４１２：Ｎｏ）。機能設定ＵＩによる設定が終了した場合（Ｓ４１２：Ｙｅｓ）、作成された単体インストールスレッドが終了している場合には（Ｓ４１３：Ｙｅｓ，Ｓ４１４：Ｙｅｓ）、ＣＰＵ１１は、対象デバイスに対し、今回インストールされた単体機能実行部１４１をインストール済みとして追加することによって、インストール状況リストを更新する（Ｓ４１５）。ＣＰＵ１１は、Ｓ４１５の処理後、実行指示の対象である機能の処理を実行する（Ｓ４１６）。
【００６６】
一方、作成された単体インストールスレッドが終了していない場合、ＣＰＵ１１は、単体インストールスレッドが終了するまで、処理を待機する（Ｓ４１４：Ｎｏ）。また、単体インストールスレッドが作成されていない場合には（Ｓ４１３：Ｎｏ）、ＣＰＵ１１は、処理をＳ４１６に移行し、実行指示の対象である機能の処理を実行する。
【００６７】
ＣＰＵ１１は、Ｓ４１６にて実行した処理に成功したか否かを判断する（Ｓ４１７）。具体的に、処理の開始から所定時間内にデバイスから処理の完了を示す信号をＣＰＵ１１が処理の完了を示す信号を検出した場合に、ＣＰＵ１１は、処理に成功したと判断する。一方、処理の開始から所定時間内にデバイスから処理の完了を示す信号をＣＰＵ１１が処理の完了を示す信号を検出できなかった場合や、デバイスから入力されたエラー信号をＣＰＵ１１が検出した場合に、ＣＰＵ１１は、処理に成功しなかったと判断する。
【００６８】
Ｓ４１６にて実行した処理に成功したとＣＰＵ１１が判断した場合（Ｓ４１７：Ｙｅｓ）、ＣＰＵ１１は、インストール状況リストにおける、対象デバイスを示すモデルに対応する最終使用日を、図示されないＲＴＣにより計時される現在の年月日に更新し（Ｓ４１８）、処理をＳ４０７に移行する。一方、Ｓ４１６にて実行した処理に成功しなかったとＣＰＵ１１が判断した場合（Ｓ４１７：Ｎｏ）、上述した図３（ｃ）のモデル切替処理を実行し（Ｓ４１９）、処理をＳ４０８に移行する。なお、Ｓ４１７でＮｏと判断された場合、モデル切替処理のＳ３４１では、プルダウンボタン５５に対する操作とは無関係に、モデルリストが自動的に表示される。よって、選択中のデバイスにて、実行指示の対象である機能が不成功に終わった場合には、当該機能を、別のモデルのデバイスを用いることによって実現させることができる。
【００６９】
モデルリストの表示指示の入力、すなわち、プルダウンボタン５５に対する操作を、ＣＰＵ１１が受け付けた場合（Ｓ４０７：Ｎｏ，Ｓ４２０：Ｙｅｓ）、ＣＰＵ１１は、上述した図３（ｃ）のモデル切替処理を実行し（Ｓ４２１）、処理をＳ４１６に移行する。また、終了指示の入力、例えば、全体ＵＩ５０に設けられた終了ボタンに対する操作を、ＣＰＵ１１が受け付けた場合（Ｓ４２０：Ｎｏ，Ｓ４２２：Ｙｅｓ）、ＣＰＵ１１は、本処理を終了する。
【００７０】
上記第１実施形態によれば、初回インストール時には、パッケージ１２０に含まれる本体プログラム１２２および基本機能実行部１２３のみが、ＰＣ１０にインストールされる。よって、初回インストール時に、単体機能実行部１４１のダウンロードおよびインストールが行われないので、その分、初回インストールに要する時間を短くできる。その一方で、基本機能実行部１２３は、初回インストール時にインストールされるので、初回インストール後に基本機能を直ぐに利用できる。
【００７１】
また、機能ボタンに対する実行指示の入力をトリガとして、単体機能実行部１４１をＰＣ１０にインストールできる一方で、機能設定ＵＩが表示されるので、当該機能設定ＵＩを介して、インストール対象の単体機能実行部１４１に対応する単体機能に設定値を適切な値に設定することができる。よって、単体機能実行部１４１のインストール後、直ちに、インストールされた単体機能実行部１４１に対応する機能を好適な設定値で利用できる。特に、機能設定ＵＩの表示に並行して、単体機能実行部１４１のインストールが実行されるので、設定値の入力期間を利用して、単体機能実行部１４１を効率的にインストールできる。
【００７２】
また、単体インストーラのインストールが完了する前に、機能設定ＵＩによる設定が終了した場合には、インストールの完了を待機し、インストールが完了したことを条件として、実行指示の対象である単体機能が実行されるので、単体機能に対する実行指示がされてから、当該単体機能が好適な設定値で実行されるまでの期間を最小限に抑制できる。
【００７３】
また、初回インストール時に利用したパッケージ１２０に対応するモデルとは異なるモデルであっても、デバイス利用アプリケーション１００に対応可能なデバイスであれば、初回インストール時にインストールされた本体プログラム１２２を用いて、対応する基本機能実行部１２３をＰＣ１０にインストールできるので、他のモデルに対応する基本機能実行部１２３に対応するインストーラを別途ダウンロードする必要がなく、他のモデルに対応する基本機能実行部１２３を容易にインストールできる。
【００７４】
次に、図５を参照して、本発明の第２実施形態について説明する。上述した第１実施形態では、単体インストーラをサーバ２００からダウンロードする構成としたが、第２実施形態では、デバイスからの、単体インストーラのダウンロードが可能に構成される。なお、第２実施形態では、デバイスが、当該デバイスが有する単体機能に対応する単体機能実行部１４１を含む単体インストーラを、サーバ２００から取得するとともに、取得した単体インストーラをフラッシュメモリなどに記憶する構成であることが前提である。第２実施形態において、第１実施形態と同一の部分については、同一の符号を付して、その説明を省略する。以下、第２実施形態に特有の構成を中心に説明する。
【００７５】
図５は、第２実施形態の本体プログラム処理を示すフローチャートである。本処理は、第２実施形態の本体プログラム１２２に従ってＣＰＵ１１が実行する処理である。本処理は、ＰＣ１０にインストールされた第２実施形態の本体プログラム１２２の起動に伴って開始される。
【００７６】
Ｓ４０８において、実行指示の対象である機能の機能実行部がインストールされていないと、ＣＰＵ１１が判断した場合（Ｓ４０８：Ｎｏ）、ＣＰＵ１１は、対象デバイスから性能情報を取得し（Ｓ４０９）、対象デバイスが保有する、実行指示の対象である機能ボタンに対応する単体機能の単体インストーラのバージョンを取得する（Ｓ５０１）。次に、ＣＰＵ１１は、サーバ２００で公開されている、実行指示の対象である機能ボタンに対応する単体機能の単体インストーラのバージョンを取得する（Ｓ５０２）。
【００７７】
ＣＰＵ１１は、対象デバイスとサーバ２００とで、どちらの単体インストーラのバージョンが新しいかを判断する（Ｓ５０３）。デバイスの方が新しいとＣＰＵ１１が判断した場合（Ｓ５０３：デバイス）、ＣＰＵ１１は、Ｓ４０９にて取得した性能情報に基づき、実行指示の対象である機能ボタンに対応する単体機能の単体インストーラを、対象デバイスからダウンロードする（Ｓ５０６）。
【００７８】
一方、サーバ２００の方が新しいとＣＰＵ１１が判断した場合（Ｓ５０３：サーバ）、ＣＰＵ１１は、Ｓ４０９にて取得した性能情報に基づき、実行指示の対象である機能ボタンに対応する単体機能の単体インストーラを、サーバ２００からダウンロードする（Ｓ５０４）。Ｓ５０４またはＳ５０６の処理後、ＣＰＵ１１は、ダウンロードした単体インストーラを起動して、当該単体インストーラに含まれている単体機能実行部１４１のインストールを実行し（Ｓ５０５）、処理をＳ４１５に移行する。
【００７９】
上記第２実施形態によれば、単体インストーラをデバイスからダウンロード可能に構成されるので、単体インストーラをインターネット５００上のサーバ２００から取得する場合に比べて、単体インストーラの取得に要する時間を短くできる。また、サーバ２００で公開されている単体インストーラのバージョンが、デバイスに保有されているものよりも新しければ、新しい方の単体インストーラがサーバ２００からダウンロードされるので、古いバージョンの単体機能実行部１４１がインストールされることを抑制できる。
【００８０】
次に、図６および図７を参照して、本発明の第３実施形態について説明する。上述した第１実施形態では、機能ボタンに対する実行指示の入力が行われた場合に、当該機能ボタンに対応する、インストールされていない単体機能実行部１４１がインストールされる構成としたが、第３実施形態では、必要に応じて、全ての単体機能実行部１４１を、機能ボタンに対する実行指示の入力とは無関係に一括してインストールできるよう構成される。第３実施形態において、第１実施形態および第２実施形態と同一の部分については、同一の符号を付して、その説明を省略する。以下、第３実施形態に特有の処理を中心に説明する。以下、第３実施形態に特有の構成を中心に説明する。
【００８１】
図６（ａ）は、第３実施形態の初回インストール処理を示すフローチャートである。本処理は、第３実施形態の本体インストーラ１２１に従ってＣＰＵ１１が実行する処理である。本処理は、初回インストール用のパッケージ１２０に含まれる第３実施形態の本体インストーラ１２１の起動に伴い開始される。
【００８２】
ＣＰＵ１１は、本体プログラムおよび基本機能実行部１２３をインストールした後（Ｓ３０１，Ｓ３０２）、単体機能実行部１４１のインストール方法の選択画面をＬＣＤ１８に表示させる（Ｓ６０１）。当該選択画面は、対象デバイス、すなわち、本処理を実行する本体インストーラ１２１に対応するデバイスが利用可能な単体機能実行部１４１を、機能ボタンに対する実行指示の入力をトリガとして１つずつインストールするか、機能ボタンに対する実行指示の入力とは無関係に一括してインストールするかの選択を行うための画面である。また、後者のインストール方法には、全ての単体機能実行部１４１を、連続的にインストールするか、ＰＣ１０の空き時間を利用して順次にインストールするかのいずれかを選択できる。「ＰＣ１０の空き時間」は、ＰＣ１０の制御不可が高いとみなされる所定の状況が発生していない期間であり、本実施形態では、ＰＣ１０が、デバイスを利用して実現可能な機能、すなわち、基本機能または単体機能のいずれも実行していない期間である。
【００８３】
選択画面において、全ての単体機能実行部１４１を一括インストールすることが選択され、かつ、それらをＰＣ１０の空き時間を利用して順次にインストールすることが選択された場合（Ｓ６０２：Ｙｅｓ，Ｓ６０３：Ｙｅｓ）、ＣＰＵ１１は、順次インストールフラグをオンに設定し（Ｓ６０４）、処理をＳ３０３に移行する。順次インストールフラグは、空き時間を利用して順次行うインストール（以下「順次インストール」と称す）の実行中であるか否かを示すフラグであり、本体プログラム１２２に関連付けられたＨＤＤ１４の記憶領域に設けられる。順次インストールフラグがオンに設定されている場合、順次インストールの実行中であることを示す。順次インストールフラグは、本処理の開始に伴いオフに設定される。
【００８４】
一方、全ての単体機能実行部１４１を一括インストールすることが選択され、かつ、全ての単体機能実行部１４１を、空き時間を利用するのでなく、連続的に一括インストールすることが選択された場合（Ｓ６０２：Ｙｅｓ，Ｓ６０３：Ｎｏ）、ＣＰＵ１１は、Ｓ４０９と同様に、対象デバイスから性能情報を取得する（Ｓ６０５）。ＣＰＵ１１は、Ｓ６０５にて取得した性能情報に基づき、対象デバイスにて利用可能な全ての単体機能各々に対応する全ての単体インストーラを、サーバ２００からダウンロードする（Ｓ６０６）。ＣＰＵ１１は、ダウンロードした全ての単体インストーラを用いて、全ての単体機能実行部１４１のインストールを実行し（Ｓ６０７）、処理をＳ３０３に移行する。
【００８５】
図６（ｂ）は、ＰＣ１０にインストールされた第３実施形態の本体プログラム１２２に従ってＣＰＵ１１が実行する単体インストールスレッドを示すフローチャートである。本スレッドは、後述する第３実施形態の本体プログラム処理が開始された場合に、順次インストールフラグであることを条件として作成される（図７のＳ７０２参照）。
【００８６】
ＣＰＵ１１は、対象デバイスに対し、デバイスが利用可能な単体機能実行部１４１のうち、インストールされていない単体機能実行部１４１のリストを作成する（Ｓ６２１）。作成したリストが空でなければ（Ｓ６２２：Ｎｏ）、ＣＰＵ１１は、Ｓ４０９と同様に、対象デバイスから性能情報を取得する（Ｓ６２３）。ＣＰＵ１１は、リスト先頭にある単体機能実行部１４１であって、Ｓ６２３にて取得した性能情報に応じた単体機能実行部１４１に対応する単体インストーラを、サーバ２００からダウンロードする（Ｓ６２４）。
【００８７】
ＣＰＵ１１は、ダウンロードした単体インストーラを起動して、当該単体インストーラに含まれている単体機能実行部１４１のインストールを実行し（Ｓ６２５）、Ｓ４１５と同様に、インストール状況リストを更新する（Ｓ６２６）。ＣＰＵ１１は、インストールされた単体機能実行部１４１をリストから削除し（Ｓ６２７）、処理をＳ６２２に移行する。そして、リストが空であれば（Ｓ６２２：Ｙｅｓ）、ＣＰＵ１１は、順次インストールフラグをオフに設定し（Ｓ６２８）、本処理を終了する。
【００８８】
図７は、第３実施形態の本体プログラム処理を示すフローチャートである。本処理は、第３実施形態の本体プログラム１２２に従ってＣＰＵ１１が実行する処理である。本処理は、ＰＣ１０にインストールされた第３実施形態の本体プログラム１２２の起動に伴って開始される。
【００８９】
全体ＵＩ５０の表示後（Ｓ４０６）、順次インストールフラグがオンに設定されている場合（Ｓ７０１：Ｙｅｓ）、ＣＰＵ１１は、順次インストールスレッドを作成し（Ｓ７０２）、処理をＳ４０７に移行する。Ｓ７０２の処理の結果、ＣＰＵ１１は、上述した順次インストールスレッド（図６（ｂ））を、本処理と並行して実行する。一方、順次インストールフラグがオンに設定されていない場合（Ｓ７０１：Ｎｏ）、ＣＰＵ１１は、Ｓ７０２の処理をスキップして、処理をＳ４０７に移行する。
【００９０】
機能ボタンに対する実行指示の入力をＣＰＵ１１が受け付けた場合（Ｓ４０７：Ｙｅｓ）、順次インストールフラグがオンに設定されていれば（Ｓ７０３：Ｙｅｓ）、実行中の順次インストールスレッドを一時停止し（Ｓ７０４）、処理をＳ４０８に移行する。なお、Ｓ７０４では、順次インストールフラグの処理を、Ｓ７０４の処理の実行タイミングでの状態で停止してもよいし、そのときに実行されているダウンロードやインストールなどの１単位の処理が終了するのを待って停止する構成としてもよい。あるいは、単体機能実行部１４１をインストールするための一連の処理（Ｓ６２３〜Ｓ６２７）が終了するのを待って、順次インストールスレッドを停止する構成としてもよい。一方、Ｓ７０３において、順次インストールフラグがオンに設定されていなければ（Ｓ７０３：Ｎｏ）、ＣＰＵ１１は、Ｓ７０４の処理をスキップして、処理をＳ４０８に移行する。
【００９１】
Ｓ４１６の処理後、順次インストールフラグがオンに設定されている場合（Ｓ７０５：Ｙｅｓ）、ＣＰＵ１１は、Ｓ７０４にて一時停止された順次インストールスレッドの実行を再開し（Ｓ７０６）、処理をＳ４０７に移行する。一方、Ｓ７０５において、順次インストールフラグがオンに設定されていなければ（Ｓ７０５：Ｎｏ）、ＣＰＵ１１は、Ｓ７０６の処理をスキップして、処理をＳ４０７に移行する。
【００９２】
上記第３実施形態によれば、必要に応じて、全ての単体機能実行部１４１を、機能ボタンに対する実行指示の入力とは無関係に一括してインストールすることができるので、単体機能実行部１４１を都合に応じた方法でインストールできる。特に、全ての単体機能実行部１４１を一括してインストールする場合には、当該インストールを連続的に行うか、ＰＣ１０の空き時間を利用して順次行うかを選択できるので、好適である。後者の方法が選択された場合には、ＰＣ１０の制御負荷が抑制されるので、ダウンロード時間やインストール時間の遅れを抑制できる。
【００９３】
次に、図８を参照して、本発明の第４実施形態について説明する。上述した第１実施形態では、機能ボタンに対する実行指示の入力が行われた場合に、当該機能ボタンに対応する単体機能実行部１４１のみがインストールされる構成としたが、第４実施形態では、他の単体機能実行部１４１を必要に応じてインストールできるよう構成される。第４実施形態において、第１〜第３実施形態と同一の部分については、同一の符号を付して、その説明を省略する。以下、第４実施形態に特有の処理を中心に説明する。以下、第４実施形態に特有の構成を中心に説明する。
【００９４】
図８は、第４実施形態の本体プログラム処理を示すフローチャートである。本処理は、第４実施形態の本体プログラム１２２に従ってＣＰＵ１１が実行する処理である。本処理は、ＰＣ１０にインストールされた第４実施形態の本体プログラム１２２の起動に伴って開始される。
【００９５】
Ｓ４０８において、実行指示の対象である機能の機能実行部がインストールされていないと、ＣＰＵ１１が判断した場合（Ｓ４０８：Ｎｏ）、ＣＰＵ１１は、Ｓ４０９，Ｓ４１０の処理を実行した後、機能別インストール状況画面を表示する（Ｓ８０１）。機能別インストール状況画面は、対象デバイスが有する基本機能および単体機能のインストール状況を示す画面である。当該画面には、対象デバイスが有する基本機能および単体機能の各々に対し、チェックボックスが表示される。Ｓ８０１の処理によって機能別インストール状況画面が表示された場合、ＣＰＵ１１は、インストール状況リストを参照して、インストール済みの機能に対応するチェックボックスにチェックを表示する。機能別インストール状況画面に表示される空のチェックボックスには、入力装置１７に対する所定の操作に基づき、必要に応じてチェックを入れることが可能である。
【００９６】
Ｓ８０１の処理後、全ての単体インストールスレッドが終了していない場合（Ｓ８０２：Ｎｏ）、ＣＰＵ１１は、機能別インストール状況画面において、インストールされていない単体機能に対するチェックボックスにチェックが入れられたかを判断する（Ｓ８０４）。チェックが入れられていないとＣＰＵ１１が判断した場合（Ｓ８０４：Ｎｏ）、ＣＰＵ１は、処理をＳ８０２に移行する。一方、チェックが入れられたとＣＰＵ１１が判断した場合（Ｓ８０４：Ｙｅｓ）、ＣＰＵ１１は、チェックが入れられた単体機能に対応する単体インストールスレッドを作成する（Ｓ８０５）。Ｓ８０５の処理の結果、Ｓ４１０の場合と同様に、上述した単体インストールスレッド（図３（ｂ））を、本処理と並行して実行する。ただし、Ｓ８０５において作成された単体インストールスレッドでは、Ｓ３２１において、ＣＰＵ１１は、Ｓ４０９にて取得した性能情報に基づき、チェックが入れられた単体機能に対応する単体インストールスレッドをダウンロードする。
【００９７】
ＣＰＵ１１は、Ｓ８０５の処理後、処理をＳ８０２に移行する。そして、全ての単体インストールスレッドが終了した場合（Ｓ８０２：Ｙｅｓ）、ＣＰＵ１１は、機能別インストール状況画面を消去し（Ｓ８０３）、処理をＳ４１５に移行する。
【００９８】
上記第４実施形態によれば、機能ボタンに対する実行指示の入力が行われた場合に、当該実行指示の対象である単体機能実行部１４１だけでなく、機能別インストール状況画面を介してインストール対象として選択された単体機能実行部１４１インストールできるので、一度に必要な分だけ単体機能実行部１４１をインストールできる。
【００９９】
上記各実施形態において、デバイス利用アプリケーション１００が、アプリケーションプログラムの一例である。本体インストーラ１２１が、本体インストーラの一例である。本体プログラム１２２が、本体プログラムの一例である。基本機能実行部１２３が、特定機能プログラムの一例である。単体機能実行部１４１が、単体機能プログラムの一例である。ＰＣ１０が、情報処理装置の一例である。ＭＦＰ３０が、デバイスの一例である。サーバ２００が、サーバの一例である。インターネット５００が、ネットワークの一例である。全体ＵＩ５０が、ユーザインタフェースの一例である。Ｓ３０２の処理を実行するＣＰＵ１１が、第１インストール手段の一例である。Ｓ４０６の処理を実行するＣＰＵ１１が、ユーザインタフェース手段の一例である。Ｓ３２１，Ｓ３２２，Ｓ５０４，Ｓ５０５，Ｓ５０６の処理を実行するＣＰＵ１１が、第２インストール手段の一例である。Ｓ４１６の処理を実行するＣＰＵ１１が、機能実現手段の一例である。Ｓ４１１の処理を実行するＣＰＵ１１が、機能画面表示手段の一例である。Ｓ４０９，Ｓ６０５，Ｓ６２３の処理を実行するＣＰＵ１１が、情報取得手段の一例である。Ｓ８０１の処理を実行するＣＰＵ１１が、第１選択画面表示手段の一例である。Ｓ３４１の処理を実行するＣＰＵ１１が、リスト表示手段の一例である。Ｓ３４４の処理を実行するＣＰＵ１１が、第１判断手段の一例である。Ｓ３４５の処理を実行するＣＰＵ１１が、第３インストール手段の一例である。Ｓ４１８の処理を実行するＣＰＵ１１が、管理手段の一例である。Ｓ４０１，Ｓ４０２の処理を実行するＣＰＵ１１が、第２判断手段の一例である。Ｓ４０３の処理を実行するＣＰＵ１１が、アンインストール手段の一例である。Ｓ５０３の処理を実行するＣＰＵ１１が、比較手段の一例である。Ｓ６０１の処理を実行するＣＰＵ１１が、第２選択画面表示手段の一例である。Ｓ６０６，Ｓ６０７の処理を実行するＣＰＵ１１が、第４インストール手段の一例である。Ｓ６０４，Ｓ６２１〜Ｓ６２８，Ｓ７０１〜Ｓ７０６の処理を実行するＣＰＵ１１が、第５インストール手段の一例である。
【０１００】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【０１０１】
例えば、上記実施形態では、デバイス利用アプリケーション１００に対応するデバイスとして、多機能周辺装置であるＭＦＰ３０を例示したが、スキャナやプリンタなど、単機能のみを有する装置を採用する構成であってもよい。上記実施形態では、デバイス利用アプリケーション１００を適用する情報処理装置として、ＰＣ１０を例示したが、スマートフォンなどのモバイル端末や、タブレット端末などを採用することも可能である。
【０１０２】
上記実施形態では、単体インストーラを、インターネット５００上のサーバ２００、または、ＬＡＮ４０上のデバイスからダウンロードする構成としたが、他の記憶場所、例えば、ＬＡＮ４０上に設置されたデバイスの管理サーバなどから取得する構成としてもよい。また、上記実施形態では、性能情報を、ＬＡＮ４０上のデバイスから取得する構成としたが、他の記憶場所、例えば、ＬＡＮ４０上またはインターネット５００上に設置されたデバイスの管理サーバなどから取得する構成としてもよい。なお、単体インストーラなどのプログラムなどが記憶される管理サーバは、コンピュータが読み取り可能なストレージ媒体の一種である。
【０１０３】
上記実施形態では、初回インストール用のパッケージ１２０には、１のモデルに対応する基本機能実行部１２３が含まれる構成としたが、デバイス利用アプリケーション１００に対応可能な全モデルに対応する基本実行部１２３を含み、初回インストール時は、指定された１のモデルに対応する基本機能実行部１２３をインストールする構成としてもよい。ただし、上記実施形態のように、初回インストール用のパッケージ１２０が、１のモデルに対応する基本機能実行部１２３のみを含む構成の方が、パッケージ１２０のダウンロードに要する時間が短くなるので好ましい。
【０１０４】
上記第１実施形態の本体プログラム処理（図４）によれば、最終使用日から１ヶ月以上経過したモデルに対応する単体機能実行部１４１をアンインストールする構成としたが、これに代えて、所定期間以上使用されなかった基本機能または単体機能をアンインストールする構成としてもよい。かかる変形例は、インストール状況リストにおいて、機能毎に、最終使用日を管理し、Ｓ４０１において、ＣＰＵ１１が、最終使用日から１ヶ月以上経過したモデルにおいて、最終使用日から１ヶ月以上経過している機能のリストを作成する構成とすればよい。かかる変形例の場合も、第１実施形態と同様、単体機能実行部１４１がアンインストールされた分だけ、ＨＤＤ１４の記憶容量を有効に利用できる。
【０１０５】
上記第４実施形態では、機能別インストール状況画面を介して、未インストールの状態の単体機能実行部１４１の中から、インストール対象を選択する構成としたが、インストール済みの単体機能実行部１４１を、インストール対象として選択できる構成としてもよい。かかる変形例によれば、インストール済みの単体機能実行部１４１のバージョンがサーバ２００にて更新されている場合に、最新バージョンの単体機能実行部１４１をインストールできる。
【０１０６】
上記実施形態では、機能ボタンに対する実行指示が入力された場合には、実行指示の対象である単体機能にかかわらず、性能情報を取得する構成とした。これに代えて、実行指示の対象である単体機能が、性能情報に依存する機能、例えば、コピー機能など、デバイスがカラー対応であるか否かに依存する機能に限って、性能情報を取得する構成としてもよい。また、性能情報を取得しない構成としてもよい。かかる変形例では、カラー対応でないデバイスであっても、カラーコピー処理プログラムとモノクロコピー処理プログラムとから構成されるコピー処理プログラム１４１をインストールすればよい。
【０１０７】
あるいは、本体インストーラ１２１に含まれるモデルリストを、各モデルの性能情報を含む構成とし、対象デバイスがカラー対応モデルである場合には、全体ＵＩ５０に、カラー用の機能ボタンと、モノクロ用の機能ボタンを表示する構成としてもよい。例えば、コピー機能に対応する機能ボタンとして、カラーコピー用の機能ボタンと、モノクロコピー用の機能ボタンとを、全体ＵＩ５０に表示する構成としてもよい。かかる変形例では、カラーコピー処理プログラムおよびモノクロコピー処理プログラムは、各々独立してダウンロードおよびインストールされる。
【０１０８】
上記実施形態では、機能ボタンに対する実行指示が入力された場合に性能情報を取得する構成としたが、本体プログラム処理の開始後に、性能情報を取得し、ＲＡＭ１３などに記憶させておいて、機能ボタンに対する実行指示が入力された場合には、記憶されている性能情報を用いる構成としてもよい。
【０１０９】
上記第３実施形態では、全ての単体機能実行部１４１を連続的にインストールする方法と、順次インストールを行う方法とを選択できる構成としたが、いずれか一方であってもよい。また、全ての単体機能実行部１４１を連続的にインストールする場合、基本機能実行部１２３のインストールの後に、単体機能実行部１４１のインストールを行う構成としたが、基本機能実行部１２３をインストールする前に、選択画面を表示し、基本機能実行部１２３をインストールする前に、全ての単体機能実行部１４１を連続的にインストールする構成としてもよい。また、全ての単体機能実行部１４１を連続的にインストールする場合、上記第３実施形態では、初回インストール処理において、当該インストールを行う構成としたが、本体プログラム処理において、全体ＵＩを表示する前に、当該インストールを行う構成としてもよい。あるいは、本体プログラム処理の開始後、Ｓ６０５〜Ｓ６０７の処理を実行するスレッドを作成し、当該スレッドを、全体ＵＩの表示と並行に実行する構成としてもよい。
【０１１０】
図３〜図８に示す各処理のうち、一部の処理を、特許請求の範囲における独立請求項から逸脱しない範囲で、省略または変更してもよい。例えば、図５，図７，図８の本体プログラム処理には、Ｓ４０１〜Ｓ４０４など、図１の本体プログラム処理に含まれる処理が含まれていないが、そのような処理を、図５，図７，図８の本体プログラム処理に含めてもよい。また、図１の本体プログラム処理において、Ｓ４０１〜Ｓ４０４などの一部の処理が省略されていてもよい。
【０１１１】
上記実施形態では、ＣＰＵ１１が、図３〜図８に記載される各処理を実行する構成として説明したが、これら各図に記載される各処理を、複数のＣＰＵが協同的に実行する構成としてもよい。また、ＡＳＩＣなどのＩＣが、単独で、または、複数によって協働的に、上記各図に記載される各処理を実行する構成してもよい。また、ＣＰＵ１１とＡＳＩＣなどのＩＣとが協同して、上記各図に記載される各処理を実行する構成してもよい。また、上記実施形態により説明した各特徴や、上述した各変形例を適宜組み合わせて実施する構成としてもよい。
【符号の説明】
【０１１２】
１００：デバイス利用アプリケーション
【図１】
2015087898.tif 000003
【図２】
2015087898.tif 000004
【図３】
2015087898.tif 000005
【図４】
2015087898.tif 000006
【図５】
2015087898.tif 000007
【図６】
2015087898.tif 000008
【図７】
2015087898.tif 000009
【図８】
2015087898.tif 000010