(57)【要約】【課題】プログラムを対象装置にインストールする際に、そのプログラムが動作するためには特定の動作状態となっている必要がある機能の動作状態を確認するためのインタフェース機能をその対象装置が備えていない場合でも、当該機能の動作状態を判定する。【解決手段】画像形成装置１０がＷｅｂインタフェース機能に対応しておらず、アプリが動作するために起動中であることが要求される確認対象機能の動作状態を確認することができない場合、制御部３１は、この確認対象機能と動作状態が連動する連動機能の動作状態を取得する。そして、制御部３１は、このようにして取得された連動機能の動作状態に基づいて、確認対象機能の動作状態を判定する。【選択図】図３
2018109853.tif 000002
【特許請求の範囲】
【請求項１】
プログラムをインストールする処理を実行する際に、当該プログラムを動作させるために特定の動作状態となっていることが要求される第１の機能と動作状態が連動する第２の機能の動作状態を取得する取得手段と、
前記取得手段により取得された前記第２の機能の動作状態に基づいて、前記第１の機能の動作状態を判定する判定手段と、
を備えた情報処理装置。
【請求項２】
前記判定手段により判定された前記第１の機能の動作状態が、前記プログラムを動作させるために必要な特定の動作状態である場合、プログラムをインストールする処理を実行する処理実行手段をさらに備えた請求項１記載の情報処理装置。
【請求項３】
前記判定手段により判定された前記第１の機能の動作状態が、前記プログラムを動作させるために必要な特定の動作状態とは異なる場合、前記第１の機能の動作状態を、前記プログラムを動作させるために必要な特定の動作状態に変更するよう指示する指示手段をさらに備えた請求項１記載の情報処理装置。
【請求項４】
前記指示手段による指示により、前記第１の機能の動作状態が前記プログラムを動作させるために必要な特定の動作状態となった場合、プログラムをインストールする処理を実行する処理実行手段をさらに備えた請求項３記載の情報処理装置。
【請求項５】
前記指示手段による指示を行ったにもかかわらず、前記第１の機能の動作状態が前記プログラムを動作させるために必要な特定の動作状態とならなかった場合、前記プログラムをインストールする処理を実行することができない旨を通知する通知手段をさらに備えた請求項３記載の情報処理装置。
【請求項６】
前記判定手段により前記第１の機能の動作状態を判定することができない場合、前記プログラムをインストールする処理を実行することができない旨を通知する通知手段をさらに備えた請求項１記載の情報処理装置。
【請求項７】
前記取得手段は、前記第１の機能の動作状態を取得することができない場合に、前記第２の機能の動作状態を取得する請求項１から６のいずれか記載の情報処理装置。
【請求項８】
前記取得手段は、前記第２の機能の動作状態を取得することができない場合に、前記第１の機能の動作状態を取得する請求項１から６のいずれか記載の情報処理装置。
【請求項９】
前記取得手段は、前記第１の機能と動作状態が連動する第２の機能が複数存在する場合、複数の第２の機能の動作状態を順次取得し、
前記判定手段は、前記取得手段により取得された前記複数の第２の機能のいずれかの第２の機能の動作状態に基づいて、前記第１の機能の動作状態を判定する、請求項１から６のいずれか記載の情報処理装置。
【請求項１０】
前記判定手段は、前記プログラムを動作させるために特定の動作状態となっていることが要求される第１の機能が複数存在する場合、前記複数の第１の機能の動作状態を判定し、
前記複数の第１の機能のうちいずれかの第１の機能の動作状態が、前記プログラムを動作させるために必要な特定の動作状態とは異なる場合、当該第１の機能の動作状態を、前記プログラムを動作させるために必要な特定の動作状態に変更するよう指示する指示手段をさらに備えた請求項１記載の情報処理装置。
【請求項１１】
前記判定手段は、予め設定された優先順位に基づいて、前記複数の第１の機能の動作状態を順次判定する請求項１０記載の情報処理装置。
【請求項１２】
前記指示手段による指示により、前記プログラムを動作させるために必要な特定の動作状態とは異なる動作状態であった第１の機能の動作状態が、前記必要な特定の動作状態となった場合、プログラムをインストールする処理を実行する処理実行手段をさらに備えた請求項１０又は１１記載の情報処理装置。
【請求項１３】
前記指示手段による指示を行ったにもかかわらず、前記第１の機能の動作状態が前記プログラムを動作させるために必要な特定の動作状態とならなかった場合、または前記判定手段により前記複数の第１の機能のうちいずれかの第１の機能の動作状態を判定することができない場合、前記プログラムをインストールする処理を実行することができない旨を通知する通知手段をさらに備えた請求項１０から１２のいずれか記載の情報処理装置。
【請求項１４】
プログラムをインストールする処理を実行する際に、当該プログラムを動作させるために特定の動作状態となっていることが要求される第１の機能と動作状態が連動する第２の機能の動作状態を取得する取得ステップと、
前記取得ステップにおいて取得された前記第２の機能の動作状態に基づいて、前記第１の機能の動作状態を判定する判定ステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびプログラムに関する。
【背景技術】
【０００２】
特許文献１には、画像データの保存先に対して予めコネクトテスト、ログインテスト、書込みテストを行い、これらのテストでエラーが発生している場合にはそのエラーに対応する対応策を提示するようにした画像読取システムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２１９９２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般的に、ある装置に後から機能を追加しようとする際に、アプリケーションプログラム（以下単にアプリと略す。）等のプログラムをインストールすることが行われる。しかし、印刷機能、スキャン機能、複写機能、ファクシミリ機能等の複数の機能を有するいわゆる複合機と呼ばれる装置では、単にアプリをインストールしただけではそのアプリが動作できない場合がある。
【０００５】
具体的には、複合機における特定の機能の動作状態を起動中にする等の処理を実行しなければ、インストールしたアプリが正常に動作しない場合がある。
【０００６】
そのため、アプリをインストールする際には、そのアプリを動作させるために起動状態となっていることが必要な機能の動作状態を確認し、未起動状態であれば起動させるような操作が必要となる。
【０００７】
しかし、このような操作は一般ユーザにとって複雑であるため、カスタマーエンジニア等が複合機の設置先まで出向いてアプリのインストール作業を行う必要がある。ただし、カスタマーエンジニア等が複合機の設定先まで出向いて作業を行うことによりユーザには費用が発生することになる。
【０００８】
そのため、インストーラによってアプリをインストールする際に、そのアプリを動作させるために起動状態となっていることが必要な機能の動作状態を自動的に確認して、未起動状態であればインストーラにより起動状態に変更後にアプリのインストールを開始するような方法が提案されている。
【０００９】
そして、近年ではパーソナルコンピュータ（以下、パソコンと略す。）等の端末装置に搭載されているＷｅｂブラウザを用いて、複合機等に印刷指示や各種設定内容の変更等を行うことが可能なＷｅｂインタフェース機能を備えている装置が増えている。
【００１０】
このＷｅｂインタフェース機能を利用すれば、アプリをインストールしようとする装置の機能の動作状態を確認したり、各種機能の動作状態を変更するような処理が可能となる。
【００１１】
しかし、アプリをインストールする対象装置には様々な装置が存在し、このようなＷｅｂインタフェース機能に対応していない装置にアプリをインストールしようとする場合、Ｗｅｂインタフェース機能を利用して対象装置における特定の機能の動作状態を確認することができない場合が発生する。
【００１２】
そのため、アプリをインストールしようとする装置の機能がアプリを動作させるために必要な動作状態である起動状態となっている場合でも、アプリをインストールする前にはその機能の動作状態をカスタマーエンジニア等が確認するという作業が発生してしまうことになる。
【００１３】
なお、アプリをインストールしようとする装置がＷｅｂインタフェース機能に対応しているか否かは、その装置の機種名等だけでは判定することができない場合がある。具体的には、その装置に搭載されているファームウェアのバージョンによりＷｅｂインタフェース機能への対応／未対応が替わってくる場合がある。また、ファームウェアのバージョンも特別仕様のファームウェア等が生成される場合があるため、単純に装置の機種名やファームウェアのバージョンだけでＷｅｂインタフェース機能の対応状況を正確に判定することは難しい。
【００１４】
本発明の目的は、プログラムを対象装置にインストールする際に、そのプログラムが動作するためには特定の動作状態となっている必要がある機能の動作状態を確認するためのインタフェース機能をその対象装置が備えていない場合でも、当該機能の動作状態を判定することが可能な情報処理装置およびプログラムを提供することである。
【課題を解決するための手段】
【００１５】
［情報処理装置］
請求項１に係る本発明は、プログラムをインストールする処理を実行する際に、当該プログラムを動作させるために特定の動作状態となっていることが要求される第１の機能と動作状態が連動する第２の機能の動作状態を取得する取得手段と、
前記取得手段により取得された前記第２の機能の動作状態に基づいて、前記第１の機能の動作状態を判定する判定手段とを備えた情報処理装置である。
【００１６】
請求項２に係る本発明は、前記判定手段により判定された前記第１の機能の動作状態が、前記プログラムを動作させるために必要な特定の動作状態である場合、プログラムをインストールする処理を実行する処理実行手段をさらに備えた請求項１記載の情報処理装置である。
【００１７】
請求項３に係る本発明は、前記判定手段により判定された前記第１の機能の動作状態が、前記プログラムを動作させるために必要な特定の動作状態とは異なる場合、前記第１の機能の動作状態を、前記プログラムを動作させるために必要な特定の動作状態に変更するよう指示する指示手段をさらに備えた請求項１記載の情報処理装置である。
【００１８】
請求項４に係る本発明は、前記指示手段による指示により、前記第１の機能の動作状態が前記プログラムを動作させるために必要な特定の動作状態となった場合、プログラムをインストールする処理を実行する処理実行手段をさらに備えた請求項３記載の情報処理装置である。
【００１９】
請求項５に係る本発明は、前記指示手段による指示を行ったにもかかわらず、前記第１の機能の動作状態が前記プログラムを動作させるために必要な特定の動作状態とならなかった場合、前記プログラムをインストールする処理を実行することができない旨を通知する通知手段をさらに備えた請求項３記載の情報処理装置である。
【００２０】
請求項６に係る本発明は、前記判定手段により前記第１の機能の動作状態を判定することができない場合、前記プログラムをインストールする処理を実行することができない旨を通知する通知手段をさらに備えた請求項１記載の情報処理装置である。
【００２１】
請求項７に係る本発明は、前記取得手段が、前記第１の機能の動作状態を取得することができない場合に、前記第２の機能の動作状態を取得する請求項１から６のいずれか記載の情報処理装置。
【００２２】
請求項８に係る本発明は、前記取得手段が、前記第２の機能の動作状態を取得することができない場合に、前記第１の機能の動作状態を取得する請求項１から６のいずれか記載の情報処理装置である。
【００２３】
請求項９に係る本発明は、前記取得手段が、前記第１の機能と動作状態が連動する第２の機能が複数存在する場合、複数の第２の機能の動作状態を順次取得し、
前記判定手段は、前記取得手段により取得された前記複数の第２の機能のいずれかの第２の機能の動作状態に基づいて、前記第１の機能の動作状態を判定する、請求項１から６のいずれか記載の情報処理装置である。
【００２４】
請求項１０に係る本発明は、前記判定手段が、前記プログラムを動作させるために特定の動作状態となっていることが要求される第１の機能が複数存在する場合、前記複数の第１の機能の動作状態を判定し、
前記複数の第１の機能のうちいずれかの第１の機能の動作状態が、前記プログラムを動作させるために必要な特定の動作状態とは異なる場合、当該第１の機能の動作状態を、前記プログラムを動作させるために必要な特定の動作状態に変更するよう指示する指示手段をさらに備えた請求項１記載の情報処理装置である。
【００２５】
請求項１１に係る本発明は、前記判定手段が、予め設定された優先順位に基づいて、前記複数の第１の機能の動作状態を順次判定する請求項１０記載の情報処理装置である。
【００２６】
請求項１２に係る本発明は、前記指示手段による指示により、前記プログラムを動作させるために必要な特定の動作状態とは異なる動作状態であった第１の機能の動作状態が、前記必要な特定の動作状態となった場合、プログラムをインストールする処理を実行する処理実行手段をさらに備えた請求項１０又は１１記載の情報処理装置である。
【００２７】
請求項１３に係る本発明は、前記指示手段による指示を行ったにもかかわらず、前記第１の機能の動作状態が前記プログラムを動作させるために必要な特定の動作状態とならなかった場合、または前記判定手段により前記複数の第１の機能のうちいずれかの第１の機能の動作状態を判定することができない場合、前記プログラムをインストールする処理を実行することができない旨を通知する通知手段をさらに備えた請求項１０から１２のいずれか記載の情報処理装置である。
【００２８】
[プログラム]
請求項１４に係る本発明は、プログラムをインストールする処理を実行する際に、当該プログラムを動作させるために特定の動作状態となっていることが要求される第１の機能と動作状態が連動する第２の機能の動作状態を取得する取得ステップと、
前記取得ステップにおいて取得された前記第２の機能の動作状態に基づいて、前記第１の機能の動作状態を判定する判定ステップとをコンピュータに実行させるためのプログラムである。
【発明の効果】
【００２９】
請求項１に係る本発明によれば、プログラムを対象装置にインストールする際に、そのプログラムが動作するためには特定の動作状態となっている必要がある機能の動作状態を確認するためのインタフェース機能をその対象装置が備えていない場合でも、当該機能の動作状態を判定することが可能な情報処理装置を提供することができる。
【００３０】
請求項２に係る本発明によれば、プログラムを対象装置にインストールする際に、そのプログラムが動作するためには特定の動作状態となっている必要がある機能の動作状態を確認するためのインタフェース機能をその対象装置が備えていない場合でも、当該機能の動作状態を判定してインストール処理を実行することが可能な情報処理装置を提供することができる。
【００３１】
請求項３に係る本発明によれば、プログラムを対象装置にインストールする際に、そのプログラムが動作するためには特定の動作状態となっている必要がある機能の動作状態を確認するためのインタフェース機能をその対象装置が備えていない場合でも、当該機能の動作状態を判定して、特定の動作状態で無い場合には特定の動作状態に変更することが可能な情報処理装置を提供することができる。
【００３２】
請求項４に係る本発明によれば、プログラムを対象装置にインストールする際に、そのプログラムが動作するためには特定の動作状態となっている必要がある機能の動作状態を確認するためのインタフェース機能をその対象装置が備えていない場合でも、当該機能の動作状態を判定して、特定の動作状態で無い場合には特定の動作状態に変更してインストール処理を実行することが可能な情報処理装置を提供することができる。
【００３３】
請求項５に係る本発明によれば、プログラムを対象装置にインストールする際に、そのプログラムが動作するためには特定の動作状態となっている必要がある機能の動作状態を確認するためのインタフェース機能をその対象装置が備えていない場合でも、当該機能の動作状態を判定して、特定の動作状態で無い場合には特定の動作状態に変更するよう指示を行い、特定の動作状態とならない場合にはインストール処理を実行することができないことを使用者に知らせることが可能な情報処理装置を提供することができる。
【００３４】
請求項６に係る本発明によれば、インストールしようとするプログラムが動作するためには特定の動作状態となっている必要がある機能の動作状態を判定することができない場合には、その旨を使用者に知らせることが可能な情報処理装置を提供することができる。
【００３５】
請求項７に係る本発明によれば、インストールしようとするプログラムが動作するためには特定の動作状態となっている必要がある機能の動作状態を直接確認することができる可能性が高い場合に、その機能と動作状態が連動する関連機能の動作状態を優先して取得する場合と比較して、その機能の動作状態を判定するための処理量を少なくすることが可能な情報処理装置を提供することができる。
【００３６】
請求項８に係る本発明によれば、インストールしようとするプログラムが動作するためには特定の動作状態となっている必要がある機能の動作状態を直接確認することができる可能性が低い場合に、その機能の動作状態を優先して取得する場合と比較して、その機能の動作状態を判定するための処理量を少なくすることが可能な情報処理装置を提供することができる。
【００３７】
請求項９に係る本発明によれば、インストールしようとするプログラムが動作するためには特定の動作状態となっている必要がある機能の動作状態に連動する関連機能が複数存在する場合に、全ての関連機能の動作状態を確認する場合と比較して、その機能の動作状態を判定するための処理量を少なくすることが可能な情報処理装置を提供することができる。
【００３８】
請求項１０に係る本発明によれば、インストールしようとするプログラムが動作するためには特定の動作状態となっている必要がある機能が複数存在する場合に、いずれかの機能の動作状態が特定の動作状態で無い場合には特定の動作状態に変更するよう指示を行うことが可能な情報処理装置を提供することができる。
【００３９】
請求項１１に係る本発明によれば、インストールしようとするプログラムが動作するためには特定の動作状態となっている必要がある機能が複数存在する場合に、それぞれの機能の動作状態を優先順位を設けることなく確認する場合と比較して、そのプログラムのインストールを行うことが可能か否かを判定するまでの処理量を少なくすることが可能な情報処理装置を提供することができる。
【００４０】
請求項１２に係る本発明によれば、インストールしようとするプログラムが動作するためには特定の動作状態となっている必要がある機能が複数存在する場合に、いずれかの機能の動作状態が特定の動作状態で無い場合には特定の動作状態に変更してインストール処理を実行することが可能な情報処理装置を提供することができる。
【００４１】
請求項１３に係る本発明によれば、インストールしようとするプログラムが動作するためには特定の動作状態となっている必要がある機能が複数存在する場合に、全ての機能の動作状態を確認する場合と比較して、その機能の動作状態を判定するための処理量を少なくすることが可能な情報処理装置を提供することができる。
【００４２】
請求項１４に係る本発明によれば、プログラムを対象装置にインストールする際に、そのプログラムが動作するためには特定の動作状態となっている必要がある機能の動作状態を確認するためのインタフェース機能をその対象装置が備えていない場合でも、当該機能の動作状態を確認することが可能なプログラムを提供することができる。
【図面の簡単な説明】
【００４３】
【図１】本発明の一実施形態の画像形成システムの構成を示す図である。
【図２】本発明の一実施形態における端末装置２０のハードウェア構成を示す図である。
【図３】本発明の一実施形態における端末装置２０の機能構成を示すブロック図である。
【図４】このインストーラ４０の構成を説明するための図である。
【図５】本発明の一実施形態の端末装置２０におけるアプリのインストール実行時の動作を説明するためのフローチャートである。
【図６】図５のフローチャートにおける確認対象機能の動作状態の確認処理（ステップＳ１０１）の詳細な動作を説明するためのフローチャートである。
【図７】電子証明書運用機能が起動中であることを確認するための動作状態確認テーブル例を説明するための図である。
【図８】端末装置２０が、ある条件において、アプリを画像形成装置１０にインストールする際の動作を説明するためのシーケンスチャートである。
【図９】端末装置２０においてアプリをインストールする際に、インストールしようとする装置の指定を行うための表示画面例を示す図である。
【図１０】端末装置２０において、画像形成装置１０に対するアプリのインストール処理の開始からインストール処理の完了まで表示部３２に表示される画面例を示す図である。
【図１１】端末装置２０が、ある条件において、アプリを画像形成装置１０にインストールする際の動作を説明するためのシーケンスチャートである。
【図１２】端末装置２０が、ある条件において、アプリを画像形成装置１０にインストールする際の動作を説明するためのシーケンスチャートである。
【図１３】端末装置２０が、ある条件において、アプリを画像形成装置１０にインストールする際の動作を説明するためのシーケンスチャートである。
【図１４】端末装置２０が、ある条件において、アプリを画像形成装置１０にインストールする際の動作を説明するためのシーケンスチャートである。
【図１５】電子証明書運用機能の動作状態を判定することはできない場合に、ユーザにアプリのインストール処理を実行することができない旨を通知するための表示画面例を示す図である。
【図１６】端末装置２０が、ある条件において、アプリを画像形成装置１０にインストールする際の動作を説明するためのシーケンスチャートである。
【図１７】電子証明書運用機能の動作状態が未起動の場合に、ユーザにアプリのインストール処理を実行することができない旨を通知するための表示画面例を示す図である。
【図１８】他のアプリをインストールする際に使用される動作状態確認テーブル例を示す図である。
【図１９】アプリを起動させるためにある特定の動作状態となっていることが要求される機能が複数ある場合に、このアプリをインストールする際に使用される動作状態確認テーブル例を示す図である。
【図２０】図１９を参照して説明したアプリを画像形成装置１０にインストールしようとする場合において、画像形成装置１０がＷｅｂインタフェース機能に対応しており、さらに画像形成装置１０においてＵＩアプリインストール機能と通信プラグインインストール機能の２つの機能がともに起動中状態である場合の動作を説明するためのシーケンスチャートである。
【図２１】図１９を参照して説明したアプリを画像形成装置１０にインストールしようとする場合において、画像形成装置１０がＷｅｂインタフェース機能等のインタフェース機能に対応しておらず確認対象機能の動作状態を判定することができない場合の動作を説明するためのシーケンスチャートである。
【発明を実施するための形態】
【００４４】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００４５】
図１は本発明の一実施形態の画像形成システムを示す図である。
【００４６】
本発明の一実施形態の画像形成システムは、図１に示されるように、ネットワーク３０により相互に接続された画像形成装置１０、および端末装置２０により構成される。端末装置２０は、印刷データを生成して、ネットワーク３０経由にて生成した印刷データを画像形成装置１０に対して送信する、例えば、パーソナルコンピュータ等の装置である。画像形成装置１０は、端末装置２０から送信された印刷データを受け付けて、印刷データに応じた画像を用紙上に出力する。なお、画像形成装置１０は、印刷（プリント）機能、スキャン機能、複写（コピー）機能、ファクシミリ機能等の複数の機能を有するいわゆる複合機と呼ばれる装置である。
【００４７】
また、端末装置２０は、画像形成装置１０に対してアプリケーションプログラムをインストールする処理を実行する情報処置装置として動作する。
【００４８】
アプリケーションプログラムとは、画像形成装置等により提供される特定のサービスや機能を実現するためのソフトウェアプログラムのことをいう。ここで、アプリケーションプログラムには、予め画像形成装置等に搭載されているものや、後から画像形成装置にインストールすることにより追加可能なものがある。以降では、このアプリケーションプログラムを単にアプリと省略する。
【００４９】
次に、本実施形態における端末装置２０のハードウェア構成を図２に示す。
【００５０】
端末装置２０は、図２に示されるように、ＣＰＵ１１、メモリ１２、ハードディスクドライブ（ＨＤＤ）等の記憶装置１３、ネットワーク３０を介して画像形成装置１０との間でデータの送信及び受信を行う通信インタフェース（ＩＦ）１４、タッチパネル又は液晶ディスプレイ並びにキーボードを含むユーザインタフェース（ＵＩ）装置１５を有する。これらの構成要素は、制御バス１６を介して互いに接続されている。
【００５１】
ＣＰＵ１１は、メモリ１２または記憶装置１３に格納された制御プログラムに基づいて所定の処理を実行して、端末装置２０の動作を制御する。なお、本実施形態では、ＣＰＵ１１は、メモリ１２または記憶装置１３内に格納された制御プログラムを読み出して実行するものとして説明したが、当該プログラムをＣＤ−ＲＯＭ等の記憶媒体に格納してＣＰＵ１１に提供することも可能である。
【００５２】
図３は、上記の制御プログラムが実行されることにより実現される端末装置２０の機能構成を示すブロック図である。
【００５３】
本実施形態の端末装置２０は、図３に示されるように、制御部３１と、表示部３２と、記憶部３３と、格納装置３４と、通信部３５とを備えている。
【００５４】
格納装置３４には、インストール（セットアップ）の対象装置である画像形成装置１０にインストールしようとするアプリが含まれたインストーラ４０が格納されている。
【００５５】
このインストーラ４０は、図４に示すように、画像形成装置１０にインストールしようとするアプリ４１と、このアプリ４１をインストールする際の処理を実行するためのインストール用プログラム４３とから構成されている。
【００５６】
端末装置２０では、制御部３１がインストール用プログラム４３に基づく処理を実行することにより、アプリ４１を画像形成装置１０にインストールする一連の処理が実行される。
【００５７】
表示部３２は、制御部３１による制御に基づいて、ユーザに対してインストールの途中経過やインストール結果等を表示する。記憶部３３は、制御部３１によるインストール処理の際の各種情報を一時的に記憶するためのメモリである。また、通信部３５は、画像形成装置１０との間でデータの送受信を行うための通信機能を実行している。
【００５８】
ここで、画像形成装置１０では、インストールしたアプリを正常に動作させるためには、ある特定の機能（確認対象機能）が特定の動作状態、例えば起動中となっていることが必要であるものとする。
【００５９】
そのため、制御部３１は、あるアプリを画像形成装置１０にインストールする前に、そのアプリを動作させるために起動状態となっていることが要求される確認対象機能が起動状態となっていることを、例えば上記で説明したＷｅｂインタフェース機能を介して確認する。
【００６０】
しかし、画像形成装置１０がこのＷｅｂインタフェース機能に対応しておらず、確認対象機能の動作状態を確認することができない場合、制御部３１は、この確認対象機能と動作状態が連動する連動機能の動作状態を取得する。
【００６１】
ここで、この連動機能の動作状態については、Ｗｅｂインタフェース機能を介することなく他のインタフェース機能を介して確認可能となっている。
【００６２】
そして、制御部３１は、このようにして取得された連動機能の動作状態に基づいて、確認対象機能の動作状態を判定する。
【００６３】
ここで、連動機能とは、動作状態が確認対象機能の動作状態と連動して変化するような機能であり、連動機能がある動作状態であることが、確認対象機能の動作状態が起動中であると判定するための十分条件となるような機能である。
【００６４】
例えば、連動機能が起動中であれば、かならず確認対象機能が起動中であるような関係であれば、連動機能が起動中であることを確認するだけで、確認対象機能も起動中であると判定することができる。
【００６５】
具体的には、確認対象機能が電子証明書運用機能であり、本来この電子証明書運用機能の動作状態を確認するためには、登録済みの電子証明書が存在することを確認することが必要である場合について説明する。
【００６６】
しかし、この登録済みの電子証明書の存在を確認するためにはＷｅｂインタフェース機能を介することが必要であり、インストール対象の画像形成装置１０はＷｅｂインタフェース機能に対応していないものとする。
【００６７】
このような場合、制御部３１は、他のインタフェース機能を用いてＳＳＬ（Secure Sockets Layer）通信機能が起動中（又は有効状態）となっていることを確認することができれば、登録済みの電子証明書も存在して電子証明書運用機能が起動中であると判定することができる。
【００６８】
つまり、ＳＳＬ通信機能が起動中であるためには、登録済みの電子証明書（ＳＳＬサーバ証明書）が存在することが前提であるため、登録済みの電子証明書の存在を直接確認することができない場合でも、ＳＳＬ通信機能の動作状態を確認するだけで間接的に電子証明書運用機能の動作状態を判定することができる。
【００６９】
なお、ＳＳＬ通信機能が起動中であることは、電子証明書運用機能が起動中であることの十分条件であるため、ＳＳＬ通信機能が未起動であることを確認しただけでは、電子証明書運用機能も未起動であるとは判定することができない。つまり、ＳＳＬ通信機能が未起動であっても、登録済みの電子証明書が存在する場合もあり得る。
【００７０】
そして、制御部３１は、判定した確認対象機能の動作状態が起動中であった場合、通信部３５を介して画像形成装置１０に対してアプリをインストールする処理を実行する。
【００７１】
なお、制御部３１は、判定した確認対象機能の動作状態が、アプリを動作させるために必要な特定の動作状態とは異なる場合、つまり未起動状態であった場合、確認対象機能の動作状態を起動中に変更するよう画像形成装置１０に指示する。
【００７２】
そして、画像形成装置１０に対する指示により、確認対象機能の動作状態が起動中となった場合、制御部３１は、画像形成装置１０にアプリをインストールする処理を実行する。
【００７３】
また、画像形成装置１０に対して確認対象機能の動作状態を変更する指示を行ったにもかかわらず、確認対象機能の動作状態が起動中とならなかった場合、制御部３１は、アプリをインストールする処理を実行することができない旨を、表示部３２等を介してユーザに通知する。
【００７４】
なお、制御部３１は、確認対象機能の動作状態を判定することができない場合についても、アプリをインストールする処理を実行することができない旨を、表示部３２等を介してユーザに通知する。
【００７５】
なお、上記では、制御部３１は、確認対象機能の動作状態を取得することができない場合に、連動機能の動作状態を取得するものとして説明したが、確認対象機能の動作状態を取得することができる確率が低い場合には、連動機能の動作状態を先ず最初に取得して、連動機能の動作状態を取得することができない場合に、確認対象機能の動作状態を取得するようにしても良い。
【００７６】
なお、確認対象機能と動作状態が連動する連動機能が複数存在する場合、制御部３１は、複数の連動機能の動作状態を予め設定された優先順位に従って順次取得し、取得された複数の連動機能のいずれかの連動機能の動作状態に基づいて、確認対象機能の動作状態を判定するようにすれば良い。
【００７７】
また、アプリを動作させるために特定の動作状態となっていることが要求される確認対象機能が複数存在する場合、制御部３１は、複数の確認対象機能の動作状態を予め設定された優先順位に基づいて順次判定する。
【００７８】
そして、複数の確認対象機能のうちいずれかの確認対象機能の動作状態が、起動中ではなく未起動状態であった場合、制御部３１は、その確認対象機能の動作状態を、起動中に変更するよう通信部３５を介して画像形成装置１０に指示する。
【００７９】
そして、画像形成装置１０に対する指示により、未起動状態であった確認対象機能の動作状態が起動中となった場合、制御部３１は、画像形成装置１０に対してアプリをインストールする処理を実行する。
【００８０】
なお、画像形成装置１０に対して指示を行ったにもかかわらず、確認対象機能の動作状態が起動中とならなかった場合、または複数の確認対象機能のうちいずれかの確認対象機能の動作状態を判定することができない場合、制御部３１は、画像形成装置１０に対してアプリをインストールする処理を実行することができない旨を、例えば表示部３２を介してユーザに通知する。
【００８１】
なお、上記では、確認対象機能の動作状態を起動中／未起動として表現したが、この動作状態には、確認対象機能の設定状態が有効／無効となっているような場合も含まれるものとする。
【００８２】
また、連動機能が起動中の場合に確認対象機能が起動中であると判定することができる場合を用いて説明したが、連動機能は確認対象機能と動作状態が連動するものであれば良く、連動機能が未起動状態の場合に確認対象機能が起動中であると判定することができる場合も存在する。
【００８３】
次に、本実施形態の端末装置２０により画像形成装置１０に対するアプリのインストール処理を実行する際の動作を、図５、図６のフローチャートを参照して説明する。
【００８４】
制御部３１は、あるアプリを画像形成装置１０にインストールしようとする場合、先ずそのアプリが動作するために起動状態となっていることが必要な確認対象機能の現在の動作状態を、例えばＷｅｂインタフェース機能を使用して画像形成装置１０から取得する（ステップＳ１０１）。
【００８５】
そして、その確認対象機能の動作状態が確認できた場合（ステップＳ１０２においてｙｅｓ）であって確認できた動作状態が起動中であった場合（ステップＳ１０３においてｙｅｓ）、端末装置２０では、画像形成装置１０に対するインストールを開始する（ステップＳ１０４）。
【００８６】
なお、その確認対象機能の動作状態が確認できなかった場合（ステップＳ１０２においてｎｏ）、端末装置２０は、画像形成装置１０に対するインストールを中止する（ステップＳ１０７）。
【００８７】
また、確認対象機能の動作状態が確認できた場合（ステップＳ１０２においてｙｅｓ）であって確認できた動作状態が未起動であった場合（ステップＳ１０３においてｎｏ）、端末装置２０では、画像形成装置１０に対してその機能の動作状態を未起動状態から起動中に変更するよう指示を行う（ステップＳ１０５）。
【００８８】
そして、この指示が行われた後、その機能の動作状態が起動中に変更されたことが確認できた場合（ステップＳ１０６においてｙｅｓ）、端末装置２０では、画像形成装置１０に対するインストールを開始する（ステップＳ１０４）。
【００８９】
また、その機能の動作状態が起動中に変更されたことが確認できなかった場合（ステップＳ１０６においてｎｏ）、端末装置２０は、画像形成装置１０に対するインストールを中止する（ステップＳ１０７）。
【００９０】
次に、図５のフローチャートにおける確認対象機能の動作状態の確認処理（ステップＳ１０１）の詳細な動作を図６のフローチャートを参照して説明する。
【００９１】
先ず、端末装置２０では、例えばＷｅｂインタフェース機能を使用して確認対象機能の動作状態の情報を取得する（ステップＳ２０１）。
【００９２】
そして、確認対象機能の動作状態を取得できた場合（ステップＳ２０２においてｙｅｓ）、端末装置２０では、取得できた動作状態をその確認対象機能の動作状態と判定して処理を終了する。
【００９３】
また、画像形成装置１０がＷｅｂインタフェース機能に対応していないという理由等により、確認対象機能の動作状態を取得できなかった場合（ステップＳ２０２においてｎｏ）、端末装置２０では、確認対象機能の連動する関連機能の動作状態をＷｅｂインタフェース機能以外のインタフェース機能を用いて画像形成装置１０から取得する（ステップＳ２０３）。
【００９４】
そして、画像形成装置１０における関連機能の動作状態を取得することができた場合（ステップＳ２０４においてｙｅｓ）、端末装置２０では、取得した関連機能の動作状態に基づいて確認対象機能の動作状態を判定して処理を終了する（ステップＳ２０５）。
【００９５】
また、画像形成装置１０における関連機能の動作状態を取得することができなかった場合（ステップＳ２０４においてｎｏ）、動作状態が未取得の他の関連機能があれば（ステップＳ２０６においてｙｅｓ）、端末装置２０は、画像形成装置１０におけるその関連機能の動作状態を取得する（ステップＳ２０３）。
【００９６】
そして、全ての関連機能の動作状態を確認し終わると（ステップＳ２０６においてｎｏ）、端末装置２０では処理を終了する。
【００９７】
なお、端末装置２０では、複数の関連機能が存在する場合には、いずれか１つの関連機能の動作状態を取得することができれば、確認対象機能の動作状態を判定することができる。
【００９８】
次に、具体的な例を用いて本実施形態における端末装置２０のインストール処理の動作を説明する。
【００９９】
先ず、画像形成装置１０にインストールしようとするあるアプリが動作するためには、電子証明書運用機能が起動中であることが必要であるものとして説明する。
【０１００】
そして、電子証明書運用機能が起動中であることを確認するために、図７に示すような動作状態確認テーブルが端末装置２０には格納されているものとして説明する。
【０１０１】
ここで、電子証明書運用機能とは、ＳＳＬ通信等で用いられる認証局により発行された電子証明書を運用する機能であり、図７に示すように、登録済みの電子証明書の有無を確認して、登録済みの電子証明書が有ることができた場合、電子証明書運用機能が起動中であると判定することができる。
【０１０２】
なお、このように登録済みの電子証明書の有無を確認することは、電子証明書運用機能の動作状態を直接的に確認することに相当する。
【０１０３】
そして、例えば画像形成装置１０がＷｅｂインタフェース機能に対応しておらず、端末装置２０が画像形成装置１０において電子証明書の有無を確認することができない場合、端末装置２０は、ＳＳＬ通信機能の動作状態を確認することにより、電子証明書運用機能の動作状態を直接的に確認する。
【０１０４】
つまり、このＳＳＬ通信機能は、確認対象機能である電子証明書運用機能と動作状態が連動する関連機能である。
【０１０５】
そして、図７に示した動作状態確認テーブル例では、登録済み電子証明書の有無の確認処理は確認優先順位が１番と設定され、ＳＳＬ通信機能の動作状態の確認処理は確認優先順位が２番と設定されている。
【０１０６】
そして、上記で説明したようなアプリを画像形成装置１０にインストールしようとする場合において、画像形成装置１０がＷｅｂインタフェース機能に対応しており、さらに画像形成装置１０において電子証明書運用機能が既に起動中状態である場合の動作を図８のシーケンスチャートを参照して説明する。
【０１０７】
先ず、端末装置２０において格納装置３４内に格納されているインストーラ４０が起動すると図９に示すような画面表示が行われて、インストールしようとする装置の指定を行うための画面が表示される。
【０１０８】
そして、図９に示されるように、ユーザが、アプリをインストールしようとする画像形成装置１０のＩＰ（Internet Protocol）アドレスを入力することにより装置の指定を行ったものとする。
【０１０９】
すると、端末装置２０は、図８に示すように、画像形成装置１０に対して、Ｗｅｂインタフェース機能を使用して、登録済みの電子証明書の有無を問い合わせる（ステップＳ３０１）。
【０１１０】
ここで、画像形成装置１０は、Ｗｅｂインタフェース機能に対応しているため、端末装置２０からの問い合わせ内容を理解して、登録済み電子証明書が有る旨、つまり電子証明書運用機能が起動中である旨を端末装置２０に返信する（ステップＳ３０２）。
【０１１１】
その結果、端末装置２０は、画像形成装置１０に対するアプリのインストール処理を開始して、例えば図１０に示すような画面をインストール処理が完了するまで表示部３２に表示する（ステップＳ３０３）。
【０１１２】
次に、上記で説明したアプリを画像形成装置１０にインストールしようとする場合において、画像形成装置１０がＷｅｂインタフェース機能に対応しており、さらに画像形成装置１０において電子証明書運用機能が未起動状態である場合の動作を図１１のシーケンスチャートを参照して説明する。
【０１１３】
端末装置２０は、図８のフローチャートで説明したのと同様に、画像形成装置１０に対して、Ｗｅｂインタフェース機能を使用して、登録済みの電子証明書の有無を問い合わせる（ステップＳ４０１）。
【０１１４】
画像形成装置１０は、Ｗｅｂインタフェース機能に対応しているため、端末装置２０からの問い合わせ内容を理解して、登録済み電子証明書が無い旨、つまり電子証明書運用機能が未起動である旨を端末装置２０に返信する（ステップＳ４０２）。
【０１１５】
そのため、端末装置２０は、画像形成装置１０に対して、電子証明書を生成して登録することにより電子証明書機能を起動中とするような指示を送信する（ステップＳ４０３）。
画像形成装置１０は、この端末装置２０からの指示を受信すると、自装置内で電子証明書の生成処理を実行して電子証明書を登録する。そして、画像形成装置１０は端末装置２０に対して、電子証明書を生成して登録した旨を返信する（ステップＳ４０４）。
【０１１６】
この画像形成装置１０からの返信を受信した端末装置２０は、画像形成装置１０に対するアプリのインストール処理を開始する（ステップＳ４０５）。
【０１１７】
次に、上記で説明したアプリを画像形成装置１０にインストールしようとする場合において、画像形成装置１０がＷｅｂインタフェース機能に対応していないが、画像形成装置１０において電子証明書運用機能が起動中である場合の動作を図１２のシーケンスチャートを参照して説明する。
【０１１８】
端末装置２０は、上記で説明したのと同様に、画像形成装置１０に対して、Ｗｅｂインタフェース機能を使用して、登録済みの電子証明書の有無を問い合わせる（ステップＳ５０１）。
【０１１９】
しかし、画像形成装置１０がＷｅｂインタフェース機能に対応していないため、端末装置２０からの問い合わせ内容を理解することができず、問い合わせ内容を理解することができない旨のエラーを端末装置２０に返信する（ステップＳ５０２）。
【０１２０】
すると、端末装置２０では、図７に示した動作状態確認テーブルに従って、Ｗｅｂインタフェース以外の他のインタフェース機能を使用して、確認優先順位が次のＳＳＬ通信機能の動作状態の問い合わせを画像形成装置１０に対して行う（ステップＳ５０３）。
【０１２１】
この端末装置２０からの問い合わせに対して、画像形成装置１０は、ＳＳＬ通信機能が起動中である旨を回答する（ステップＳ５０４）。
【０１２２】
すると、端末装置２０では、ＳＳＬ通信機能が起動中であることを確認したことにより、登録済みの電子証明書も存在する、つまり電子証明書運用機能は起動中であると判定する（ステップＳ５０５）。
【０１２３】
その結果、端末装置２０は、画像形成装置１０に対するアプリのインストール処理を開始する（ステップＳ５０６）。
【０１２４】
次に、上記で説明したアプリを画像形成装置１０にインストールしようとする場合において、画像形成装置１０がＷｅｂインタフェース機能に対応しておらず、画像形成装置１０において電子証明書運用機能が未起動状態である場合の動作を図１３のシーケンスチャートを参照して説明する。
【０１２５】
端末装置２０は、上記で説明したのと同様に、画像形成装置１０に対して、Ｗｅｂインタフェース機能を使用して、登録済みの電子証明書の有無を問い合わせる（ステップＳ６０１）。
【０１２６】
しかし、画像形成装置１０がＷｅｂインタフェース機能に対応していないため、端末装置２０からの問い合わせ内容を理解することができず、問い合わせ内容を理解することができない旨のエラーを端末装置２０に返信する（ステップＳ６０２）。
【０１２７】
すると、端末装置２０では、図７に示した動作状態確認テーブルに従って、Ｗｅｂインタフェース以外の他のインタフェース機能を使用して、確認優先順位が次のＳＳＬ通信機能の動作状態の問い合わせを画像形成装置１０に対して行う（ステップＳ６０３）。
【０１２８】
この端末装置２０からの問い合わせに対して、画像形成装置１０は、ＳＳＬ通信機能が未起動状態である旨を回答する（ステップＳ６０４）。
【０１２９】
すると、端末装置２０では、ＳＳＬ通信機能が未起動状態であることを確認したことにより、登録済みの電子証明書も存在しない、つまり電子証明書運用機能は未起動状態であると判定する（ステップＳ６０５）。
【０１３０】
そのため、端末装置２０は、画像形成装置１０に対して、電子証明書を生成して登録することにより電子証明書機能を起動中とするような指示を送信する（ステップＳ６０６）。
【０１３１】
画像形成装置１０は、この端末装置２０からの指示を受信すると、自装置内で電子証明書の生成処理を実行して電子証明書を登録する。そして、画像形成装置１０は端末装置２０に対して、電子証明書を生成して登録した旨を返信する（ステップＳ６０７）。
【０１３２】
この画像形成装置１０からの返信を受信した端末装置２０は、画像形成装置１０に対するアプリのインストール処理を開始する（ステップＳ６０８）。
【０１３３】
次に、上記で説明したアプリを画像形成装置１０にインストールしようとする場合において、画像形成装置１０がＷｅｂインタフェース機能に対応しておらず、さらにＳＳＬ通信機能の動作状態を外部から確認するためのインタフェース機能にも対応していない場合の動作を図１４のシーケンスチャートを参照して説明する。
【０１３４】
端末装置２０は、上記で説明したのと同様に、画像形成装置１０に対して、Ｗｅｂインタフェース機能を使用して、登録済みの電子証明書の有無を問い合わせる（ステップＳ７０１）。
【０１３５】
しかし、画像形成装置１０がＷｅｂインタフェース機能に対応していないため、端末装置２０からの問い合わせ内容を理解することができず、問い合わせ内容を理解することができない旨のエラーを端末装置２０に返信する（ステップＳ７０２）。
【０１３６】
すると、端末装置２０では、図７に示した動作状態確認テーブルに従って、Ｗｅｂインタフェース以外の他のインタフェース機能を使用して、確認優先順位が次のＳＳＬ通信機能の動作状態の問い合わせを画像形成装置１０に対して行う（ステップＳ７０３）。
【０１３７】
しかし、画像形成装置１０がこのインタフェース機能にも対応していないため、端末装置２０からの問い合わせ内容を理解することができず、問い合わせ内容を理解することができない旨のエラーを端末装置２０に返信する（ステップＳ７０４）。
【０１３８】
そして、確認対象機能である電子証明書運用機能の関連機能が他には存在していないため、端末装置２０では、電子証明書運用機能の動作状態を判定することはできないと判定して、例えば図１５に示すような画面を表示して、ユーザにアプリのインストール処理を実行することができない旨を通知する（ステップＳ７０５）。
【０１３９】
次に、上記で説明したアプリを画像形成装置１０にインストールしようとする場合において、画像形成装置１０がＷｅｂインタフェース機能に対応しておらず、画像形成装置１０において電子証明書運用機能が未起動状態であり、さらに画像形成装置１０が端末装置２０からの電子証明書の生成指示に対応していない場合の動作を図１６のシーケンスチャートを参照して説明する。
【０１４０】
端末装置２０は、上記で説明したのと同様に、画像形成装置１０に対して、Ｗｅｂインタフェース機能を使用して、登録済みの電子証明書の有無を問い合わせる（ステップＳ８０１）。
【０１４１】
しかし、画像形成装置１０がＷｅｂインタフェース機能に対応していないため、端末装置２０からの問い合わせ内容を理解することができず、問い合わせ内容を理解することができない旨のエラーを端末装置２０に返信する（ステップＳ８０２）。
【０１４２】
すると、端末装置２０では、図７に示した動作状態確認テーブルに従って、Ｗｅｂインタフェース以外の他のインタフェース機能を使用して、確認優先順位が次のＳＳＬ通信機能の動作状態の問い合わせを画像形成装置１０に対して行う（ステップＳ８０３）。
【０１４３】
この端末装置２０からの問い合わせに対して、画像形成装置１０は、ＳＳＬ通信機能が未起動状態である旨を回答する（ステップＳ８０４）。
【０１４４】
すると、端末装置２０では、ＳＳＬ通信機能が未起動状態であることを確認したことにより、登録済みの電子証明書も存在しない、つまり電子証明書運用機能は未起動状態であると判定する（ステップＳ８０５）。
【０１４５】
そのため、端末装置２０は、画像形成装置１０に対して、電子証明書を生成して登録することにより電子証明書機能を起動中とするような指示を送信する（ステップＳ８０６）。
【０１４６】
しかし、画像形成装置１０は、この端末装置２０からの電子証明書の生成指示を受信しても、この生成指示に対応して電子証明書を生成する機能に対応していないため、その旨のエラーを端末装置２０に返信する（ステップＳ８０７）。
【０１４７】
そのため、端末装置２０では、アプリのインストール処理を実行することができないと判定して、例えば図１７に示すような画面を表示して、ユーザにアプリのインストール処理を実行することができない旨を通知する（ステップＳ８０８）。
【０１４８】
また、他のアプリをインストールする際に使用される動作状態確認テーブル例を図１８に示す。
【０１４９】
この図１８に示した動作状態確認テーブルでは、インストールしようとするアプリが動作するためにＨＤＤへのＲ／Ｗ（読出し／書き込み）機能が起動中（有効状態）となっていることが必要な場合の例が示されている。
【０１５０】
そして、このＨＤＤへのＲ／Ｗ機能が起動中であることを直接的に確認するためには、補助記憶装置情報管理モジュールの動作状態が起動中であることを確認すれば良い。しかし、補助記憶装置情報管理モジュールの動作状態を確認するためにはＷｅｂインタフェース機能を使用する必要があるため、Ｗｅｂインタフェース機能に対応していない装置については補助記憶装置情報管理モジュールの動作状態を確認することができない。
【０１５１】
そのため、補助記憶装置情報管理モジュールの動作状態を確認する代わりに、実行中アプリ情報管理モジュールの動作状態を確認することによりＨＤＤへのＲ／Ｗ機能の動作状態を判定する。
【０１５２】
ここで、実行中アプリ情報管理モジュールの動作状態が起動中であることは、補助記憶装置情報管理モジュールの動作状態が起動中であることの十分条件となっている。
【０１５３】
そのため、端末装置２０は、実行中アプリ情報管理モジュールの動作状態が起動中であることを確認することができれば、ＨＤＤへのＲ／Ｗ機能の動作状態が起動中であると判定することができる。
【０１５４】
特に、ＨＤＤ等のハードウェア装置の状態等は、ＤＢ−ＡＰＩ（Data Base-Application Programming Interface）等のＷｅｂインタフェースとは異なるインタフェース機能により確認することができる場合が多い。そのため、Ｗｅｂインタフェース機能に対応していない装置等に対しては、ＤＢ−ＡＰＩ等の他のインタフェース機能を用いて特定の機能の動作状態を確認することができる場合がある。
【０１５５】
次に、アプリを起動させるためにある特定の動作状態（設定状態）となっていることが要求される機能が複数ある場合について説明する。このようなアプリをインストールする際に使用される動作状態確認テーブル例を図１９に示す。
【０１５６】
この図１９に示した動作状態確認テーブルでは、インストールしようとするアプリが動作するためにＵＩアプリインストール機能と通信プラグインインストール機能の２つの機能がともに起動中となっていることが必要な場合の例が示されている。
【０１５７】
そして、ＵＩアプリインストール機能が起動中であることを直接的に確認するためには、ＵＩアプリセットアップ制御モジュールの動作状態が起動中であることを確認すれば良い。また、実行中アプリケーション情報管理モジュールが起動中であることが確認できれば、ＵＩアプリインストール機能が起動中であることを間接的に確認することができるようになっている。
【０１５８】
また、通信プラグインインストール機能が起動中であることを直接的に確認するためには、通信プラグインセットアップ制御モジュールの動作状態が起動中であることを確認すれば良い。そして、プラグインセットアップ制御モジュールが起動中であることが確認できれば、通信プラグインインストール機能が起動中であることを間接的に確認することができるようになっている。
【０１５９】
しかし、ここではＵＩアプリセットアップ制御モジュールや通信プラグインセットアップ制御モジュールの動作状態を確認するためには、インストール対象の装置がＷｅｂインタフェース機能のような新しいインタフェース機能に対応している必要がある。
【０１６０】
そのため、動作状態の問い合わせ処理を行ったとしても失敗する可能性が高く、処理が無駄になる確率が高い。
【０１６１】
さらに２つの確認対象機能が共に起動中であることがアプリをインストールする際の条件であるため、起動中でない可能性、または起動状態を確認することができない可能性が高い機能を先に確認した方が、アプリのインストールを実行できるか否かの最終結果が確定するまでの時間を短縮することができる。
【０１６２】
このような理由により、各モジュールの動作状態を確認する際の確認優先順位が設定されており、プラグインセットアップ制御モジュール、通信プラグインセットアップ制御モジュール、実行中アプリケーション情報管理モジュール、ＵＩアプリセットアップ制御モジュールの順に動作状態を確認するような設定となっている。
【０１６３】
そして、上記で説明したようなアプリを画像形成装置１０にインストールしようとする場合において、画像形成装置１０がＷｅｂインタフェース機能に対応しており、さらに画像形成装置１０においてＵＩアプリインストール機能と通信プラグインインストール機能の２つの機能がともに起動中状態である場合の動作を図２０のシーケンスチャートを参照して説明する。
【０１６４】
先ず、端末装置２０は、図２０に示すように、画像形成装置１０に対して、Ｗｅｂインタフェース機能を使用して、確認優先順位が１番目のプラグインセットアップ制御モジュールの動作状態を問い合わせる（ステップＳ９０１）。
【０１６５】
ここで、画像形成装置１０は、Ｗｅｂインタフェース機能に対応しているため、端末装置２０からの問い合わせ内容を理解して、プラグインセットアップ制御モジュールが起動中である旨を端末装置２０に返信する（ステップＳ９０２）。
【０１６６】
そのため、端末装置２０は、通信プラグインインストール機能は起動中であると判定する（ステップＳ９０３）。この結果、確認優先順位が２番目の通信プラグインセットアップ制御モジュールの動作状態を確認する必要はなくなった。
そこで、端末装置２０は、画像形成装置１０に対して、Ｗｅｂインタフェース機能を使用して、確認優先順位が３番目の実行中アプリケーション情報管理モジュールの動作状態を問い合わせる（ステップＳ９０４）。
【０１６７】
ここで、画像形成装置１０は、Ｗｅｂインタフェース機能に対応しているため、端末装置２０からの問い合わせ内容を理解して、実行中アプリケーション情報管理モジュールが起動中である旨を端末装置２０に返信する（ステップＳ９０５）。
【０１６８】
そのため、端末装置２０は、ＵＩアプリインストール機能は起動中であると判定する（ステップＳ９０６）。
【０１６９】
その結果、端末装置２０は、２つの確認対象機能が起動中であることを確認できたため、画像形成装置１０に対するアプリのインストール処理を開始する（ステップＳ９０７）。
【０１７０】
次に、上記で説明したようなアプリを画像形成装置１０にインストールしようとする場合において、画像形成装置１０がＷｅｂインタフェース機能等のインタフェース機能に対応しておらず確認対象機能の動作状態を判定することができない場合の動作を図２１のシーケンスチャートを参照して説明する。
【０１７１】
先ず、端末装置２０は、図２１に示すように、画像形成装置１０に対して、Ｗｅｂインタフェース機能を使用して、確認優先順位が１番目のプラグインセットアップ制御モジュールの動作状態を問い合わせる（ステップＳ１００１）。
【０１７２】
しかし、画像形成装置１０がＷｅｂインタフェース機能に対応していないため、端末装置２０からの問い合わせ内容を理解することができず、問い合わせ内容を理解することができない旨のエラーを端末装置２０に返信する（ステップＳ１００２）。
【０１７３】
すると、端末装置２０では、図１９に示した動作状態確認テーブルに従って、他のインタフェース機能を使用して、確認優先順位２番目の通信プラグインセットアップ制御モジュールの動作状態の問い合わせを画像形成装置１０に対して行う（ステップＳ１００３）。
【０１７４】
しかし、画像形成装置１０がこのインタフェース機能にも対応していないため、端末装置２０からの問い合わせ内容を理解することができず、問い合わせ内容を理解することができない旨のエラーを端末装置２０に返信する（ステップＳ１００４）。
【０１７５】
その結果、端末装置２０では、通信プラグインインストール機能の動作状態を確認する方法が他に存在しないため、このアプリをインストールすることはできないと判定して、ＵＩアプリインストール機能の動作状態の確認をすることなく、アプリのインストール処理を実行することができない旨を表示部３２等を介してユーザに通知して処理を終了する（ステップＳ１００５）。
【０１７６】
[変形例]
上記実施形態では、インストーラ４０を格納した端末装置２０が、画像形成装置１０に対してアプリのインストールをする場合を用いて説明したが、本発明はこれに限定されるものではない。インストーラ４０を画像形成装置１０にダウンロード等の処理により格納させて、画像形成装置１０内でインストーラ４０を起動させてアプリを画像形成装置１０にインストールするような場合でも同様に本発明を適用することができるものである。
【符号の説明】
【０１７７】
１０    画像形成装置
１１    ＣＰＵ
１２    メモリ
１３    記憶装置
１４    通信インタフェース（ＩＦ）
１５    ユーザインタフェース（ＵＩ）装置
１６    制御バス
２０    端末装置
３０    ネットワーク
３１    制御部
３２    表示部
３３    記憶部
３４    格納装置
３５    通信部
４０    インストーラ
４１    アプリ
４３    インストール用プログラム
【図１】
2018109853.tif 000003
【図２】
2018109853.tif 000004
【図３】
2018109853.tif 000005
【図４】
2018109853.tif 000006
【図５】
2018109853.tif 000007
【図６】
2018109853.tif 000008
【図７】
2018109853.tif 000009
【図８】
2018109853.tif 000010
【図９】
2018109853.tif 000011
【図１０】
2018109853.tif 000012
【図１１】
2018109853.tif 000013
【図１２】
2018109853.tif 000014
【図１３】
2018109853.tif 000015
【図１４】
2018109853.tif 000016
【図１５】
2018109853.tif 000017
【図１６】
2018109853.tif 000018
【図１７】
2018109853.tif 000019
【図１８】
2018109853.tif 000020
【図１９】
2018109853.tif 000021
【図２０】
2018109853.tif 000022
【図２１】
2018109853.tif 000023