(57)【要約】【課題】画像形成装置へのアプリケーションのダウンロードに失敗した場合、情報処理装置を介在させて再インストールを実行する。【解決手段】デバイスに接続された情報処理装置は、アプリケーションを格納する外部サーバーから前記デバイスへの前記アプリケーションのインストール処理の結果を判定し、前記外部サーバーを参照できなかったと判定された場合、前記外部サーバーから前記アプリケーションをダウンロードし、前記アプリケーションがダウンロードされたダウンロード先を示す所在情報ともに前記アプリケーションのインストール指示を前記デバイスに送信する。【選択図】図９
2019219805.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを格納する外部サーバーから前記デバイスへの前記アプリケーションのインストール処理の結果を判定する判定手段と、
前記判定手段によって前記外部サーバーを参照できなかったと判定された場合、
前記外部サーバーから前記アプリケーションをダウンロードするダウンロード手段と、
前記ダウンロード手段によって前記アプリケーションがダウンロードされたダウンロード先を示す所在情報ともに前記アプリケーションのインストール指示を前記デバイスに送信する送信手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記デバイスに対して前記外部サーバーにより提供される前記アプリケーションをインストールさせるためにインストール指示を送信する指示手段と、
前記指示手段による前記インストール指示に従って前記デバイスが前記外部サーバーから前記アプリケーションのインストール処理をした後、前記インストール処理の結果を前記デバイスから受信する受信手段と、を更に有し、
前記判定手段は、前記結果に基づいて、前記アプリケーションが前記デバイスにダウンロードされたかを判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記デバイスが前記所在情報に基づいて前記アプリケーションを取得するための取得要求を受け付けるために、前記情報処理装置をサーバーとして機能させる手段を更に有し、
前記送信手段は、前記サーバーとしての機能を実行させた後に、前記インストール指示を前記デバイスに送信することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記情報処理装置を前記サーバーとして機能させる際に、ユーザーの管理者権限を確認する確認手段を更に有し、
前記確認手段によって前記管理者権限が確認できた場合、前記情報処理装置を前記サーバーとしての機能を実行させ、
前記確認手段によって前記管理者権限が確認できない場合、前記ダウンロード手段によってダウンロードされた前記アプリケーションのダウンロード先を表示することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記確認手段は、前記情報処理装置にログイン中のユーザーの前記管理者権限を確認し、前記管理者権限が確認できない場合には、ユーザーの認証情報の入力を受け付けて前記認証情報に係るユーザーの前記管理者権限を確認し、いずれかが確認できた場合には前記管理者権限が確認できたものとし、いずれもが確認できない場合には前記管理者権限が確認できないものとすることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記確認手段によって前記管理者権限が確認できない場合、前記デバイスが提供する画面を表示するリモート画面を更に表示し、
表示した前記ダウンロード先が前記リモート画面において入力されることに応じて、前記デバイスが前記アプリケーションを前記ダウンロード先からインストールすることを特徴とする請求項４または５に記載の情報処理装置。
【請求項７】
インストール対象のアプリケーションが前記ダウンロード手段によりダウンロードされているか否かを判定する第二の判定手段を更に有し、
前記第二の判定手段により前記アプリケーションがダウンロードされていると判定された場合、前記インストール指示を前記送信手段により前記デバイスに送信することを特徴とする請求項１乃至６のいずれか一項に記載の情報処理装置。
【請求項８】
前記ダウンロード手段によって前記アプリケーションがダウンロードされるダウンロード元を指示するためのファイルを用いて前記ダウンロード元を指定することを特徴とする請求項１乃至７のいずれか一項に記載の情報処理装置。
【請求項９】
前記ファイルの有無を判定し、前記ファイルがあると判定された場合には、前記ファイルに含まれたダウンロード元を指定し、前記ファイルがないと判定された場合には、所定のダウンロード元を指定することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記デバイスは、少なくとも印刷機能を有する画像処理装置であって、
前記アプリケーションは、前記画像処理装置の機能を拡張するためのアプリケーションであることを特徴とする請求項１乃至９のいずれか一項に記載の情報処理装置。
【請求項１１】
デバイスに対して送信したインストール指示に応じたアプリケーションのインストール結果を前記デバイスから受信する受信手段と、
前記インストール結果が、指定した外部サーバーへの参照の失敗を示す場合、前記外部サーバーから前記アプリケーションをダウンロードして格納し、当該格納先を指定したインストール指示を前記デバイスに送信する送信手段と
を有することを特徴とする情報処理装置。
【請求項１２】
前記アプリケーションがダウンロード済みかを判定する判定手段を更に有し、
前記判定手段により前記アプリケーションがダウンロード済みと判定された場合には、前記格納先を指定した前記インストール指示を前記送信手段により前記デバイスに送信することを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
アプリケーションを格納する外部サーバーから前記デバイスへの前記アプリケーションのインストール処理の結果を判定する判定工程と、
前記判定工程によって前記外部サーバーを参照できなかったと判定された場合、
前記外部サーバーから前記アプリケーションをダウンロードするダウンロード工程と、
前記ダウンロード手段によって前記アプリケーションがダウンロードされたダウンロード先を示す所在情報ともに前記アプリケーションのインストール指示を前記デバイスに送信する送信工程と
を有することを特徴とする情報処理装置の制御方法。
【請求項１４】
デバイスに対して送信したインストール指示に応じたアプリケーションのインストール結果を前記デバイスから受信する受信工程と、
前記インストール結果が、指定した外部サーバーへの参照の失敗を示す場合、前記外部サーバーから前記アプリケーションをダウンロードして格納し、当該格納先を指定したインストール指示を前記デバイスに送信する送信工程と
を有することを特徴とする情報処理装置の制御方法。
【請求項１５】
アプリケーションを格納する外部サーバーから前記デバイスへの前記アプリケーションのインストール処理の結果を判定する判定手段と、
前記判定手段によって前記外部サーバーを参照できなかったと判定された場合、
前記外部サーバーから前記アプリケーションをダウンロードするダウンロード手段と、
前記ダウンロード手段によって前記アプリケーションがダウンロードされたダウンロード先を示す所在情報ともに前記アプリケーションのインストール指示を前記デバイスに送信する送信手段と
してコンピュータを機能させるためのプログラム。
【請求項１６】
デバイスに対して送信したインストール指示に応じたアプリケーションのインストール結果を前記デバイスから受信する受信手段と、
前記インストール結果が、指定した外部サーバーへの参照の失敗を示す場合、前記外部サーバーから前記アプリケーションをダウンロードして格納し、当該格納先を指定したインストール指示を前記デバイスに送信する送信手段と
してコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばアプリケーションのインストール等を実行する情報処理装置、その制御方法、プログラムに関する。
【背景技術】
【０００２】
近年、情報処理装置（例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ））からＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの内部ネットワークに接続された画像処理装置（例えば、ＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ））に対して機能を拡張するためのアプリケーションを、外部ネットワークを介してサーバー装置からインストールするシステムが知られている。このようなシステムにおいて、アプリケーションのインストール失敗を回避するための技術が提案されている。特許文献１では画像処理装置の故障や紙詰まりなどの物理的な障害によりインストールに失敗した場合に、その障害が解消した際に再インストールを実施し、アプリケーションをインストールする。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−３３００５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、インストール失敗の原因がＭＦＰの障害によるものではなく、例えばＭＦＰのネットワークの構成や設定に起因して、サーバー装置からアプリケーションをダウンロードできない場合にもインストールは失敗することがある。そのような場合、特許文献１のように再インストールを試みたとしてもインストールの成功は見込まれない。失敗要因としては具体的に、ＭＦＰが古い機種であるために外部ネットワークにアクセスするためのプロキシ設定自体が存在しない場合や、デバイスのプロキシ設定が正しく設定されていない場合等がある。
【０００５】
上記が要因でインストールに失敗した場合、ネットワークを介さない別の手段によるインストールを試みるか、ＭＦＰのネットワーク設定を見直して再試行するなどの方法でインストールを成功させることもできるが、その方法はユーザーが実行する必要があり、ユーザーにとって煩雑である。また、ユーザーの技術的な知識や練度によってはそれらの方法によってインストールを再試行することも困難であった。
【０００６】
そこで、本発明は上記の課題を解決するものであり、画像形成装置へのアプリケーションのダウンロードに失敗した場合、画像形成装置に接続された情報処理装置を介在させてアプリケーションの再インストールを実行する情報処理装置、その制御方法とプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明は以下の構成を有する。すなわち、本発明の一側面によれば、アプリケーションを格納する外部サーバーから前記デバイスへの前記アプリケーションのインストール処理の結果を判定する判定手段と、
前記判定手段によって前記外部サーバーを参照できなかったと判定された場合、
前記外部サーバーから前記アプリケーションをダウンロードするダウンロード手段と、
前記ダウンロード手段によって前記アプリケーションがダウンロードされたダウンロード先を示す所在情報ともに前記アプリケーションのインストール指示を前記デバイスに送信する送信手段とを有することを特徴とする情報処理装置が提供される。
【０００８】
また他の側面によれば、デバイスに対して送信したインストール指示に応じたアプリケーションのインストール結果を前記デバイスから受信する受信手段と、
前記インストール結果が、指定した外部サーバーへの参照の失敗を示す場合、前記外部サーバーから前記アプリケーションをダウンロードして格納し、当該格納先を指定したインストール指示を前記デバイスに送信する送信手段とを有することを特徴とする情報処理装置が提供される。
【発明の効果】
【０００９】
本発明によれば、画像形成装置へのアプリケーションのダウンロードに失敗した場合、画像形成装置に接続された情報処理装置を介在させてアプリケーションの再インストールを実行する。
【図面の簡単な説明】
【００１０】
【図１】システムの構成を示す図である。
【図２】ＰＣのハードウェア構成を示す図である。
【図３】ＭＦＰのハードウェア構成を示す図である。
【図４】デバイス登録アプリケーションのソフトウェア構成を示す図である。
【図５】ＭＦＰにインストール済みアプリケーションの構成を示す図である。
【図６】デバイス登録アプリケーションのＧＵＩ表示を示す図である。
【図７】インストールするアプリケーション情報のデータ構造を示す図である。
【図８】ＭＦＰのデバイス情報のデータ構造を示す図である。
【図９】デバイス登録アプリケーションのインストール処理フローを示す図である。
【図１０】ＭＦＰのインストール処理フローを示す図である。
【図１１Ａ】デバイス登録アプリケーションのインストール処理フローを示す図である。
【図１１Ｂ】デバイス登録アプリケーションのインストール処理フローを示す図である。
【図１２Ａ】デバイス登録アプリケーションのインストール処理フローを示す図である。
【図１２Ｂ】デバイス登録アプリケーションのインストール処理フローを示す図である。
【図１３Ａ】デバイス登録アプリケーションのインストール処理フローを示す図である。
【図１３Ｂ】デバイス登録アプリケーションのインストール処理フローを示す図である。
【図１３Ｃ】デバイス登録アプリケーションのインストール処理フローを示す図である。
【図１４】カスタマイズ用設定ファイルのデータ構成を示す図である。
【図１５】デバイス登録アプリケーションのＧＵＩ表示（メッセージ）を示す図である。
【図１６】ＭＦＰ１０１のリモートＵＩ表示を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面に基づいて説明する。なお、実施形態は、本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するための手段に必須であるとは限らない。
【００１２】
＜第１の実施形態＞
［システム構成］
図１は、本発明の実施形態に係る情報処理システムの全体構成を示す図である。この情報処理システムでは、ＬＡＮ１０２を介してＰＣ１００とＭＦＰ１０１とが接続されており、ＬＡＮ１０２は、インターネット１０３に接続されている。インターネット１０３には、アプリケーションサーバー１０４が接続されている。ＰＣ（パーソナルコンピュータ或いはコンピュータ）１００は、情報処理装置の一例であり、所定のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（オペレーティングシステム）、不図示）がインストールされ、かつ、特定の機能処理を実行する各種のアプリケーション（不図示）がインストールされている。ＭＦＰ１０１は、画像処理装置（あるいは画像形成装置）の一例であり、印刷機能、スキャナー機能、ファイル送信機能、ファクス機能、コピー機能等を備える。ＭＦＰ１０１は、例えばＪａｖａ（登録商標）等で記述されたアプリケーションプログラム（以下アプリケーションまたはアプリとも呼ぶ。）を実行するためのプラットフォームを備えている。そしてインストールされたアプリケーションをそのプラットフォーム上で実行することができる。アプリケーションをインストールするためのインストーラは、たとえば予めＭＦＰ１０１にインストールされていてよい。アプリケーションサーバー１０４は、ＰＣ１００やＭＦＰ１０１などのクライアントからの要求に応答し、ＭＦＰ１０１で動作するアプリケーションのインストールファイルを提供する。ＰＣ１００から見てアプリケーションサーバー１０４は外部なので外部サーバーと呼ぶこともある。後述のようにＰＣ１００はサーバー機能を持つこともあり、これを内部サーバーと呼ぶこともある。ここで、ここに説明する全ての実施形態においては、ＰＣ１００の通信の設定は正しく行われており、ＰＣ１００は例えばＷｅｂブラウザーなどを介して、アプリケーションサーバー１０２が提供するアプリケーションプログラムファイルを取得できる。また、ＰＣ１００はサーバーとして機能することもでき、その場合にはＭＦＰ１０１はＰＣ１００が提供するアプリケーションプログラムファイルを取得できる。
【００１３】
［ハードウェア構成（ＰＣ）］
図２は、図１に示すＰＣ１００のハードウェア構成を示す図である。図２において、キーボードやポインティングデバイスなどのユーザー操作入力を受信する入力デバイス２０５が設けられている。さらに、ユーザーに視覚的な出力情報フィードバックを与える表示部２０２を備える。さらに、本実施形態における各種プログラムや実行情報を保管する記憶デバイスＲＡＭ ２０３，ＨＤＤ（ハードディスクドライブ）やＦＤＤ（フレキシブルディスクドライブ）などの外部メモリ２０６，ＲＯＭ ２０４が設けられる。さらに、外部機器との通信を行う通信インターフェースデバイス（通信Ｉ／Ｆ）２０７を備え、プログラム実行を行うＣＰＵ２０１を備える。ＣＰＵ２０１はプログラムを実行することで、後述するデバイス登録アプリケーションなどを実現できる。なお、周辺機器との接続形態は有線／無線を問わない。ＰＣ１００は、通信Ｉ／Ｆ２０７を介してＭＦＰ１０１やアプリケーションサーバー１０４と接続する。なおアプリケーションサーバー１０４もＰＣ１００と同様のハードウェア構成を有していてもよい。
【００１４】
［ハードウェア構成（ＭＦＰ）］
図３は、実施形態に係るＭＦＰ１０１のハードウェア構成を説明するブロック図である。ＣＰＵ３０１、表示部３０２、ＲＡＭ３０３、ＲＯＭ３０４、操作部３０５、ＨＤＤ３０６、ネットワークＩ／Ｆ３０７、画像処理部３０８、プリンター部３０９、スキャナー部３１０がシステムバス（不図誌）を介して接続されている。またネットワークＩ／Ｆ３０７を介してＬＡＮ１０２に接続されている。これによりＬＡＮ１０２を介した、ＨＴＴＰやＴＣＰ／ＩＰ等の通信プロトコルによる通信が可能となっている。
【００１５】
ＣＰＵ３０１は、ＲＯＭ３０４のブートプログラムを実行してＨＤＤ３０６に記憶されたＯＳや制御プログラムをＲＡＭ３０３に展開し、そのプログラムに基づいてこのＭＦＰ１０１を統括的に制御する。ＲＡＭ３０３は、ＣＰＵ３１０が動作するためのワークメモリを提供し、また画像データを一時記憶するための画像メモリも提供している。ＲＯＭ３０４には、このＭＦＰ１０１のブートプログラムや各種データが格納されている。操作部３０５は、タッチパネル機能を有する表示部３０２への操作を受け付けるインターフェースや各種ハードキーを有し、ユーザーによる操作情報を受け付け、その操作に対する処理を実行するための制御を行う。ＨＤＤ３０６はハードディスクドライブであり、ＯＳや各種プログラムや画像データを格納している。
【００１６】
ネットワークＩ／Ｆ３０７は、ＬＡＮ１０２に接続し、ネットワークを介して情報の入出力を行う。画像処理部３０８は、スキャナー部３１０から入力した画像データ、及びプリンター部３０９に出力する画像データに対して、回転、色変換、画像圧縮／伸張処理などの画像処理を行う。プリンター部３０９は、画像処理部３０８で処理された画像データを受け取り、この画像データに付随している属性データに従い印刷を制御する。スキャナー部３１０は、原稿上の画像を読み取って、その画像の画像データを作成する。尚、実施形態では、表示部３０２及び操作部３０５を用いたＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）表示が可能なＭＦＰの例で説明するが、このＭＦＰ１０１に代えて、例えば汎用コンピュータ等のような情報処理装置を採用してもよい。
【００１７】
〔ソフトウェア構成図（デバイス登録アプリケーション４００）〕
図４は、ＰＣ１００のデバイス登録アプリケーション４００のソフトウェア構成の一例を示す図である。デバイス登録アプリケーション４００はＰＣ１００で動作し、特にＲＡＭ２０３にロードされてＣＰＵ２０１により実行される。デバイス登録アプリケーション４００はＭＦＰ１０１へアプリケーションをリモートインストールするための機能を提供する。デバイス登録アプリケーション４００は、リモートインストール処理部４０１、外部アクセス部４０２、デバイス制御部４０３、入力管理部４０４、画面表示管理部４０５、サーバー処理部４０６を備える。
【００１８】
リモートインストール処理部４０１は、ＭＦＰ１０１へのアプリケーションのインストールを実行するための統括的な処理を行う。具体的には、外部アクセス部４０２を介してアプリケーションサーバー１０４に接続し、インストールするアプリケーションの情報を取得する。そのアプリケーション情報を元に画面表示管理部４０５に指示し、インストール対象とするアプリケーションを選択するためのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を表示する。また、ユーザーによって指定されたアプリケーションをインストールするために、デバイス制御部４０３を介してＭＦＰ１０１へインストールを指示する。具体的には、アプリケーションサーバー１０４から取得した情報を元にインストールするアプリケーションのインストールファイルのダウンロード先を指定し、そのインストール実行を要求する。
【００１９】
外部アクセス部４０２はＰＣ１００とＬＡＮ１０２を介して接続される外部機器との通信に関する処理を実行する。外部アクセス部４０２は例えばアプリケーションサーバー１０４にアクセスし、ＭＦＰ１０１にインストールするアプリケーションの情報を取得する。また、ＰＣ１００をインストールファイルのサーバーとしてＭＦＰ１０１へファイルを提供する際のデータ出力を実行する。
【００２０】
デバイス制御部４０３は、ＭＦＰ１０１に関連する制御を行う。具体的には、ＭＦＰ１０１にインストールされているアプリケーションの情報（後述の図８に示す情報８０１）の取得や、デバイスへのインストール指示（あるいはインストール要求）を実行する。インストール指示は、インストール実行のためのコマンドが、例えばＷｅｂのインターフェースとして用意され、そのインターフェースを呼ぶことで実行する。
【００２１】
入力管理部４０４は、画面表示管理部４０５により表示されたデバイス登録アプリケーション４００のＧＵＩを介して、ユーザーによる入力デバイス２０５の操作を検知し、ユーザーの操作情報を取得する。
【００２２】
画面表示管理部４０５は、デバイス登録アプリケーション４００のＧＵＩの表示やＧＵＩに対するユーザー操作を受けつけるなどの画面表示制御を行う。
【００２３】
サーバー処理部４０６は、通信ポートの登録処理やファイアウォールの例外登録、またそれらの解除等のＰＣ１００がサーバーとして動作するために必要な構成処理を実行する。ＨＴＴＰサーバーやＦＴＰサーバーなどのサーバーモジュールもサーバー処理部４０６に含まれていてよい。
【００２４】
〔ソフトウェア構成図（ＭＦＰ１０１のインストール済みアプリケーション）〕
図５は、実施形態に係るＭＦＰ１０１のアプリケーション構成の一例を示す図である。これらアプリケーションは、ＭＦＰ１０１にインストールされているアプリケーションを示しており、各アプリケーションはＨＤＤ３０６に格納され、実行時にはＲＡＭ３０３に展開されてＣＰＵ３０１により実行される。本図による例では、インストールサービス（インストール部とも呼ぶ）５０１、アプリ管理サービス（アプリ管理部とも呼ぶ）５０２、デフォルトログインアプリ５０３、デフォルトプリントアプリ５０４、デフォルトスキャンアプリ５０５から構成され、これらはＭＦＰ１０１に予めインストールされている。また、これらに加えて、アプリケーションサーバー１０４によって提供されるアプリケーションをインストールして追加できる。また、その他に、例えば開発ベンダーによって作成されたアプリケーション（不図示）など所望の機能を実現するアプリケーションを追加でインストールすることもできる。
【００２５】
インストール部５０１は、ＭＦＰ１０１のアプリケーションのインストールを制御する。インストール部５０１は、ネットワークＩ／Ｆ３０７を介してＭＦＰ１０１に接続されたＰＣ１００からのインストール指示によりアプリケーションのインストールを実行する。インストール指示によって指定されたインストールファイル（アプリケーションファイルおよびライセンスファイル）を指定されたダウンロード元からダウンロードしてインストールする。
【００２６】
インストール処理では、インストール部５０１は、アプリケーションファイルに関連付けられたライセンスファイル（不図示）により当該アプリケーションプログラムのインストールの可否をチェックする。インストール部５０１は例えば、インストール先のデバイス（例えばＭＦＰ１０１）へのインストールがサポートされているか否かをライセンスファイルに記載されているデバイスＩＤとＭＦＰ１０１のデバイスＩＤとの比較で確認する。またインストール部５０１は、ライセンスファイルに記載れている有効期限からライセンスの有効性を確認する。そして、たとえばインストール対象のアプリケーションを対象のデバイスにインストールでき、かつライセンスが有効であれば、当該アプリケーションを対象デバイスである例えばＭＦＰ１０１にインストールする。ＭＦＰ１０１へインストールされるアプリケーションは例えばＪａｖａ（登録商標）などの言語で記述され、その場合、ＭＦＰ１０１にはＪａｖａ（登録商標）などで記述されたアプリケーションの実行ファイルを実行するためプラットフォームが備えられる。
【００２７】
アプリ管理部５０２は、ＭＦＰ１０１にインストールされているアプリケーションを管理する。例えば、インストール済みアプリケーション情報の要求をＰＣ１００から受け付け、ＭＦＰ１０１にインストールされているアプリケーションの情報（後述の図８の情報８００）をＰＣ１００に応答する。また、インストール時に、インストールされるアプリケーションはアプリ管理部５０２を介してＨＤＤ３０６に保存される。
【００２８】
デフォルトログインアプリ５０３は、ＭＦＰ１０１でユーザー認証が必要な場合の認証機能を提供する。例えば、ＭＦＰ１０１の表示部３０２にログイン画面を表示し、ユーザーによって入力されたログインＩＤとパスワードなどを含むユーザーの認証情報（またはユーザー情報）によって認証を行う。それにより、ユーザーの権限に応じて、ユーザーによる操作の可否を制御する。
【００２９】
デフォルトプリントアプリ５０４は、プリンター部３０９を使用して印刷するための標準アプリケーションである。デフォルトスキャンアプリ５０５は、スキャナー部３１０を使用してスキャンを行うための機能を提供する標準アプリケーションである。
【００３０】
〔デバイス登録アプリケーションのＧＵＩ〕
図６は、ＰＣ１００のデバイス登録アプリケーション４００によって表示されるユーザインターフェース（ＵＩ）画面の一例である。デバイス登録アプリケーション４００を使用したインストールでは、ユーザーは対象のＭＦＰ１０１をＩＰアドレスまたはホスト名の入力により指定し、インストールするアプリケーションを選択することで、所望のＭＦＰ１０１へアプリケーションをインストールできる。図６では、デバイス登録アプリケーション４００によるインストール処理の流れをＧＵＩの例により示す。
【００３１】
登録キー入力画面６１０は、デバイス登録アプリケーション４００の初期画面であり、デバイス登録キーを指定するための画面である。デバイス登録キーは、例えばデバイス管理サーバー（不図示）等でデバイスを管理する際にデバイスを特定するためのキー情報であり、インストール対象のＭＦＰ１０１とこのデバイス登録キーとを紐づけて管理するために使用される。デバイス登録キー欄６１１にデバイス登録キーを入力し、次へボタン６１２をユーザーが操作（たとえばタッチやクリックなど）実行することで次のＩＰアドレス指定画面６２０へ遷移する。なおデバイス登録キーは、本実施例において必須ではない。その場合には、デバイス登録キーを入力することなく次へボタン６１２を操作することでＩＰアドレス指定画面６２０へ遷移する。
【００３２】
ＩＰアドレス指定画面６２０は、ＩＰアドレスまたはホスト名を入力してインストール対象のＭＦＰ１０１を指定する画面である。ＩＰアドレス指定画面６２０のＩＰアドレス欄６２１でＩＰアドレスまたはホスト名を指定し、次へボタン６２２を操作する。キャンセルボタン６２３が操作された場合は処理を中止する。次へボタン６２２の操作に応じて、デバイス登録アプリケーション４００は、ＭＦＰ１０１のデバイス情報とインストールするアプリケーション情報を取得する。ＭＦＰ１０１のデバイス情報は、指定されたＩＰアドレスまたはホスト名に対応するＭＦＰ１０１の基本情報やインストール済みアプリケーションの情報などを指す（後述の図８の情報８００）。インストールアプリケーション情報は、インストールするアプリケーションのダウンロード元（ＵＲＬ）やアプリケーション名、バージョン等の情報を示す（後述の図７情報７００）。取得に時間を要する場合、処理中を示すアニメーション等の表示をしてもよい。
【００３３】
画面６３０は、アプリケーション選択画面であり、ユーザーはコンボボックス６３１により、インストールするアプリケーションを選択する。コンボボックス６３１には、例えば、ログインアプリ、プリントアプリ、スキャンアプリのすべてをインストールする「ログイン＋スキャン＋プリント」やログインアプリとプリントアプリをインストールする「ログイン＋プリント」（不図示）、スキャンアプリのみインストールする「スキャン」といった、インストールするアプリケーションの組み合わせ（パッケージ）がリスト化されて並ぶ。コンボボックス６３１ではユーザーがテキストを入力することもできるが、リストからの選択のみができるようにしてもよい。本例では、「ログイン＋スキャン＋プリント」が選択された状態を示す。この状態でインストールを開始すると、ＭＦＰ１０１に、選択されたログインアプリ、プリントアプリ、スキャンアプリの３つのアプリがインストールされる。対象の組み合わせ（パッケージ）を選択し、追加ボタン６３２を操作することで、インストールの対象デバイスに指定のＭＦＰ１０１が追加される。なおキャンセルボタン６３３の操作で、指定中のＭＦＰ１０１の追加を中止する。
【００３４】
画面６４０はデバイス一覧画面であって、アプリケーションのインストール対象デバイスのリスト６４１が表示される。この例では、アプリケーション選択画面６３０の追加ボタン６３２の操作に応じて、画面６１０〜６３０における処理によってインストール対象として登録されたＭＦＰ１０１が、対象デバイス欄６４２としてリスト６４１に追加されて表示される。インストール対象とするＭＦＰ１０１は複数台登録でき、その場合はリスト６４１に追加した分のＭＦＰ１０１の情報が表示される。本例では、２台のＭＦＰ１０１が対象デバイスとしてリスト６４１に追加された状態で、開始ボタン６４３の実行によりインストールを開始される。
【００３５】
対象デバイス欄６４４は、画面６４０で「準備完了」の状態であったIPアドレス「172.24.xx.xx」のＭＦＰがインストールを開始し、「インストール中」の状態に遷移したことを示す。もう一つの対象デバイス欄６４５は、画面６１０〜６３０における処理によって登録されたＩＰアドレス「172.24.xx.yy」のＭＦＰがインストール実行待ちの状態となり「準備完了」の状態であることを示す。対象デバイス欄６４４のＭＦＰがインストールを完了した後に、対象デバイス欄６４５のＭＦＰのインストールが開始される。本例ではこのように逐次インストールを行うが、並行してインストールを行ってもよい。
【００３６】
〔アプリケーション情報〕
図７は、本実施形態を示すアプリケーションサーバー１０４によって提供されるアプリケーション情報７００の一例であり、ＰＣ１００のデバイス登録アプリケーション４００によって取得される。アプリケーション情報７００は、前述の図６のＩＰアドレス指定画面６２０の次へボタン６２２が操作されたことをきっかけにアプリケーションサーバー１０４から取得される。取得されたアプリケーション情報７００を基に、インストール対象の選択肢を含むコンボボックス６３１をアプリケーション選択画面６３０に表示する。本実施例では、アプリケーション情報７００がＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）形式で定義される例に説明するが、特にこの形式に限定されるものではなく、その他の形式であっても良い。
【００３７】
パッケージ情報７０１は、１つのパッケージ（アプリケーションの組み合わせ）を定義し、個別アプリケーション情報７０２は１つのアプリケーションに関する情報を定義する。パッケージとは、単数または複数のアプリケーションの組み合わせを指す。
【００３８】
パッケージ名称７１１はパッケージの名称を示し、図６のアプリケーション選択画面６３０のコンボボックス６３１に選択肢として表示される。図７では、パッケージの名称「ログイン＋スキャン＋プリント」７１２とパッケージの名称「ログイン＋プリント」７２１の二つが例示されている。
【００３９】
アプリケーション名称７１２はアプリケーションの名称、バージョン７１３はアプリケーションのバージョン、ＩＤ７１４はアプリケーションを一意に示すＩＤ、ダウンロード元７１５はアプリケーションファイルのダウンロード元、ダウンロード元７１６はアプリケーションのライセンスファイルのダウンロード元を示す。
【００４０】
〔デバイス情報〕
図８は、本実施形態を示すＭＦＰ１０１によって提供されるデバイス情報８００であり、デバイス登録アプリケーション４００によって取得される。デバイス情報８００は、図６のＩＰアドレスの指定画面６２０の次へボタン６２２が操作されたことをきっかけにＭＦＰ１０１から取得される。デバイス登録アプリケーション４００は、取得されたデバイス情報８００を基に、インストール実行時のインストールの要否等の判断に使用する。本実施例においてデバイス情報８００は、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式で定義される例を示すが特にこの形式に限定されるものではなく、その他の形式であっても良い。
【００４１】
デバイス情報８００には、デバイスの基本情報及びインストール済みアプリケーション情報８０１が含まれる。デバイスの基本情報には、デバイスのＩＰアドレス８１１、デバイスのシリアル番号８１２、デバイスの製品名８１３、デバイスを一意に示すデバイスＩＤ８１４を含む。インストール済みアプリケーション情報８０１は、１つ分のインストール済みアプリケーションを定義する。今回は、「インストールサービス」、「アプリ管理サービス」、「デフォルトログインアプリ」、「デフォルトプリントアプリ」、「デフォルトスキャンアプリ」が、ＩＰアドレス８１１で特定されるＭＦＰ１０１に既にインストールされていることが分かる。
【００４２】
そしてひとつのインストール済みアプリケーション情報８０１には、アプリケーションを一意に示すアプリケーションＩＤ８２１、アプリケーションのバージョン８２２、アプリケーションの名称８２３、アプリケーションのインストール日８２４、アプリケーションの状態８２５」を含む。図８のアプリケーション「インストールサービス」については、アプリケーションの状態８２５として「Started」が表記されているが、これはデバイス情報８００が取得されたときのインストール済みのアプリケーションが起動中であることを示す。一方、各アプリケーションがインストール済みであるものの起動中でない場合、状態８２５は「Installed」等の表記に変更される。
【００４３】
〔デバイス登録アプリケーション（PC）のインストールフロー〕
図９は、本実施形態を示すデバイス登録アプリケーション４００のインストール処理の一例を示すフローチャートである。処理の概要としてはまず、ＰＣ１００のＲＡＭ２０３にロードされてＣＰＵ２０１に実行されることで動作するデバイス登録アプリケーション４００がＭＦＰ１０１に指示することで、ＭＦＰ１０１にアプリケーションをインストールする。ＭＦＰ１０１がアプリケーションサーバー１０４へアクセスできない場合にはＰＣ１００がアプリケーションサーバー１０４へアクセスし、インストールファイルをダウンロードする。ＰＣ１００上のインストールファイルを用いて、ＭＦＰ１０１によるインストールの再試行が行われる。
【００４４】
本処理は、インストールの開始により実行される処理（図６の開始ボタン６４３の実行）であり。また、本処理は、ユーザーによって選択されたパッケージ（図６のコンボボックス６３１で選択されたパッケージ）に含むアプリケーションの内、ＭＦＰ１０１に未インストールのアプリケーションをインストールの対象とする。具体的には、デバイス登録アプリケーション４００は、図６のＩＰアドレスの指定画面６２０で次へボタン６２２の操作に応じて取得したアプリケーション情報７００及びデバイス情報８００を参照する。アプリケーション情報７００に含まれた、ユーザーによって選択されたパッケージ７０１に含まれるアプリケーション７０２の内、デバイスにインストール済みのアプリケーション８０１として存在しないアプリケーションをインストール対象とする。アプリケーション情報７００のアプリケーションＩＤ７１４と、デバイス情報８００のアプリケーションＩＤ８２１とが同一、且つ、バージョン７１３とバージョン８２２とが同一のアプリケーションが同一のアプリケーションとして判断される。本処理はデバイス登録アプリケーション４００の入力管理部４０４が開始ボタン６４３の実行を受け付けることで処理を開始し、リモートインストール処理部４０１がインストール対象のアプリケーション情報７０２を対象に処理を開始する。
【００４５】
Ｓ９０１で、リモートインストール処理部４０１はインストール対象（すなわちユーザーにより選択されず済み）のアプリケーション７０２の内、未処理のアプリケーションを処理の対象とする。未処理のアプリケーションを特定する具体的な方法としては、アプリケーションサーバー１０４から取得したアプリケーション情報７００（図７）と、ＭＦＰから取得したデバイス情報（図８）とを比較し、アプリケーション情報７００にのみ記載されているアプリケーションを「未処理のアプリケーション」であると見なす。この未処理のアプリケーションのうちユーザーにより選択されているアプリケーションがインストール対象となる。具体的に、ユーザーにより選択されたアプリケーションのうち、アプリケーション情報７００には表記されているが、デバイス情報８００には記載されていないアプリケーションが、未処理のアプリケーションに該当する。たとえば、「ログインアプリ１」「プリントアプリ１」、「スキャンアプリ１」等である。
【００４６】
Ｓ９０２で、インストール対象として特定したアプリケーションのインストールをＭＦＰ１０２へ指示する。具体的には、リモートインストール処理部４０１が、インストール対象のアプリケーションに対応するアプリケーション情報７０２のアプリケーションファイルのダウンロード元７１５及びライセンスファイルのダウンロード元７１６を指定して、デバイス制御部４０３を介してＭＦＰ１０１に対しインストール指示を送信する。なおインストール指示と共に送信される情報をインストール情報と呼ぶことにする。デバイス制御部４０３はインストール実行のためのコマンドをＭＦＰ１０１へ送信し、その応答を待機する。インストール指示を受信したＭＦＰ１０１は受け付けたインストール情報を基にアプリケーションのインストールを実行し、その結果をインストール指示の送信元のＰＣ１００へ送信する。たとえばＭＦＰ１０１は、インストール情報に含まれたダウンロード元へとアクセスしてアプリケーションファイルとライセンスファイルを要求し、受信したならそれのインストールを試みる。そして、その結果に応じて、成功或いは失敗というインストール結果と、必要に応じて失敗の理由等をＰＣ１００へと送信する。
【００４７】
Ｓ９０３で、デバイス制御部４０３はインストール実行の戻りとしてインストール結果を受信し、リモートインストール処理部４０１にその結果を渡す。
【００４８】
Ｓ９０４で、リモートインストール処理部４０１はデバイス制御部４０３によって渡されたインストール結果を参照し、インストール成功か否かを判断する。具体的には、結果として返された値を参照し、その値が成功か否かを判断するもので、予め整数やエラーコードによって定義された値の内、成功に該当するか値かどうかを判断する。ここで、インストール成功と判断する場合はＳ９１３へ進み、インストール結果をＧＵＩへ表示する。失敗（成功以外）と判断する場合はＳ９０５へ進む。
【００４９】
Ｓ９０５で、リモートインストール処理部４０１は、インストール結果の値を参照し、失敗の要因がダウンロード元を参照できないことによるものかどうかを判断する。具体的には、インストール結果がたとえばダウンロード元がみつからない場合やアクセスが拒否された場合のエラーを示す値かどうかを判断する。ここで、ダウンロード元を参照できないと判断した場合はＳ９０６へ進み、それ以外の要因によるエラーの場合はＳ９１２へ進み、エラーメッセージをＧＵＩに表示する。
【００５０】
ＭＦＰ１０１によってダウンロード元を参照できないと判断する場合には、Ｓ９０６で、ＰＣ１００がダウンロード元にアクセスし、インストール対象のファイルをダウンロードする処理を試みる。具体的には、リモートインストール処理部４０１は、外部アクセス部４０２に指示しアプリケーション情報７０２のアプリケーションファイルのダウンロード元７１５及びライセンスファイルのダウンロード元７１６にアクセスしてファイルをダウンロードする。より詳細には、ダウンロード元７１５、７１６で指定されるダウンロード元のファイルを読み込み、ＰＣ１００のテンポラリーの領域（例えば、ＯＳのテンポラリーフォルダー）に書き込み、ファイルとして保存する。
【００５１】
Ｓ９０７で、リモートインストール処理部４０１は、外部アクセス部４０２のダウンロード処理の結果を確認し（保存されたファイルの存在確認、ダウンロード中のエラーの発生有無）、ダウンロードに成功した場合はＳ９０８へ進み、失敗と判断する場合はＳ９１２へ進み、エラーメッセージをＧＵＩに表示する。
【００５２】
続いてＳ９０８の処理で、ＰＣ１００がインストールファイルのサーバーとして動作するための構成処理を実行する。より詳細にはリモートインストール処理部４０１が、サーバー処理部４０６へ指示し、ＰＣ１００がＭＦＰ１０１からの要求（取得要求ともいう）に応じてインストールファイルのデータを送信するため通信用のポート登録処理及びＯＳのファイアウォールによってＭＦＰ１０１からの通信がブロックされないための例外登録を実行する。例外登録とは、ＯＳのファイアウォールで通信がブロックされないために、ＨＴＴＰの通信のためのポート（例えば５０００番のポート）を例外として登録することである。これにより、そのPCで例えば５０００番のポートを使用した通信がファイアウォールによりブロックされずに通信できるようになる。本実施例において、例外登録をしなくても、ＰＣからのレスポンスに対して「インストール失敗」等のレスポンスをＭＦＰはＰＣに送信できる。しかし、この例外登録を実行しないと、後述の処理（Ｓ９０９）のようにＰＣからの指示に対し、ＭＦＰ１０１がＰＣ１００からアプリケーションのインストールを要求することができない。
【００５３】
Ｓ９０９で、リモートインストール処理部４０１はデバイス制御部４０３を介して、ＭＦＰ１０１にアプリケーションのインストール実行を再度指示する。このとき、インストール対象のアプリケーションのアプリケーションファイル及びライセンスファイルのダウンロード元として、Ｓ９０６でＰＣ１００へ、テンポラリーフォルダーにダウンロードしたファイルをアプリケーションの格納先として参照するように指定する。例えば、Ｓ９０８で５０００番のポートを使用するとした場合、「（ＨＴＴＰでの通信のためのＵＲＬを予約した場合）、ｈｔｔｐ：／／＜ＰＣのＩＰアドレス＞：５０００／＜ファイル名＞」のようにダウンロード元を指定する。インストール指示を受信したＭＦＰ１０１は、インストール指示に応じてファイルのダウンロードとインストールとを行い、その結果をＰＣ１００に応答する。
【００５４】
Ｓ９１０で、デバイス制御部４０３はインストール実行の戻りとしてインストール結果を受信し、リモートインストール処理部４０１にその結果を渡す。
【００５５】
Ｓ９１１で、リモートインストール処理部４０１はデバイス制御部４０３によって渡されたインストール結果を参照し、インストール成功か否かを判断する。ここで、インストール成功と判断する場合はＳ９１３へ進み、インストール結果をＧＵＩへ表示する。失敗（成功以外）と判断する場合はＳ９１２へ進む。
【００５６】
Ｓ９１２では、前述のようにインストールファイルのダウンロードやインストール処理の失敗により本処理へ遷移し、ここではそのエラーの内容に応じて、エラーに対するメッセージを表示する。例えば、ＭＦＰ１０１やアプリケーションサーバー１０４との通信に失敗する場合、ＨＴＴＰのステータスコードを参照し、そのエラーコードに応じて、その原因と対象として適切なメッセージを表示する。
【００５７】
Ｓ９１３で、リモートインストール処理部４０１は、処理の結果を画面表示管理部４０５へ渡しインストールの結果を表示する。具体的には、図６のデバイス一覧画面６４０のリスト６４１に表示する該当デバイスのステータスとして結果を示す文字列を表示する。表示する結果は、成功の場合は成功を示す文字列（不図示）、失敗の場合は失敗を示す文字列とその原因及び対象方法を示す文字列を表示する（不図示）。なおステップＳ９１２とＳ９１３とを分けずに一つのステップにまとめ、成功失敗の別と共に、失敗の原因を表示するようにしてもよい。
【００５８】
以上により１つのアプリケーションのインストール処理を終了すると、Ｓ９１４で、リモートインストール処理部４０１は、インストール対象のアプリケーションの内、未処理のアプリケーションの有無を判断する。ここで、未処理のものがあれば、Ｓ９０１へ戻り未処理のアプリケーションのインストールを処理する。すべて完了している場合は本図で示すインストール処理を終了する。
【００５９】
〔ＭＦＰ１０１のインストールフロー〕
図１０は、本実施形態を示すＭＦＰ１０１のインストール処理の一例を示すフローチャートである。本処理はＰＣ１００によるインストール実行の指示（前述の図９のＳ９０２，またはＳ９０９）を受け付けて処理を開始するもので、ＭＦＰ１０１のインストール部５０１が指定されたインストールファイルをダウンロードし、そのインストールファイルを使用してインストールを実行する処理を示す。
【００６０】
Ｓ１００１で、ＰＣ１００からの通信を受け付け、インストール部５０１は、ＰＣ１００によって受信したコマンドの内容を参照し、要求された処理（インストール）とインストールファイルのＵＲＬを特定する。ＵＲＬは、サーバーおよびフォルダを含めてファイルを指定したアドレス或いは宛先或いは所在情報ということもできる。もちろん宛先や所在情報はＵＲＬとは限らず他の記述方法であってもよい。
【００６１】
Ｓ１００２で、インストール部５０１はＵＲＬで指定されたファイルにアクセスしてインストールファイルのダウンロードを実行する。ネットワークＩ／Ｆ３０７を介して指定のダウンロード先にアクセスし、ダウンロード先のファイルを読み込み、ＨＤＤ３０６上に保存する。
【００６２】
Ｓ１００３で、インストール部５０１はダウンロードの結果を参照し、ダウンロード成功と判断する場合はＳ１００４に進み、ダウンロードしたアプリケーションのインストールを実行する。失敗の場合はＳ１００５へ進みダウンロード失敗の結果をＰＣ１００へ送信する。ここでダウンロードの失敗の要因として考えられるものに、ダウンロード先に指定されたＵＲＬにＭＦＰ１０１がアクセスできない場合がある。例えば、外部との通信にプロキシーサーバー（不図示）が介在するネットワーク構成で使用する場合で、外部接続のためのプロキシー設定（プロキシサーバーの指定、認証情報）が必要となる場合がある。ＭＦＰ１０１でプロキシーの設定が正しく設定されていない場合、または、そのような設定自体が不可能（設定として用意されていない）である場合などにはダウンロード元を参照できない。そのような場合は、ダウンロード元を参照できないことを示す戻り値をＰＣ１００へ送信する。アプリケーションに対応するライセンスファイルも併せてダウンロードする場合には、そのいずれか一方のダウンロードに失敗した場合には、結果は失敗であるとしてよい。一方、アプリケーションおよびライセンスのインストールが成功した場合は、インストールが成功した旨をＰＣ１００に送信する。ライセンスファイルが必要ない場合には、アプリケーションファイルのみを対象として成功か失敗かを決定してよい。
【００６３】
Ｓ１００４で、ダウンロードしたインストールファイルを使用しアプリケーションのインストールを実行する。インストール処理では、前述（図５）のようにライセンスファイルを参照し、インストール可否のチェックが行われ、インストールされるアプリケーションはアプリ管理部５０２を介してＨＤＤ３０６に保存される。
【００６４】
Ｓ１００５で、インストール部５０１はインストールの処理結果をＰＣ１００にネットワークＩ／Ｆ３０７を介して送信する。
【００６５】
以上で示す実施形態により、ＭＦＰ１０１がアプリケーションサーバー１０４からインストールファイルのダウンロードに失敗した場合、ＰＣ１００がアプリケーションサーバー１０４からインストールファイルをダウンロードする。そして、ＰＣ１００自身が代理のアプリケーションサーバーとなってそのファイルを使用してインストールを実行するようにＭＦＰ１０１へ指示する。ＭＦＰ１０１とＰＣ１００とがプロキシーを介することなく接続されているなら、こうすることで少なくともＭＦＰ１０１とアプリケーションサーバーのネットワーク設定に起因したインストール失敗を回避できる。
【００６６】
＜第２の実施形態＞
第１実施形態で示すインストール処理において、ＰＣ１００をインストールファイルの提供サーバーとして動作させる例を示した。前述のポート登録やファイアウォールの例外登録処理はＯＳの設定に変更を加えるため、デバイス登録アプリケーション４００の実行ユーザーに管理者権限を要するケースも考えられる。管理者権限を持たないユーザーで実行する場合、管理者ユーザーとしての認証（ユーザーＩＤやパスワード等の入力）が求められ、認証しない場合に続行できない。
【００６７】
本実施例はそのような構成を考慮したもので、以下の図１１Ａ、図１１Ｂ、図１５、図１６を用いて、ＰＣ１００をインストールファイルのサーバーとして動作させる場合、且つ、実行ユーザーが管理者権限を持たない場合に管理者権限が必要な旨の通知、また、認証不可の場合にも代替手段としてユーザーのよる手動のインストールを促す通知を行う例を説明する。なお、上記で説明済みのステップについては同じ符番をふり、説明を省略する。
【００６８】
〔デバイス登録アプリケーション（ＰＣ）のインストールフロー〕
図１１Ａ、図１１Ｂは、本実施形態を示すデバイス登録アプリケーションのインストール処理の一例を示すフローチャートである。図９のステップＳ９０８に代えて、ステップＳ１１０１〜Ｓ１１０７を実行し、また、処理の終了の前にステップＳ１１０８、Ｓ１１０９を実行する点において実施形態１と相違する。なお、図１１Ａ、図１１Ｂは一連のフローを分割したものなので、図１１としてまとめて参照する。
【００６９】
Ｓ９０７においてＰＣ１００がインストールファイルのダウンロードに成功したと判断した後、Ｓ１１０１でリモートインストール処理部４０１は、サーバー処理部４０６に問い合わせ、サーバーとして動作するためのポート登録及びファイアウォールの例外登録処理が実行済みかどうかを判断する。ここで実行済みの場合はＳ９０９に進み、ＭＦＰ１０１に対しインストールの実行を再度指示する。未実行の場合、リモートインストール処理部４０１は現在ＰＣ１００にログイン中のユーザーの権限情報を参照し、管理者権限を持つユーザーか否かを判断する（Ｓ１１０２）。ここで、管理者権限を持つと判断する場合は、ＰＣ１００がインストールファイルのサーバーとして動作するための構成処理を実行する（Ｓ１１０３）。ここでの処理は、図９のＳ９０８と同等の処理であるため詳細な説明は省略する。管理者権限を持たない場合は、リモートインストール処理部４０１は画面表示管理部４０５へ指示し、続行するためには管理者権限を持つユーザーとしての認証が必要であることを通知した上で続行の可否を判断するメッセージ１５０１（図１５）を表示する（Ｓ１１０５）。メッセージ１５０１は、処理を続行するためには管理者権限を持つユーザーとしての認証が必要であることを通知する。
【００７０】
メッセージ１５０１を表示した後、入力管理部４０４はメッセージ１５０１に対するユーザー操作を受け付け（Ｓ１１０６）、ユーザー操作が処理の続行であると判断した場合はＳ１１０３へ、続行でないと判断された場合はＳ１１０７へ進む。
【００７１】
Ｓ１１０２においてログイン中のユーザーが管理者権限を有すると判断された場合、ＰＣ１００がインストールファイルのサーバーとして動作するための構成処理を実行する（Ｓ１１０３）。ここでの処理は、図９のＳ９０８と同等の処理ではある。
【００７２】
一方、ステップＳ１１０６においてユーザー操作が続行であると判定した場合には、図９のＳ９０８の処理を実行する前に、ＯＳを管理者ユーザーとして実行させるための認証ダイアログ１５０２（図１５）を表示し、ダイアログに管理者ユーザーの認証情報（ユーザーＩＤ、パスワード）をユーザーに入力させる。認証情報に間違いがある場合、または認証をキャンセルする場合は、処理を実行せずエラーとなる。認証が成功した場合、すなわち認証情報に係るユーザーが管理者権限を有することを確認した場合、には、図９のＳ９０８の処理を実行する。Ｓ１１０４で、Ｓ１１０３の処理結果からサーバー機能の実行が成功したと判断された場合はＳ９０９へ、失敗したと判断された場合はＳ１１０７へ進む。
【００７３】
Ｓ１１０６においてユーザー操作が処理の続行を選択しなかった場合、Ｓ９０６でＰＣ１００のテンポラリー領域に保存したインストールファイルの場所を表示し、ユーザーによる手動インストールを促すメッセージ１５０３（図１５）を表示する（Ｓ１１０７）。メッセージ１５０３は、テンポラリー領域に保存したインストールファイル（アプリケーションファイル、ライセンスファイル）の場所を表示し、そのファイルを使用してユーザーによる手動インストールを促す。
【００７４】
ユーザーが手動でインストールする場合は、ＭＦＰ１０１のリモートＵＩ（図１６の１６００）をＰＣ１００で開き、リモートＵＩ１６００からインストールするアプリケーションのアプリケーションファイル及びライセンスファイルを指定してインストールを実行する。ファイルを指定する際には、メッセージ１５０３に表示されるファイルの格納場所がユーザー操作によって１６０２、または１６０３に入力される。
【００７５】
リモートＵＩについて詳細に説明する。リモートＵＩは、ＭＦＰ１０１の状況（エラーの発生有無や印刷中等の使用状況）を確認するためのステータス表示（不図示）やＭＦＰ１０１の各種設定（不図示）などを変更するための機能を提供する。リモートＵＩは一般的なインターネットブラウザー（不図示）を使用して表示、操作できる。
【００７６】
リモートＵＩ１６００は、インターネットブラウザーからＭＦＰ１０１のリモートＵＩを表示している状態を示しており、アプリケーションのインストールを実行するための画面である。したがってリモート画面とも呼ぶ。
【００７７】
アドレス１６０１は、ｈｔｔｐアドレスを指定するテキストボックスであり、ＭＦＰ１０１でアプリケーションのインストールを実行するための画面へアクセスするためのアドレスが指定された状態を示している。
【００７８】
テキストボックス１６０２は、ＭＦＰ１０１へインストールするアプリケーションのインストールファイルを指定するテキストボックスであり、ＰＣ１００に保存されているアプリケーションファイルの保存先のパス情報が指定された状態を示している。
【００７９】
テキストボックス１６０３は、ＭＦＰ１０１へインストールするアプリケーションのライセンスファイルを指定するためのテキストボックスである。
【００８０】
実行ボタン１６０４はインストールを実行するためのボタンであり、アプリケーションファイル１６０２、ライセンスファイル１６０３を指定して、インストールボタン１６０４を実行することでＭＦＰ１０１に対してインストールを実行する。以上がリモートＵＩに関する説明である。
【００８１】
図１１の説明に戻る。すべてアプリケーションのインストール完了後（Ｓ９１４）に、リモートインストール処理部４０１は、サーバー処理部４０６に問い合わせることでサーバー機能が実行済みであるかを判定する（Ｓ１１０８）。サーバー機能を実行済みであると判定された場合は、リモートインストール処理部４０１はサーバー処理部４０６へ指示し、登録済みのポート及びファイアウォールの例外登録を解除する（Ｓ１１０９）。
【００８２】
本実施例により、管理者ユーザーによる認証が必要な場合の通知、また、処理を続行不可の場合にもＰＣ１００にダウンロード済みのインストールファイルの保存先を提示することで、ＰＣ１００をインストールファイルのサーバーとして動作させる場合に管理者権限を要する場合でも、ユーザーは対処しやすく、利便性が向上できる。
【００８３】
＜第３の実施形態＞
複数のＭＦＰ１０１が存在する状況下で、１台目のＭＦＰ１０１において上記の図９の処理を行った後、２台目のＭＦＰ１０１でも1台目と同様にインストールファイルのダウンロードに失敗したとする。上記の実施例の処理では、ＰＣ１００のテンポラリーにインストールファイルがダウンロード済みであっても、２台目のＭＦＰ１０１のインストール処理時に同様の処理（図９）を実行しなければならず、非効率的である。
【００８４】
本実施例は、ＰＣ１００のテンポラリーにインストールファイルをダウンロード済みの場合、ダウンロード済みのインストールファイルを用いて２台目以降のＭＦＰでもインストールを実施する形態を説明する。なお、図９又は図１１で説明済みのステップについては同じ符番を振り説明を省略する。
【００８５】
〔デバイス登録アプリケーション（ＰＣ）のインストールフロー〕
図１２Ａ、図１２Ｂは、本実施形態を示すデバイス登録アプリケーションのインストール処理の一例を示すフローチャートである。図１２Ａ、図１２Ｂは一連のフローを分割したものなので、図１２としてまとめて参照する。
【００８６】
リモートインストール処理部４０１は、対象のＭＦＰ１０１の内、未処理のＭＦＰの一つ、たとえばＭＦＰ１０１を処理対象として特定し（Ｓ１２０１）、Ｓ１２０２へ進む。ここで、未処理のＭＦＰ１０１とは、図６でインストール待機中（準備完了）６４５のものを指す。
【００８７】
Ｓ１２０２で、リモートインストール処理部４０１は、ＰＣ１００のテンポラリーフォルダーに、インストール対象のインストールファイルがダウンロード済みか否かを判断する。ダウンロード済みか否かの判断は、Ｓ９０６の処理時にダウンロードしたアプリケーション情報及びダウンロード先を保存しておき、ここではその情報にインストール対象のアプリケーションと同一（同一ＩＤ７１４且つ同一バージョン７１６）のものが含まれるか否かを判断する。同一のものが含まれていれば、それはダウンロード済みと判定できる。その他にファイル名の一意に定められている場合、単純に同名のファイルがダウンロード済みか否かで判断する構成でも良い。なおダウンロード済みのインストールファイルは、過去のインストール処理でダウンロードされたものであってもよいし、別途ダウンロードされたものであってもよい。
【００８８】
Ｓ１２０２でテンポラリーにインストールファイルがダウンロード済みであると判定された場合はＳ９０９へ進み、ダウンロード済みファイルを用いてＭＦＰ１０１へ再度インストール実行を指示する。ダウンロード済みでないと判定された場合、Ｓ９０１へ進む。
【００８９】
Ｓ９１４においてすべてのアプリケーションが処理済みであると判断された場合、Ｓ１２０３で対象のＭＦＰ１０１がすべて処理済みであるかを判定する。処理済みであると判定された場合はＳ１１０８へ進み、未処理のＭＦＰ１０１が存在する場合はＳ１２０１へ戻り、未処理のＭＦＰ１０１を対象にインストール処理を実行する。
【００９０】
以上に示す実施形態により、過去に既にＰＣ１００へダウンロード済みのインストールファイルが存在する場合は、それを使用してＭＦＰ１０１へインストールを指示することができる。その結果、複数のＭＦＰ１０１へインストールする場合の冗長な処理を避け、効率的にインストールを実行できる。
【００９１】
＜第４の実施形態＞
第１実施形態〜第３実施形態で示すインストール処理では、インストールするアプリケーションのインストールファイルは、アプリケーション情報７００の定義によって決められる。しかし、例えば、イントラネット上にローカルサーバー（不図示）を用意し、ここにインストールファイルを配置して運用したい場合もある（例えば、工場での前設置でアプリケーションをプリインストールさせたい場合など）。
【００９２】
本実施例はそのような構成を考慮したもので、以下の図１３Ａ，図１３Ｂ及び図１４を用いて、カスタマイズ用の設定ファイルを配置する場合に、その設定ファイルで定義されているダウンロード先のインストールファイルを使用してインストールを実行する例を説明する。なお、特に明示していない構成及び処理は、すべて第１実施形態〜第３実施形態と同じものとする。また図１３Ａ、図１３Ｂは一連のフローを分割したものなので、図１３としてまとめて参照する。
【００９３】
〔カスタマイズ設定ファイル〕
図１４を用いて、本実施形態で用いる設定ファイル１４００について説明する。設定ファイル１４００を用いることで例えば、デバイス登録アプリケーション４００でインストールするアプリケーションのダウンロード先を変更したい場合に、設定ファイル１４００に定義することでダウンロード先を変更できる。今回は、設定ファイル１４００がＸＭＬ形式で定義される形態を例に説明するが、特にこの形式に限定されるものではなく、その他の形式であっても良い。
【００９４】
設定ファイル１４００はアプリケーション情報１４０１を含み、アプリケーション情報１４０１はさらに、アプリケーションの基本情報１４１０、インストールするアプリケーションのアプリケーションファイルのダウンロード先のＵＲＬ１４２０、ライセンスファイルのダウンロード先のＵＲＬ１４３０を含む。
【００９５】
アプリケーションの基本情報１４１０は、アプリケーション名１４１１、アプリケーションのバージョン１４１２、アプリケーションＩＤ１４１３によって定義される。デバイス登録アプリケーション４００は、設定ファイル１４００が存在する（予め決められた場所に配置されている）場合に設定ファイル１４００を読み込み、アプリケーション情報１４０１の定義が存在する場合に、インストール時のダウンロード先をアプリケーションファイルのダウンロード先のＵＲＬ１４２０及びライセンスファイルのダウンロード先のＵＲＬ１４３０とするように処理する。
【００９６】
〔デバイス登録アプリケーション（ＰＣ）のインストールフロー〕
図１３Ａ〜図１３Ｃは、本実施形態を示すデバイス登録アプリケーションのインストール処理の一例を示すフローチャートである。尚、上記で説明済みの処理については同じ符番をふり、説明は省略する。
【００９７】
まず図１３ＡのＳ１３０１〜Ｓ１３０４を用いて、カスタマイズ設定の有無を確認する処理について説明する。本処理が実行されるタイミングとしては、例えばデバイス登録アプリケーション４００の起動時に一度実行する等の形態がある。
【００９８】
リモートインストール処理部４０１は、カスタマイズ用の設定ファイルが存在するか否かを確認する（Ｓ１３０１）。具体的には、予め決められた場所（例えば、デバイス登録アプリケーション４００の実行ファイルの配置場所と同じ場所）に予め決められたファイル名のファイル（設定ファイル１４００）が存在するか否かを判断する。設定ファイル１４００が存在しないと判定された場合は処理を終了し、存在すると判定された場合はＳ１３０２へ進む。
【００９９】
Ｓ１３０２で、リモートインストール処理部４０１は、設定ファイル１４００を読み込む。
【０１００】
Ｓ１３０３で、ダウンロード先が定義されているか否かを確認する。具体的には、設定ファイル１４００の定義にアプリケーション情報１４０１且つ、ダウンロード先が定義されているか否かを判断する。定義されていないと判断する場合は処理を終了し、定義されていると判断する場合はＳ１３０４へ進む。
【０１０１】
Ｓ１３０４で、リモートインストール処理部４０１は、カスタマイズされたダウンロード先の情報として、アプリケーション情報１４０１の情報を保持する（任意にタイミングで参照できる値としてデバイス登録アプリケーション４００で保持する）。
【０１０２】
上記で保持される値の有無によって、インストール処理実行時にダウンロード先を変更する。具体的には、図１３Ｂ中のＳ１３０５，Ｓ１３０６の処理に該当し、Ｓ１３０５でリモートインストール処理部４０１は、カスタマイズ情報の有無を確認する。これはＳ１３０４の処理で保持されるアプリケーション情報１４０１中に現在のインストール対象のアプリケーションの定義が存在するか否かを判断することで行える。たとえば、インストール対象のアプリケーション情報７０２のアプリケーションのＩＤ７１４とアプリケーションＩＤ１４１３、及びバージョン７１３とバージョン１４１２とが一致する情報が存在するか否かを判定する。一致するものがあれば、インストール対象のアプリケーションについてカスタマイズ情報があると判定される。
【０１０３】
Ｓ１３０６で、リモートインストール処理部４０１は、処理対象のアプリケーションのダウンロード先をアプリケーション情報１４０１で定義されているダウンロード先に変更し、Ｓ９０２でＭＦＰ１０１に対しインストール指示を送信する。
【０１０４】
本実施例により、設定ファイルに定義することでインストールファイルのダウンロード先を変更（カスタマイズ）することができる。
【０１０５】
［その他の実施例］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１０６】
４００  デバイス登録アプリケーション、４０１  リモートインストール処理部、４０２  外部アクセス部、４０３  デバイス制御部、４０４  入力管理部、４０５  画面表示管理部、４０６  サーバー処理部
【図１】
2019219805.tif 000003
【図２】
2019219805.tif 000004
【図３】
2019219805.tif 000005
【図４】
2019219805.tif 000006
【図５】
2019219805.tif 000007
【図６】
2019219805.tif 000008
【図７】
2019219805.tif 000009
【図８】
2019219805.tif 000010
【図９】
2019219805.tif 000011
【図１０】
2019219805.tif 000012
【図１１Ａ】
2019219805.tif 000013
【図１１Ｂ】
2019219805.tif 000014
【図１２Ａ】
2019219805.tif 000015
【図１２Ｂ】
2019219805.tif 000016
【図１３Ａ】
2019219805.tif 000017
【図１３Ｂ】
2019219805.tif 000018
【図１３Ｃ】
2019219805.tif 000019
【図１４】
2019219805.tif 000020
【図１５】
2019219805.tif 000021
【図１６】
2019219805.tif 000022