(57)【特許請求の範囲】
【請求項１】
ネットワーク機器が使用するソフトウェアの更新処理を該ネットワーク機器に実行させる電子装置であって、
前記更新処理の対象として管理されているソフトウェアごとに、当該ソフトウェアが対応する機種名を含むソフトウェア情報を記憶するソフトウェア情報記憶手段と、
前記ネットワーク機器ごとに、当該ネットワーク機器の機種名を含む機器情報を記憶する機器情報記憶手段と、
前記ソフトウェア情報記憶手段が記憶する前記ソフトウェア情報の一覧より、前記機器情報記憶手段が記憶するいずれかの前記機器情報が含む機種名と一致する機種名を含む前記ソフトウェア情報を抽出し、抽出された前記ソフトウェア情報に係るソフトウェアを第一の選択肢として含み、前記抽出された前記ソフトウェア情報に係るソフトウェアが対応する機種名を含む前記機器情報に係る前記ネットワーク機器を第二の選択肢として含む更新指示画面を生成する画面生成手段と、
前記更新指示画面において、前記第一の選択肢の中から選択された前記ソフトウェアの更新処理を、前記第二の選択肢の中から選択された前記ネットワーク機器に対して要求し、所定の時間の経過後に前記ネットワーク機器に対して前記ソフトウェアの更新処理の結果を問い合わせる機器管理手段とを有することを特徴とする電子装置。
【請求項２】
前記画面生成手段は、前記第一の選択肢において選択されている該ソフトウェアが対応する機種名を含む前記機器情報に係る前記ネットワーク機器を第二の選択肢として含む前記更新指示画面を生成することを特徴とする請求項１記載の電子装置。
【請求項３】
前記ソフトウェア情報は、前記ソフトウェアの更新処理に必要な時間を示す必要時間情報を含み、
前記機器管理手段は、前記更新処理の要求後、前記選択されたソフトウェアの前記ソフトウェア情報に含まれている前記必要時間情報が示す時間の経過後に前記ネットワーク機器に対して前記ソフトウェアの更新処理の結果を問い合わせる請求項１又は２記載の電子装置。
【請求項４】
前記機器管理手段は、前記更新処理の結果の問い合わせに対して前記ネットワーク機器からの応答が無い場合は、前記選択されたソフトウェアの前記ソフトウェア情報に含まれているタイムアウト時間情報が示す時間が最初の前記問い合わせから経過するまで前記更新処理の結果の問い合わせを繰り返す請求項１乃至３いずれか一項記載の電子装置。
【請求項５】
前記機器管理手段は、前記ネットワーク機器より応答される前記更新処理の結果が該更新処理の正常終了を示す場合は、該ネットワーク機器より前記更新処理後の前記ソフトウェアのバージョン情報を取得し、該バージョン情報が前記選択されたソフトウェアの前記ソフトウェア情報に含まれているバージョン情報と一致するか否かに基づいて、前記更新処理の成否を判断する請求項１乃至４いずれか一項記載の電子装置。
【請求項６】
ネットワークを介して接続されるファイル管理装置より前記ソフトウェア情報の一覧を取得するソフトウェア情報取得手段を有し、
前記画面生成手段は、前記ソフトウェアごとに前記ソフトウェア情報の一部を表示させる第一の一覧画面を生成し、前記第一の一覧画面において選択された前記ソフトウェアに関して、前記一部以外の前記ソフトウェア情報を表示させる詳細画面を生成する請求項１乃至５いずれか一項記載の電子装置。
【請求項７】
前記ソフトウェアを記憶するソフトウェア記憶手段を有し、
前記画面生成手段は、前記ソフトウェア記憶手段が記憶する前記ソフトウェアの一覧を表示させる第二の一覧画面を生成し、
前記第二の一覧画面おいて選択された前記ソフトウェアを前記ソフトウェア記憶手段より削除する削除手段を有する請求項１乃至６いずれか一項記載の電子装置。
【請求項８】
請求項１乃至７いずれか一項記載の電子装置とネットワークを介して接続するネットワーク機器であって、
前記電子装置から送信されるソフトウェアの更新処理を実行するソフトウェア更新手段と、
前記ソフトウェア更新手段による前記ソフトウェアの更新処理の結果を保存する更新結果保存手段とを有し、
前記電子装置からの前記更新処理の結果の問い合わせに対し、前記更新結果保存手段に保存されている前記更新処理の結果を前記電子装置に対して送信することを特徴とするネットワーク機器。
【請求項９】
ネットワーク機器が使用するソフトウェアの更新処理を該ネットワーク機器に実行させる電子装置が実行する管理方法であって、
ソフトウェア情報記憶手段が前記更新処理の対象として管理されているソフトウェアごとに記憶する、当該ソフトウェアが対応する機種名を含むソフトウェア情報の一覧より、機器情報記憶手段が前記ネットワーク機器ごとに記憶するいずれかの機器情報が含む機器名と一致する機種名を含む前記ソフトウェア情報を抽出し、抽出された前記ソフトウェア情報に係るソフトウェアを第一の選択肢として含み、前記抽出された前記ソフトウェア情報に係るソフトウェアが対応する機種名を含む前記機器情報に係る前記ネットワーク機器を第二の選択肢として含む更新指示画面を生成する画面生成手順と、
前記更新指示画面において、前記第一の選択肢の中から選択された前記ソフトウェアの更新処理を、前記第二の選択肢の中から選択された前記ネットワーク機器に対して要求し、所定の時間の経過後に前記ネットワーク機器に対して前記ソフトウェアの更新処理の結果を問い合わせる機器管理手順とを有することを特徴とする管理方法。
【請求項１０】
前記画面生成手順は、前記第一の選択肢において選択されている該ソフトウェアが対応する機種名を含む前記機器情報に係る前記ネットワーク機器を第二の選択肢として含む前記更新指示画面を生成することを特徴とする請求項９記載の管理方法。
【請求項１１】
前記ソフトウェア情報は、前記ソフトウェアの更新処理に必要な時間を示す必要時間情報を含み、
前記機器管理手順は、前記更新処理の要求後、前記選択されたソフトウェアの前記ソフトウェア情報に含まれている前記必要時間情報が示す時間の経過後に前記ネットワーク機器に対して前記ソフトウェアの更新処理の結果を問い合わせる請求項９又は１０記載の管理方法。
【請求項１２】
前記機器管理手順は、前記更新処理の結果の問い合わせに対して前記ネットワーク機器からの応答が無い場合は、前記選択されたソフトウェアの前記ソフトウェア情報に含まれているタイムアウト時間情報が示す時間が最初の前記問い合わせから経過するまで前記更新処理の結果の問い合わせを繰り返す請求項９乃至１１いずれか一項記載の管理方法。
【請求項１３】
前記機器管理手順は、前記ネットワーク機器より応答される前記更新処理の結果が該更新処理の正常終了を示す場合は、該ネットワーク機器より前記更新処理後の前記ソフトウェアのバージョン情報を取得し、該バージョン情報が前記選択されたソフトウェアの前記ソフトウェア情報に含まれているバージョン情報と一致するか否かに基づいて、前記更新処理の成否を判断する請求項９乃至１２いずれか一項記載の管理方法。
【請求項１４】
ネットワークを介して接続されるファイル管理装置より前記ソフトウェア情報の一覧を取得するソフトウェア情報取得手順と、
前記ソフトウェアごとに前記ソフトウェア情報の一部を表示させる第一の一覧画面を生成する第一の一覧画面生成手順と、
前記第一の一覧画面において選択された前記ソフトウェアに関して、前記一部以外の前記ソフトウェア情報を表示させる詳細画面を生成する詳細画面生成手順とを有する請求項９乃至１３いずれか一項記載の管理方法。
【請求項１５】
ソフトウェア記憶手段が記憶する前記ソフトウェアの一覧を表示させる第二の一覧画面を生成する第二の一覧画面生成手順と、
前記第二の一覧画面おいて選択された前記ソフトウェアを前記ソフトウェア記憶手段より削除する削除手順とを有する請求項９乃至１４いずれか一項記載の管理方法。
【請求項１６】
請求項１乃至７いずれか一項記載の電子装置とネットワークを介して接続するネットワーク機器が実行するソフトウェア更新方法であって、
前記電子装置から送信されるソフトウェアの更新処理を実行するソフトウェア更新手順と、
前記ソフトウェア更新手順における前記ソフトウェアの更新処理の結果を保存する更新結果保存手順と、
前記電子装置からの前記更新処理の結果の問い合わせに対し、前記更新結果保存手順において保存された前記更新処理の結果を前記電子装置に対して送信する更新結果送信手順とを有することを特徴とするソフトウェア更新方法。
【請求項１７】
ネットワーク機器が使用するソフトウェアの更新処理を該ネットワーク機器に実行させる電子装置に、
ソフトウェア情報記憶手段が前記更新処理の対象として管理されているソフトウェアごとに記憶する、当該ソフトウェアが対応する機種名を含むソフトウェア情報の一覧より、機器情報記憶手段が前記ネットワーク機器ごとに記憶するいずれかの機器情報が含む機器名と一致する機種名を含む前記ソフトウェア情報を抽出し、抽出された前記ソフトウェア情報に係るソフトウェアを第一の選択肢として含み、前記抽出された前記ソフトウェア情報に係るソフトウェアが対応する機種名を含む前記機器情報に係る前記ネットワーク機器を第二の選択肢として含む更新指示画面を生成する画面生成手順と、
前記更新指示画面において、前記第一の選択肢の中から選択された前記ソフトウェアの更新処理を、前記第二の選択肢の中から選択された前記ネットワーク機器に対して要求し、所定の時間の経過後に前記ネットワーク機器に対して前記ソフトウェアの更新処理の結果を問い合わせる機器管理手順とを実行させるための管理プログラム。
【請求項１８】
前記画面生成手順は、前記第一の選択肢において選択されている該ソフトウェアが対応する機種名を含む前記機器情報に係る前記ネットワーク機器を第二の選択肢として含む前記更新指示画面を生成することを特徴とする請求項１７記載の管理プログラム。
【請求項１９】
前記ソフトウェア情報は、前記ソフトウェアの更新処理に必要な時間を示す必要時間情報を含み、
前記機器管理手順は、前記更新処理の要求後、前記選択されたソフトウェアの前記ソフトウェア情報に含まれている前記必要時間情報が示す時間の経過後に前記ネットワーク機器に対して前記ソフトウェアの更新処理の結果を問い合わせる請求項１７又は１８記載の管理プログラム。
【請求項２０】
前記機器管理手順は、前記更新処理の結果の問い合わせに対して前記ネットワーク機器からの応答が無い場合は、前記選択されたソフトウェアの前記ソフトウェア情報に含まれているタイムアウト時間情報が示す時間が最初の前記問い合わせから経過するまで前記更新処理の結果の問い合わせを繰り返す請求項１７乃至１９いずれか一項記載の管理プログラム。
【請求項２１】
前記機器管理手順は、前記ネットワーク機器より応答される前記更新処理の結果が該更新処理の正常終了を示す場合は、該ネットワーク機器より前記更新処理後の前記ソフトウェアのバージョン情報を取得し、該バージョン情報が前記選択されたソフトウェアの前記ソフトウェア情報に含まれているバージョン情報と一致するか否かに基づいて、前記更新処理の成否を判断する請求項１７乃至２０いずれか一項記載の管理プログラム。
【請求項２２】
ネットワークを介して接続されるファイル管理装置より前記ソフトウェア情報の一覧を取得するソフトウェア情報取得手順と、
前記ソフトウェアごとに前記ソフトウェア情報の一部を表示させる第一の一覧画面を生成する第一の一覧画面生成手順と、
前記第一の一覧画面において選択された前記ソフトウェアに関して、前記一部以外の前記ソフトウェア情報を表示させる詳細画面を生成する詳細画面生成手順とを前記電子装置に実行させるための請求項１７乃至２１いずれか一項記載の管理プログラム。
【請求項２３】
ソフトウェア記憶手段が記憶する前記ソフトウェアの一覧を表示させる第二の一覧画面を生成する第二の一覧画面生成手順と、
前記第二の一覧画面おいて選択された前記ソフトウェアを前記ソフトウェア記憶手段より削除する削除手順とを前記電子装置に実行させるための請求項１７乃至２２いずれか一項記載の管理プログラム。
【請求項２４】
請求項１７乃至２３いずれか一項記載の管理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２５】
請求項１乃至７いずれか一項記載の電子装置とネットワークを介して接続するネットワーク機器に、
前記電子装置から送信されるソフトウェアの更新処理を実行するソフトウェア更新手順と、
前記ソフトウェア更新手順における前記ソフトウェアの更新処理の結果を保存する更新結果保存手順と、
前記電子装置からの前記更新処理の結果の問い合わせに対し、前記更新結果保存手順において保存された前記更新処理の結果を前記電子装置に対して送信する更新結果送信手順とを実行させるためのソフトウェア更新プログラム。
【請求項２６】
請求項２５項記載のソフトウェア更新プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電子装置、管理方法、管理プログラム及び記録媒体に関し、特にネットワークを介して接続されるネットワーク機器のソフトウェアを更新する電子装置、管理方法、管理プログラム及び記録媒体に関する。
【０００２】
また、本発明は、前記電子装置によってソフトウェアを更新されるネットワーク機器、ソフトウェア更新方法、ソフトウェア更新プログラム及び記録媒体に関する。
【背景技術】
【０００３】
ネットワークに接続されているプリンタ、ＦＡＸ等の様々なネットワーク機器に対して端末より遠隔操作によってファームウェア等の更新を可能とする技術が既に提供されている。
【０００４】
図１は、遠隔操作によって機器のファームウェアを更新する手順を説明するための図である。図１において、システム５００は、端末５０１、機器管理サーバ５０２、ファイルサーバ５０３及びネットワーク機器５０４等から構成され、それぞれはＬＡＮ等のネットワークによって接続されているものとする。
【０００５】
端末５０１は、ユーザが直接利用する端末である。機器管理サーバ５０２は、端末５０１からの要求に基づいてネットワーク機器５０４に対してファームウェア等をアップロードするコンピュータである。ファイルサーバ５０３は、ネットワーク機器５０４に対して適用する各種ファームウェアをファイルとして管理しているコンピュータである。ネットワーク機器５０４は、ファームウェアの更新対象となっている機器である。
【０００６】
まず、機器管理サーバ５０２は、ファイルサーバ５０３よりファームウェアをダウンロードしておく（Ｓ１１）。
【０００７】
端末５０１から、ネットワーク機器５０４に対するファームウェアのアップロードの要求がされると（Ｓ１２）、機器管理サーバ５０２は、ネットワーク機器５０４に対してファームウェアをアップロードし（Ｓ１３）、その結果を端末５０１に対して応答する（Ｓ１４）。その後、ネットワーク機器５０４は、アップロードされたファームウェアの更新処理を所定のタイミングで実行すると共に、リセット処理を実行し、ファームウェアの更新を反映させる（Ｓ１５）。
【０００８】
このように、端末５０１から機器管理サーバ５０２を介してネットワーク機器５０４のファームウェアを更新させることができた。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述したように、従来の方法ではネットワーク機器５０４におけるファームウェアの更新処理（Ｓ１５）が、端末５０１からの要求（Ｓ１２）に対して非同期に実行されていた。ファームウェアの更新を反映するためには、ネットワーク機器５０４をリセットする必要があり、機器管理サーバ５０２とネットワーク機器５０４とのセッションを維持することができないからである。
【００１０】
したがって、端末５０１のユーザは、機器管理サーバ５０２からネットワーク機器５０４に対するソフトウェアのアップロードの成否までは確認できるものの、その後に実行されるネットワーク機器５０４におけるアップデート（更新処理）の成否についてタイムリーに確認できないという問題があった。
【００１１】
本発明は、上記の点に鑑みてなされたものであって、ネットワークを介してネットワーク機器のソフトウェアを更新させる際に、ネットワーク機器におけるソフトウェアの更新処理の結果をユーザに容易に確認させることができる電子装置、管理方法、管理プログラム及び記録媒体、並びに前記電子装置に対してソフトウェアの更新処理の結果を通知することができるネットワーク機器、ソフトウェア更新方法、ソフトウェア更新プログラム及び記録媒体の提供を目的とする。
【課題を解決するための手段】
【００１２】
そこで上記課題を解決するため、本発明は、請求項１に記載されるように、ネットワーク機器に対して該ネットワーク機器に使用されるソフトウェアの更新処理を実行させる電子装置であって、前記ソフトウェアと該ソフトウェアの更新処理を実行するためのソフトウェア情報とを管理するソフトウェア管理手段と、前記ソフトウェア情報に基づき所定の時間の経過後に前記ネットワーク機器に対して前記ソフトウェアの更新処理の結果を問い合わせる機器管理手段とを有することを特徴とする。
【００１３】
このような電子装置では、ネットワーク機器においてソフトウェアの更新処理が完了したタイミングで、ソフトウェアの更新処理の結果を問い合わせることができる。
【００１４】
また、上記課題を解決するため、本発明は、請求項１３に記載されるように、請求項１乃至１２いずれか一項記載の電子装置とネットワークを介して接続するネットワーク機器であって、前記電子装置から送信されるソフトウェアの更新処理を実行するソフトウェア更新手段と、前記ソフトウェア更新手段による前記ソフトウェアの更新処理の結果を保存する更新結果保存手段とを有し、前記電子装置からの要求に対し、前記更新結果保存手段に保存されている前記更新処理の結果を前記電子装置に対して送信することを特徴とする。
【００１５】
このようなネットワーク機器では、請求項１乃至１２いずれか一項記載の電子装置に対してソフトウェアの更新処理の結果を通知することができる。
【００１６】
また、上記課題を解決するため、本発明は、上記電子装置における管理方法、前記管理方法を前記電子装置に実行させるための管理プログラム、又は前記管理プログラムを記録した記録媒体としてもよい。
【００１７】
また、上記課題を解決するため、本発明は、上記ネットワーク機器におけるソフトウェア更新方法、前記ソフトウェア更新方法を前記ネットワーク機器に実行させるためのソフトウェア更新プログラム、又は前記ソフトウェア更新プログラムを記録した記録媒体としてもよい。
【発明の効果】
【００１８】
本発明によれば、ネットワークを介してネットワーク機器のソフトウェアを更新させる際に、ネットワーク機器におけるソフトウェアの更新処理の結果をユーザに容易に確認させることができる電子装置、管理方法、管理プログラム及び記録媒体、並びに前記電子装置に対してソフトウェアの更新処理の結果を通知することができるネットワーク機器、ソフトウェア更新方法、ソフトウェア更新プログラム及び記録媒体を提供することができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面に基づいて本発明の実施の形態を説明する。図２は、本発明の実施の形態における機器管理システムの構成例を示す図である。図２に示されるように本実施の形態における機器管理システム１は、機器管理サーバ１０と、ファイルサーバ２０と、一台以上の画像形成装置（画像形成装置３１及び画像形成装置３２等）と、端末４０とがＬＡＮ等のネットワーク５０（有線又は無線の別は問わない。）を介して接続されることにより構成されている。
【００２０】
機器管理サーバ１０は、端末４０からの要求に応じて画像形成装置３１等に対するソフトウェアのアップロード等を実行するための機能が実装されているコンピュータである。機器管理サーバ１０はまた、Ｗｅｂサーバとしての機能を有している。従って、端末４０のユーザは、機器管理サーバ１０の提供するＷｅｂページを介して機器管理サーバ１０の機能を利用することができる。
【００２１】
ファイルサーバ２０は、機器管理サーバ１０が画像形成装置３１等に対してアップロードする種々のソフトウェアを管理しているコンピュータである。すなわち、機器管理サーバ１０は、画像形成装置３１等に対するソフトウェアのアップロードを実行する前に、予め当該ソフトウェアをファイルサーバ２０からダウンロードしておく。なお、機器管理サーバ１０によるソフトウェアのダウンロードは、端末４０からの指示に応じて実行される。
【００２２】
図３は、ファイルサーバにおいて管理されているソフトウェアの構成を説明するための図である。本発明の実施の形態において、画像形成装置に適用するための各種ソフトウェアは、パッケージ化されて管理されている。
【００２３】
図３において、パッケージ２１０は、一つの圧縮ファイルに該当する。パッケージ２１０は、画像形成装置３１等に対して適用されるソフトウェアが格納されたソフトウェアの集合体である。ファイルサーバ２０から機器管理サーバ１０へのダウンロード等は、パッケージ２１０を単位として行われる。
【００２４】
パッケージ２１０には、一つ以上のｒｒｕファイル（図３においては、ｒｒｕファイル２１１及びｒｒｕファイル２１２）が格納されている。ｒｒｕファイルは、バグの修正や機能強化がされた一つ以上のソフトウェアが含まれているファイルである。画像形成装置３１等に対するアップロード及びアップデートは、ｒｒｕファイルを単位として行われる。図３においては、ソフトウェアの具体例としてファームウェアが格納されている例が示されている。なお、本実施の形態において「アップロード」とは、機器管理サーバ１０から画像形成装置３１等へのソフトウェアの転送をいう。また、「アップデート」とは、画像形成装置３１等において実装されているソフトウェアが、機器管理サーバ１０から転送されたソフトウェアによって更新されることをいう。
【００２５】
本実施の形態において、パッケージ２１０は、画像形成装置３１等の機種を識別するための名前であるモデル名（機種名）とパッケージ２１０のバージョンとの組み合わせごとに一つずつ作成されている。すなわち、適用対象となる画像形成装置３１等のモデル名とパッケージ２１０のバージョンとによって、パッケージ２１０が一意に定まる。一つのパッケージには、同じカテゴリのソフトウェアのみが格納されており、それらのソフトウェアは、同一の機種に対してのみ有効である。
【００２６】
図２に戻る。画像形成装置３１等は、ネットワーク機器の具体例であり、一般的なプリンタ、又は、プリンタ、コピー、若しくはファクシミリ等の複合サービスを実現するための複数のアプリケーションを有する複合機等が該当する。
【００２７】
端末４０は、機器管理サーバ１０から提供されるＷｅｂページを表示するためのＷｅｂブラウザを備えたＰＣ（Personal Computer）、ＰＤＡ（Personal Digital(Data) Assistants）、又は携帯電話等の端末であり、機器管理システム１のユーザが、機器管理システム１を利用する際に直接使用する。
【００２８】
次に、機器管理サーバ１０の詳細について説明する。図４は、本発明の実施の形態における機器管理サーバのハードウェア構成例を示す図である。図４の機器管理サーバ１０は、それぞれバスBで相互に接続されているドライブ装置１００と、補助記憶装置１０２と、メモリ装置１０３と、演算処理装置１０４と、インタフェース装置１０５とを有するように構成される。
【００２９】
機器管理サーバ１０での処理を実現する機器管理プログラムは、CD―ROM等の記録媒体１０１によって提供される。機器管理プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、機器管理プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。補助記憶装置１０２は、インストールされた機器管理プログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００３０】
メモリ装置１０３は、機器管理プログラムの起動指示があった場合に、補助記憶装置１０２から機器管理プログラムを読み出して格納する。演算処理装置１０４は、メモリ装置１０３に格納された機器管理プログラムに従って機器管理サーバ１０に係る機能を実行する。インタフェース装置１０５は例えばモデム、ルータ等で構成され、図２のネットワーク５０に接続するために用いられる。
【００３１】
図５は、本発明の実施の形態における機器管理システムの機能構成例を示す図である。図５に示されるように、機器管理サーバ１０は、ｈｔｔｐｄ１１、Ｗｅｂアプリ１２、機器管理部１３およびソフトウェア管理部１４等から構成される。
【００３２】
ｈｔｔｐｄ１１は、端末４０より送信されるＨＴＴＰリクエストを受信し、Ｗｅｂアプリ１２に対し、当該ＨＴＴＰリクエストにおいて要求されている情報（Ｗｅｂページ）の生成を要求するデーモンプログラムである。ｈｔｔｐｄ１１は、また、Ｗｅｂアプリ１２によって生成されたＷｅｂページをＨＴＴＰレスポンスに含めて端末４０に対して送信する。Ｗｅｂアプリ１２は、端末４０より要求された処理を実行し、その処理結果を表示させるＷｅｂページを生成するいわゆるＷｅｂアプリケーションである。
【００３３】
機器管理部１３は、機器管理サーバ１０の管理下にある画像形成装置３１等の管理機能が実装されている部分であり、機器一覧提供部１３１、機器情報記憶部１３２、アップデート処理部１３３及び機器一覧取得部１３４等から構成されている。
【００３４】
機器情報記憶部１３２は、機器管理サーバ１０の管理下にある画像形成装置３１等の機種を特定するためのモデル名（機種名）やＩＰアドレス等の属性情報が管理されているファイル等の記憶領域である。機器一覧提供部１３１は、機器情報記憶部１３２に管理されている情報をＷｅｂアプリ１２に対して提供するためのモジュールである。アップデート処理部１３３は、後述されるパッケージ記憶部１４３に保存されているパッケージの画像形成装置３１等に対するアップロードと、当該パッケージが画像形成装置３１等において正常にアップデートされたかを確認するための処理とを実行するモジュールである。機器一覧取得部１３４は、ネットワーク５０に接続された画像形成装置３１等を検出すると共に、検出された画像形成装置３１等のモデル名やＩＰアドレス等の属性情報を当該画像形成装置より取得し、機器情報記憶部１３２に保存するモジュールである。
【００３５】
ソフトウェア管理部１４は、画像形成装置３１等にアップロードするパッケージの管理機能が実装されている部分であり、パッケージ一覧提供部１４１、パッケージメタ情報提供部１４２、パッケージ記憶部１４３及びパッケージメタ情報記憶部１４４、ダウンロード部１４５、パッケージメタ情報取得部１４６、及びパッケージ削除部１４７等から構成されている。
【００３６】
パッケージ記憶部１４３は、ダウンロード部１４５によってファイルサーバ２０よりダウンロードされたパッケージが保存されているフォルダ等の記憶領域である。パッケージ一覧提供部１４１は、パッケージ記憶部１４３に保存されているパッケージの一覧情報をＷｅｂアプリ１２に対して提供するためのモジュールである。パッケージメタ情報記憶部１４４は、パッケージ記憶部１４３に保存されているパッケージのメタ情報が管理されているファイル等の記憶領域である。ここで、パッケージのメタ情報とは、当該パッケージの属性情報をいう。パッケージメタ情報提供部１４２は、パッケージメタ情報記憶部１４４に保存されているパッケージのメタ情報をＷｅｂアプリ１２に対して提供するためのモジュールである。ダウンロード部１４５は、ファイルサーバ２０に管理されているパッケージをダウンロードし、当該パッケージをパッケージ記憶部１４３に保存するモジュールである。パッケージメタ情報取得部１４６は、ファイルサーバ２０に管理されているパッケージのメタ情報をファイルサーバ２０より取得しパッケージメタ情報記憶部１４４に保存するモジュールである。パッケージ削除部１４７は、パッケージ記憶部１４３に保存されているパッケージの削除処理を実行するモジュールである。
【００３７】
ファイルサーバ２０は、パッケージ記憶部２１及びパッケージメタ情報記憶部２２等から構成される。パッケージ記憶部２１は、画像形成装置３１等に適用するためのパッケージが保存されている記憶領域である。パッケージメタ情報記憶部２２は、パッケージ記憶部２１に保存されているパッケージのメタ情報が保存されているファイル等の記憶領域である。
【００３８】
画像形成装置３１は、通信制御部３１１、アップデート制御部３１２、パッケージ一時記憶部３１３、ファームウェア記憶部３１４、エラー情報記憶部３１５及びバージョン記憶部３１６等から構成されている。
【００３９】
通信制御部３１１は、機器管理サーバ１０との通信処理を制御するためのモジュールである。本実施の形態においては、機器管理サーバ１０と画像形成装置３１との通信はＦＴＰによって行われるため、通信制御部３１１は、ＦＴＰサーバとして機能する。パッケージ一時記憶部３１３は、機器管理サーバ１０よりアップロードされたパッケージが一時的に保存されるフォルダ等の記憶領域である。アップデート制御部３１２は、パッケージ一時記憶部３１３にアップロードされたパッケージに含まれるファームウェアの更新処理（アップデート処理）を実行するモジュールである。
【００４０】
ファームウェア記憶部３１４は、ファームウェアが機能するために配置されるべきフォルダ等の記憶領域である。エラー情報記憶部３１５は、アップデート制御部３１２によるパッケージのアップデート処理においてエラーが発生した場合に、当該エラー情報が保存される記憶領域である。バージョン記憶部３１６は、画像形成装置３１に現在適用されているファームウェアのバージョン情報を管理している記憶領域である。
【００４１】
なお、図５においては、画像形成装置３１の機能構成について示しているが、画像形成装置３２等、他の画像形成装置についても同様の構成をしているものとする。
【００４２】
以下、図５の機器管理サーバ１０の処理手順について説明する。まず、機器管理サーバ１０が端末４０に対して、ダウンロード可能なパッケージの一覧情報を提供する際の処理について説明する。なお、ここでダウンロードとは、ファイルサーバ２０から機器管理サーバ１０へのダウンロードをいい、以下においても同じである。
【００４３】
図６及び図７は、ダウンロード可能なパッケージの一覧情報の提供処理を説明するためのシーケンス図である。
【００４４】
ステップＳ９１において、端末４０は、ユーザからの入力に基づいて、ダウンロード可能なパッケージの一覧情報を表示させるＷｅｂページ（以下、「パッケージ一覧ページ」という。）の送信要求（ＨＴＴＰリクエスト）を機器管理サーバ１０に対して送信する。ユーザからの入力としては、Ｗｅｂブラウザへのパッケージ一覧ページに対するＵＲＬの入力や、他のＷｅｂページからのページ切り替えの指示等が挙げられる。なお、ここでは、ファームウェアに関するパッケージの一覧情報が要求されたものとする。
【００４５】
ステップＳ９１に続いてステップＳ９２に進み、端末４０からのＨＴＴＰリクエストを受信したｈｔｔｐｄ１１は、Ｗｅｂアプリ１２を呼び出し、Ｗｅｂアプリ１２に対してパッケージ一覧ページの生成を要求する。ステップＳ９２に続いてステップＳ９３に進み、Ｗｅｂアプリ１２は、パッケージメタ情報取得部１４６に対して、ファームウェアについてのパッケージの一覧情報の提供を要求する。
【００４６】
パッケージメタ情報取得部１４６は、ファイルサーバ２０とのセッションを接続し（Ｓ９４、Ｓ９５）、ファイルサーバ２０に対して、各カテゴリのパッケージの一覧情報に対するＵＲＬの一覧情報（以下、「ＵＲＬ一覧」という。）の提供を要求する（Ｓ９６）。すなわち、ファイルサーバ２０においては、ソフトウェアのカテゴリごとにフォルダ（ＵＲＬ）が別にされ、それぞれのフォルダに当該カテゴリに属するパッケージの一覧情報が管理されている。
【００４７】
なお、本実施の形態において、機器管理サーバ１０とファイルサーバ２０との通信はＨＴＴＰによって行われている。したがって、機器管理サーバ１０からの要求はＨＴＴＰリクエストとしてファイルサーバ２０に対して送信され、ファイルサーバ２０からの応答は、ＨＴＴＰレスポンスとして機器管理サーバ１０に対して返信される。
【００４８】
ステップＳ９６に続いてステップＳ９７に進み、ファイルサーバ２０は、ＸＭＬ（eXtensible Markup Language）形式によるＵＲＬ一覧をパッケージメタ情報記憶部２２より取得して、機器管理サーバ１０に対して送信する。
【００４９】
図８は、ファイルサーバより送信されるＵＲＬ一覧の例を示す図である。図８のＵＲＬ一覧２２０において、＜ｓｏｆｔｃａｔｅｇｏｒｙ＞タグで囲まれた一つの要素ごとに、それぞれのカテゴリの名前と、それぞれのカテゴリに属するパッケージの一覧情報（以下、「パッケージ一覧」という。）に対するＵＲＬとが示されている。例えば、記述２２１におけるカテゴリは、＜ｎａｍｅ＞タグで囲まれた記述２２２より、「Ｆ／Ｗ」（ファームウェア）であることが分かり、パッケージ一覧に対するＵＲＬは、＜ｕｒｌ＞タグで囲まれた記述２２３より、「／ｆｗ」であることが分かる。なお、ＵＲＬは、ファイルサーバ２０における所定のフォルダからの相対パスによって示されている。
【００５０】
ステップＳ９７に続いてステップＳ９８に進み、パッケージメタ情報取得部１４６は、ＵＲＬ一覧２２０の中からファームウェアのパッケージ一覧のＵＲＬ（記述２２３）を取得する。ステップＳ９８に続いてステップＳ９９に進み、ソフトウェア情報取得部１４１が、ファイルサーバ２０に対して、ステップＳ９８において取得したＵＲＬによって特定されるパッケージ一覧の提供を要求すると、ファイルサーバ２０は、当該ＵＲＬにおけるＸＭＬ形式によるパッケージ一覧をパッケージメタ情報記憶部２２より取得して、パッケージメタ情報取得部１４６に対して送信する（Ｓ１００）。
【００５１】
図９は、ファイルサーバより送信されるパッケージ一覧の例を示す図である。図９のパッケージ一覧２３０において、＜ｏｂｊｅｃｔ＞タグで囲まれた要素ごとに、各パッケージの情報が示されている。例えば、記述２３１にその情報が示されているパッケージについては、パッケージの名前（以下、「パッケージ名」という。）は「ＡＡＡ」（記述２３６）、バージョンは「Ｖ１．１２」（記述２３４）、パッケージに含まれているｒｒｕファイルの一覧情報に対するＵＲＬは「ｈｔｔｐ：／／ｘｘｘｘ／ｄｅｖｉｃｅ／ａｕｔｏｄｌ／ｘｍｌ／ｓｏｆｔｗａｒｅ」（記述２３２）、パッケージのファイルサイズは「７９９１２９６」（Ｋｂｙｔｅ）（記述２３５）、パッケージそのものに対するＵＲＬは、「ｈｔｔｐ：／／ｘｘｘｘ／ｄｅｖｉｃｅ／ａｕｔｏｄｌ／ｘｍｌ／ｘｘｘ」（記述２３３）であるということが分かる。パッケージ名が「ＢＢＢ」、「ＣＣＣ」及び「ＤＤＤ」のパッケージについても同様に、それぞれの情報が＜ｏｂｊｅｃｔ＞タグに囲まれて示されている（記述２３７、２３８、２３９）。
【００５２】
なお、パッケージ名は、画像形成装置のモデル名に対応している。上述したように、パッケージは、同一のカテゴリ内で、機種ごとでかつバージョンごとに一意だからである。したがって、パッケージ一覧２３０によって、機種ＡＡＡ、ＢＢＢ、ＣＣＣ及びＤＤＤに対応したパッケージが、ファイルサーバ２０に管理されていることが分かる。
【００５３】
ステップＳ１００に続いてステップＳ１０１に進み、パッケージメタ情報取得部１４６は、ＸＭＬ形式のパッケージ一覧２３０をＷｅｂアプリ１２が解釈可能なデータ型（例えば、構造体等）に変換する。ステップＳ１０１に続いてステップＳ１０２に進み、パッケージメタ情報取得部１４６は、パッケージ一覧２３０（図９）より、パッケージＡＡＡに含まれるｒｒｕファイルの一覧情報（以下、「ｒｒｕファイル一覧」という。）に対するＵＲＬ（記述２３２）を取得し、ファイルサーバ２０に対して当該ＵＲＬによって特定されるｒｒｕファイル一覧の送信を要求する。
【００５４】
ステップＳ１０２に続いてステップＳ１０３に進み、ファイルサーバ２０は、パッケージメタ情報取得部１４６より通知されたＵＲＬによって特定されるＸＭＬ形式によるｒｒｕファイル一覧をパッケージメタ情報記憶部２２より取得して、パッケージメタ情報取得部１４６に送信する。
【００５５】
図１０は、ファイルサーバより送信されるｒｒｕファイル一覧の例を示す図である。図１０のｒｒｕファイル一覧２４０において、＜ｏｂｊｅｃｔ＞タグで囲まれた要素ごとに、各ｒｒｕファイルの情報が示されている。例えば、記述２４１にその情報が示されているｒｒｕファイルについては、ｒｒｕファイルの名前（以下、「ｒｒｕファイル名」という。）は「Ｐｒｉｎｔｅｒ＆Ｎｅｔｗｏｒｋ」（記述２４２）、ｒｒｕファイルに含まれているファームウェアの一覧情報が保存されているＵＲＬは「／ｐｒｉｎｔｅｒ＆ｎｅｔｗｏｒｋ」（記述２４３）、ｒｒｕファイルのファイルサイズは「６４６３２８４」（Ｋｂｙｔｅ）（記述２４４）であるということ等が分かる。他のｒｒｕファイルに関する情報も同様に＜ｏｂｊｅｃｔ＞タグに囲まれて示されている（記述２４５）。
【００５６】
ステップＳ１０３に続いてステップＳ１０４に進み、パッケージメタ情報取得部１４６は、ＸＭＬ形式のｒｒｕファイル一覧２４０をＷｅｂアプリ１２が解釈可能なデータ型に変換する。ステップＳ１０４に続いてステップＳ１０５に進み、パッケージメタ情報取得部１４６は、ｒｒｕファイル一覧２４０より、各ｒｒｕファイルに含まれるファームウェアの一覧情報（以下、「ファームウェア一覧」という。）に対するＵＲＬ（記述２４３等）を取得し、ファイルサーバ２０に対して当該ＵＲＬによって特定されるファームウェア一覧の送信を要求する。
【００５７】
ステップＳ１０５に続いてステップＳ１０６に進み、ファイルサーバ２０は、パッケージメタ情報取得部１４６より通知されたＵＲＬによって特定されるＸＭＬ形式によるファームウェア一覧をパッケージメタ情報記憶部２２より取得して、パッケージメタ情報取得部１４６に送信する。
【００５８】
図１１は、ファイルサーバより送信されるファームウェア一覧の例を示す図である。図１１のファームウェア一覧２５０において、＜ｏｂｊｅｃｔ＞タグで囲まれた要素ごとに、各ファームウェアの情報が示されている。例えば、記述２５１にその情報が示されているファームウェアについては、ファームウェアの名前（以下、「ファームウェア名」という。）は「ａａａ」（記述２５２）、ファームウェアのパージョンは「Ｖ１．１２」（記述２５３）であるということ等が分かる。ファームウェア名が「ｂｂｂ」等のファームウェアについても同様に、それぞれの情報が＜ｏｂｊｅｃｔ＞タグに囲まれて示されている（記述２５４）。
【００５９】
ステップＳ１０６に続いてステップＳ１０７に進み、パッケージメタ情報取得部１４６は、ＸＭＬ形式のファームウェア一覧２５０をＷｅｂアプリ１２が解釈可能なデータ型に変換する。ステップＳ１０７に続いてステップＳ１０８（図７）に進み、パッケージメタ情報取得部１４６は、Ｗｅｂアプリ１２が解釈可能なデータ型に変換されたパッケージ一覧をＷｅｂアプリ１２に対して出力する。
【００６０】
ステップＳ１０８に続いてステップＳ１０９に進み、Ｗｅｂアプリ１２は、機器情報記憶部１３１から、機器管理サーバ１０の管理下にある画像形成装置の一覧情報（以下、「機器一覧」という。）を取得する。
【００６１】
図１２は、機器情報記憶部に管理されている機器一覧の構成例を示す図である。図１２に示されるように機器一覧は、機器管理サーバ１０の管理下にある画像形成装置３１等について、ＩＰアドレス、ＭACアドレス及びモデル名等の情報から構成される。図１２より、４台の画像形成装置が機器管理サーバ１０の管理下にあり、そのうち３台の画像形成装置の機種は「ＡＡＡ」であり、１台の機種は「ＢＢＢ」であることが分かる。したがって、図１２に示されるような機器一覧が、Ｗｅｂアプリ１２によって取得される。
【００６２】
ステップＳ１０９に続いてステップＳ１１０に進み、Ｗｅｂアプリ１２は、パッケージ一覧のモデル名と機器一覧のモデル名との論理積をとることにより、パッケージ一覧の中から、機器管理サーバ１０の管理下にある画像形成装置の機種に対応したパッケージの一覧情報を抽出する。なお、ここで抽出されたパッケージの一覧情報を以下、「抽出パッケージ一覧」という。
【００６３】
すなわち、ファイルサーバ２０には、機器管理サーバ１０の管理下にある機種だけでなく、その他の機種のパッケージについても管理されている可能性がある。ファイルサーバ２０と機器管理サーバ１０とは、一対一に対応しているとは限らず、ファイルサーバ２０に対して複数の機器管理サーバ１０が対応している場合もあるからである。したがって、ファイルサーバ２０から取得したパッケージ一覧には、機器管理サーバ１０の管理下にはない機種に対するパッケージの情報も含まれている可能性がある。また、機器管理サーバ１０の管理下にある全ての機種に対するパッケージが、ファイルサーバ２０に管理されているとは限らない。
【００６４】
かかる状況において、仮に、ファイルサーバ２０より取得したパッケージ一覧をパッケージ一覧ページに掲載したとすると、機器管理サーバ１０にダウンロードしても無意味なパッケージの情報までユーザに提示することになる。一方、機器情報記憶部１３２より取得した機器一覧に含まれている機種に対応したパッケージの一覧をパッケージ一覧ページに掲載したとすると、ファイルサーバ２０には管理されていない、すなわち、ダウンロードが不可能なパッケージの情報をダウンロードの候補としてユーザに提示することになる。
【００６５】
そこで、かかる事態を回避し、真に必要な情報のみをユーザに提供するため、Ｗｅｂアプリ１２は、パッケージ一覧の中から機器管理サーバ１０の管理下にある画像形成装置に対応した情報を抽出しているのである。
【００６６】
本実施の形態においては、パッケージ一覧（図９）には、機種ＡＡＡ、ＢＢＢ、ＣＣＣ及びＤＤＤに対応するパッケージの情報が含まれており、機器一覧（図１２）には、機種ＡＡＡ及びＢＢＢの情報が含まれているため、機種ＡＡＡ及びＢＢＢに対応するパッケージの情報が、パッケージ一覧より抽出される。
【００６７】
ステップＳ１１０に続いてステップＳ１１１に進み、Ｗｅｂアプリ１２は、抽出パッケージ一覧に基づいて、抽出パッケージ一覧に含まれているパッケージの情報を表示させるパッケージ一覧ページを生成し、当該パッケージ一覧ページをｈｔｔｐｄ１１に対して出力する（Ｓ１１２）。ステップＳ１１２に続いてステップＳ１１３に進み、ｈｔｔｐｄ１１がパッケージ一覧ページを端末４０に対して送信すると、パッケージ一覧ページが端末４０のＷｅｂブラウザによって表示される。
【００６８】
図１３は、パッケージ一覧ページの表示例を示す図である。図１３に示されるように、パッケージ一覧ページ４１０には、機器管理サーバ１０の管理下にある機種に対応し、かつ、ファイルサーバ２０に管理されているパッケージの情報（「ＡＡＡ」、「ＢＢＢ」）のみが表示されている。
【００６９】
次に、パッケージ一覧ページ４１０に基づいてパッケージのダウンロードが指示された場合の処理について説明する。図１４は、パッケージのダウンロード処理を説明するためのシーケンス図である。
【００７０】
ユーザが、パッケージ一覧ページ４１０においてダウンロードの対象とするパッケージに対するチェックボタン（チェックボタン４１２やチェックボタン４１３）をチェックし、ダウンロードボタン４１１をクリックすると、端末４０は、選択されたパッケージのダウンロードの要求を機器管理サーバ１０に対して送信する（Ｓ１２１）。ここで、ダウンロード対象として選択されたパッケージを以下、「対象パッケージ」という。
【００７１】
ステップＳ１２１に続いてステップＳ１２２に進み、ｈｔｔｐｄ１１によってＷｅｂアプリ１２が呼び出されると、Ｗｅｂアプリ１２は、ダウンロード部１４５に対してファイルサーバ２０のＵＲＬを問い合わせる（Ｓ１２３、Ｓ１２４）。ステップＳ１２４に続いてステップＳ１２５に進み、Ｗｅｂアプリ１２は、ダウンロード部１４５に対して対象パッケージのダウンロードを要求する。なお、ダウンロードの要求に際し、ステップＳ１２３及びＳ１２４において問い合わせた、ダウンロード元となるファイルサーバ２０のＵＲＬと、ダウンロードしたパッケージの保存場所のＵＲＬと、対象パッケージのパッケージ名と、既に同一のパッケージがダウンロードされている場合に上書きするか否かを示す情報とがＷｅｂアプリ１２からダウンロード部１４５に対して通知される。
【００７２】
ステップＳ１２５に続いてステップＳ１２６に進み、ダウンロード部１４５は、Ｗｅｂアプリ１２より通知された情報に基づいて、ファイルサーバ２０に対して対象パッケージの送信を要求する。ステップＳ１２６に続いてステップＳ１２７に進み、ファイルサーバ２０は、要求された対象パッケージをパッケージ記憶部２１より取得してダウンロード部１４５に対して送信する。ステップＳ１２７に続いてステップＳ１２８に進み、ダウンロード部１４５は、ファイルサーバ２０からの返信に基づいて、ダウンロードが完了したか否かを判断する。通常、ダウンロード部１４５とファイルサーバ２０とのやりとりは、複数回繰り返される。通信負荷を考慮して一つのパッケージが複数に分割されて扱われるからである。分割されたパッケージの転送が完全に完了した場合には、ファイルサーバ２０からの返信にその旨が含まれている。
【００７３】
ステップＳ１２６〜ステップＳ１２８までのステップを複数回繰り返し、ファイルサーバ２０から転送が完了した旨が返信されると（Ｓ１２９、Ｓ１３０）、ダウンロード部１４５は、ダウンロードが完了した旨を確認し、パッケージの送信要求をファイルサーバ２０に対して送信するのを止める（Ｓ１３１）。
【００７４】
ステップＳ１３１に続いてステップＳ１３２に進み、ダウンロード部１４５は、ファイルサーバ２０よりダウンロードしたパッケージをファイルとしてパッケージ記憶部１４３に保存すると共に、ダウンロード処理が成功したか否か等を示す情報をログ情報として保存する（Ｓ１３３）。更に、ダウンロード部１４５は、ファイルサーバ２０とのセッションを切断し（Ｓ１３４、Ｓ１３５）、ダウンロードが完了した旨をＷｅｂアプリ１２に対して通知する（Ｓ１３６）。
【００７５】
ステップＳ１３６に続いてステップＳ１３７に進み、Ｗｅｂアプリ１２が、ダウンロードが正常に完了したか否かを確認すべく、ダウンロード部１４５に対してログ情報の提供を要求すると、ダウンロード部１４５は、保存しておいたログ情報をＷｅｂアプリ１２に対して出力する（Ｓ１３８）。ログ情報において、ダウンロードが正常に完了していることが示されていた場合は、Ｗｅｂアプリ１２は、ダウンロードが完了した旨を通知するためのＷｅｂページ（以下、「ダウンロード完了ページ」という。）をｈｔｔｐｄ１１に対して出力する（Ｓ１３９）。
【００７６】
ダウンロード完了ページは、ｈｔｔｐｄ１１によって端末４０に送信され、端末４０のＷｅｂブラウザによって表示される（Ｓ１４０）。ユーザは、ダウンロード完了ページによってダウンロードが正常に完了したことを確認することができる。
【００７７】
上述において、ユーザによるダウンロードの指示は、パッケージ一覧ページ４１０において行われている。パッケージ一覧ページ４１０には、上述したように、有効なパッケージの情報のみが表示されている。したがって、ユーザにダウンロードの対象とするパッケージを選択させる際に、機器管理サーバ１０にとって不用なパッケージや、実際にはファイルサーバ２０に存在しないパッケージはどれであるか等の判断をユーザにさせる必要はなく、ユーザの負担を軽減させることができる。
【００７８】
次に、パッケージ一覧ページ４１０に表示されたパッケージの更に詳細な情報の表示をユーザから要求された場合の処理について説明する。図１５は、パッケージの詳細情報の提供処理を説明するためのシーケンス図である。
【００７９】
ユーザが、パッケージ一覧ページ４１０（図１３）において、パッケージ名が「ＡＡＡ」のパッケージ（以下、「パッケージＡＡＡ」という。）の詳細情報を確認すべく、パッケージ名に張られたリンク４１４をクリックすると、端末４０は、パッケージＡＡＡの詳細情報を表示させるＷｅｂページ（以下、「詳細ページ」という。）の送信要求を機器管理サーバ１０に対して送信する（Ｓ１５１）。
【００８０】
ステップＳ１５１に続いてステップＳ１５２に進み、ｈｔｔｐｄ１１によってＷｅｂアプリ１２が呼び出されると、Ｗｅｂアプリ１２は、パッケージメタ情報取得部１４６に対してパッケージＡＡＡの詳細情報の提供を要求する（Ｓ１５３）。ステップＳ１５３に続いてステップＳ１５４に進み、パッケージメタ情報取得部１４６は、ステップＳ９９〜ステップＳ１０７（図６）にかけてファイルサーバ２０より取得し、Ｗｅｂアプリ１２に解釈可能なデータ型に変換してあるパッケージ一覧、ｒｒｕファイル一覧及びファームウェア一覧等を所定の形式に編集して、編集結果をパッケージの詳細情報としてＷｅｂアプリ１２に対して出力する。
【００８１】
ステップＳ１５４に続いてステップＳ１５５に進み、Ｗｅｂアプリ１２は、取得した詳細情報を掲載した詳細ページを生成し、ｈｔｔｐｄ１１に対して出力する（Ｓ１５６）。詳細ページは、ｈｔｔｐｄ１１によって端末４０に送信され、端末４０のＷｅｂブラウザによって表示される（Ｓ１５７）。
【００８２】
図１６は、詳細ページの表示例を示す図である。図１６の詳細ページ４２０には、パッケージＡＡＡの詳細情報が表示されている。項目４２１、項目４２２には、パッケージ一覧２３０（図９）の記述２３６、記述２３４から抜き出されたパッケージＡＡＡのパッケージ名、パージョン情報が表示されている。項目４２３、項目４２４には、パッケージＡＡＡに含まれている各種ファームウェアのバージョン情報が、ファームウェア一覧２５０（図１１）の記述２５３、記述２５６等から抜き出されて表示されている。ユーザは、詳細ページ４２０を参照することで、パッケージ含まれているファームウェアの詳細情報等を確認することができる。
【００８３】
次に、機器管理サーバ１０にダウンロードされているパッケージのうち、任意のパッケージの削除（機器管理サーバ１０における削除）がユーザによって要求された場合の処理を説明する。図１７は、機器管理サーバにダウンロードされているパッケージの削除処理を説明するためのシーケンス図である。
【００８４】
ステップＳ１８１において、端末４０は、ユーザからの入力に基づいて、機器管理サーバ１０に既にダウンロードされているパッケージ（以下、「ダウンロードパッケージ」という。）の一覧情報を表示させるＷｅｂページ（以下、「ＤＰ一覧ページ」という。）の送信要求を機器管理サーバ１０に対して送信する。ユーザからの入力としては、パッケージ一覧ページの場合と同様に、ＷｅｂブラウザへのＤＰ一覧ページに対するＵＲＬの入力や、他のＷｅｂページからのページ切り替えの指示等が挙げられる。
【００８５】
ステップＳ１８１に続いてステップＳ１８２に進み、ｈｔｔｐｄ１１によってＷｅｂアプリ１２が呼び出されると、Ｗｅｂアプリ１２は、パッケージ削除部１４７に対してダウンロードパッケージの一覧情報（以下、「ＤＰ一覧」という。）を要求する（Ｓ１８３）。ステップＳ１８３に続いてステップＳ１８４に進み、パッケージ削除部１４７は、パッケージ記憶部１４３におけるフォルダ内のファイル名の一覧情報に基づいてＤＰ一覧を生成し、当該ＤＰ一覧をＷｅｂアプリ１２に対して出力する（Ｓ１８５）。すなわち、ダウンロードパッケージは、そのパッケージ名をファイル名とするファイルとして保存されているため、そのファイル名の一覧情報は、ダウンロードパッケージのパッケージ名の一覧情報となる。
【００８６】
ステップＳ１８５に続いてステップＳ１８６に進み、Ｗｅｂアプリ１２は、パッケージ削除部１４７より取得したＤＰ一覧に基づいて、ＤＰ一覧ページを生成し、当該ＤＰ一覧ページをｈｔｔｐｄ１１に対して出力する（Ｓ１８７）。ステップＳ１８７に続いてステップＳ１８８に進み、ｈｔｔｐｄ１１が、ＤＰ一覧ページを端末４０に対して送信すると、ＤＰ一覧ページは、端末４０のＷｅｂブラウザによって表示される。
【００８７】
図１８は、ＤＰ一覧ページの表示例を示す図である。図１８に示されるように、ＤＰ一覧ページ４３０には、ダウンロードパッケージのパッケージ名の一覧が表示されている。
【００８８】
ステップＳ１８８に続いてステップＳ１８９に進み、ユーザが、ＤＰ一覧ページ４３０において、削除対象とするパッケージに対するチェックボタン（チェックボタン４３２やチェックボタン４３３）をチェックし、削除ボタン４３１をクリックすると、端末４０は、選択されたパッケージの削除要求を機器管理サーバ１０に対して送信する（Ｓ１８９）。ここで、削除対象として選択されたパッケージを以下、「対象パッケージ」という。
【００８９】
ステップＳ１８９に続いてステップＳ１９０に進み、ｈｔｔｐｄ１１によってＷｅｂアプリ１２が呼び出されると、Ｗｅｂアプリ１２は、パッケージ削除部１４７に対して対象パッケージの削除を要求する（Ｓ１９１）。ステップＳ１９１に続いてステップＳ１９２に進み、パッケージ削除部１４７は、対象パッケージを削除し、削除した旨をＷｅｂアプリ１２に対して通知する（Ｓ１９３）。
【００９０】
ステップＳ１９３に続いてステップＳ１９４に進み、Ｗｅｂアプリ１２が、正常に削除が完了した旨を通知するＷｅｂページ（以下、「削除完了ページ」という。）をｈｔｔｐｄ１１に対して出力すると、ｈｔｔｐｄ１１は、削除完了ページを端末４０に対して送信する（Ｓ１９５）。削除完了ページは、端末４０のＷｅｂブラウザによって表示され、ユーザは、対象パッケージの削除が正常に実行されたことを確認することができる。
【００９１】
このように、ダウンロードパッケージが削除されることで、不要なパッケージによって占められている記憶領域が開放され、補助記憶装置１０２が効率的に利用され得る。
【００９２】
次に、機器管理サーバ１０にダウンロードされパッケージ記憶部１４３に保存されているパッケージによる画像形成装置３１のアップデート処理について説明する。図１９及び図２０は、画像形成装置のファームウェアのアップデート処理を説明するためのシーケンス図である。
【００９３】
ステップＳ２０１において、端末４０は、ユーザからの入力に基づいて、アップデートの対象とするパッケージ及び画像形成装置を選択させるためのＷｅｂページ（以下、「アップデート指示ページ」という。）の送信要求（ＨＴＴＰリクエスト）を機器管理サーバ１０に対して送信する。ユーザからの入力としては、Ｗｅｂブラウザへのアップデート指示ページに対するＵＲＬの入力や、他のＷｅｂページからのページ切り替えの指示等が挙げられる。
【００９４】
ステップＳ２０１に続いてステップＳ２０２に進み、端末４０からのＨＴＴＰリクエストを受信したｈｔｔｐｄ１１は、Ｗｅｂアプリ１２を呼び出し、Ｗｅｂアプリ１２に対してアップデート指示ページの生成を要求する。ステップＳ２０２に続いてステップＳ２０３に進み、Ｗｅｂアプリ１２は、機器管理部１３の機器一覧提供部１３１に対して、機器管理サーバ１０の管理下にある画像形成装置の一覧情報（機器一覧）の提供を要求する。
【００９５】
ステップＳ２０３に続いてステップＳ２０４に進み、機器一覧提供部１３１は、機器情報記憶部１３２より機器一覧を取得し、当該機器一覧（図１２）をＷｅｂアプリ１２に対して出力する。ステップＳ２０４に続いてステップＳ２０５に進み、Ｗｅｂアプリ１２は、ソフトウェア管理部１４のパッケージ一覧提供部１４１に対して、ファイルサーバ２０より機器管理サーバ１０に既にダウンロードされパッケージ記憶部１４３に保存されているパッケージの一覧情報（ＤＰ一覧）の提供を要求する。
【００９６】
ステップＳ２０５に続いてステップＳ２０６に進み、パッケージ一覧提供部１４１は、パッケージ記憶部１４３に保存されているパッケージのファイル名の一覧情報に基づいてＤＰ一覧を生成し、当該ＤＰ一覧をＷｅｂアプリ１２に対して出力する。なお、パッケージ名は、画像形成装置のモデル名に対応しているため、ＤＰ一覧は、機種の一覧にも該当する。
【００９７】
ステップＳ２０６に続いてステップＳ２０７に進み、Ｗｅｂアプリ１２は、ＤＰ一覧のモデル名と機器一覧のモデル名との論理積をとることにより、ＤＰ一覧の中から、機器管理サーバ１０の管理下にある画像形成装置の機種に対応したパッケージの一覧情報を抽出する。
【００９８】
すなわち、アップデート指示ページは、アップデートの対象とされるパッケージをユーザに選択させるために、パッケージの一覧情報を表示させる必要がある。ところが、ＤＰ一覧におけるすべてのパッケージが、機器管理サーバ１０の管理下にある画像形成装置に対応しているものであるとは限らない。機器管理サーバ１０の管理下の画像形成装置の増減等が考えられるところ、かかる増減と同期をとって、パッケージ記憶部１４３内のパッケージの増減が行われているとは限らないからである。
【００９９】
また、機器管理サーバ１０の管理下にある全ての機種に対するパッケージが、ＤＰ一覧に含まれているとは限らない。当該パッケージが、まだファイルサーバ２０からダウンロードされていない場合もあるからである。
【０１００】
したがって、仮に、パッケージ記憶部１４３に基づくＤＰ一覧をそのままアップデート指示ページに掲載したとすると、機器管理サーバ１０の管理下にない機種に対するパッケージ、すなわち、アップデートの対象となり得ないパッケージの情報までユーザに提示することにもなり得る。一方、機器情報記憶部１３２より取得した機器一覧のみに基づいてアップデート指示ページを生成したとすると、機器管理サーバ１０には管理されていない、すなわち、アップデートが不可能なパッケージの情報をアップデートの候補としてユーザに提示することになる。
【０１０１】
そこで、かかる事態を回避し、有効なパッケージの情報のみをユーザに提供するため、Ｗｅｂアプリ１２は、ＤＰ一覧の中から機器管理サーバ１０の管理下にある画像形成装置に対応した情報を抽出しているのである。なお、図１２の機器一覧は、機種ＡＡＡと機種ＢＢＢとの情報によって構成されているため、本実施の形態においては、ＤＰ一覧の中から、機種ＡＡＡ及び機種ＢＢＢに対応するパッケージが抽出される。ここで抽出されたパッケージの一覧情報を以下、「抽出パッケージ一覧」という。
【０１０２】
ステップＳ２０７に続いてステップＳ２０８に進み、Ｗｅｂアプリ１２は、機器一覧提供部１３１に対し、抽出パッケージ一覧における先頭のパッケージ（以下、「先頭パッケージ」という。）が対応する機種に属する画像形成装置の一覧情報の提供を要求する。ステップＳ２０８に続いてステップＳ２０９に進み、機器一覧提供部１３１は、機器情報記憶部１３２より、先頭パッケージが対応する機種に属する機器一覧を検索し、検索された機器一覧をＷｅｂアプリ１２に対して出力する。例えば、先頭パッケージが機種ＡＡＡに対応するものであれば、図１２より、１行目、３行目及び４行目のレコードに対応する画像形成装置の情報によって構成される機器一覧が検索されることになる。なお、ここで検索された機器一覧は、アップデート指示ページ上において、ファームウェアのアップデート対象とする画像形成装置を選択させるための情報として利用される。
【０１０３】
ステップＳ２０９に続いてステップＳ２１０に進み、Ｗｅｂアプリ１２は、ソフトウェア管理部１４のパッケージメタ情報提供部１４２に対して、パッケージ記憶部１４３に管理されているパッケージのメタ情報（以下、「パッケージメタ情報」という。）の提供を要求する。ステップＳ２１０に続いてステップＳ２１１に進み、パッケージメタ情報提供部１４２は、パッケージメタ情報記憶部１４４よりパッケージメタ情報を取得し、当該パッケージメタ情報をＷｅｂアプリ１２に対して出力する。
【０１０４】
図２１、図２２及び図２３は、パッケージメタ情報記憶部に管理されているパッケージメタ情報の構成例を示す図である。図２１等に示されるように、本実施の形態におけるパッケージメタ情報１４５は、ＸＭＬによって定義されている。図２１等において、開始タグ１４５１（図２１）と終了タグ１４５８（図２３）とによって囲まれた記述は、一つのパッケージに対するメタ情報の定義である。
【０１０５】
記述１４５２は、パッケージに関するヘッダ情報を示しており、例えば、ダウンロード先のＵＲＬ（記述１４５２ａ）、パッケージの解凍先のパス名（記述１４５２ｂ）、パッケージのサイズ（記述１４５２ｃ）、パッケージのＩＤ（識別情報）（記述１４５２ｄ）、当該パッケージが対応するモデル名（記述１４５２ｅ）等が示されている。
【０１０６】
それぞれｔｙｐｅ属性の値が「ｒｒｕ」である＜ｏｂｊｅｃｔ＞タグで囲まれた構造体である記述１４５３（図２１）、記述１４５４、記述１４５５（図２２）、記述１４５６及び記述１４５７（図２３）は、当該パッケージ内に含まれている各ｒｒｕファイルのメタ情報を示している（第一の要素情報）。したがって、当該パッケージには５つのｒｒｕファイルが含まれていることが分かる。各ｒｒｕファイルのメタ情報は、ヘッダ情報と、ｒｒｕファイルに含まれている各ファームウェアのメタ情報とから構成されている。
【０１０７】
例えば、記述１４５３（図２１）において記述１４５３−１は当該ｒｒｕファイルに対するヘッダ情報であり、ｒｒｕファイルのＩＤ（識別情報）（記述１４５３−１ａ）、サイズ記述１４５３−１ｂ）等が示されている。また、ｒｒｕファイルのメタ情報の子要素として、それぞれｔｙｐｅ属性の値が「ｍｏｄｕｌｅ」である＜ｏｂｊｅｃｔ＞タグで囲まれた構造体である記述１４５３−２及び記述１４５３−３は、当該ｒｒｕファイルに含まれている各ファームウェアのメタ情報を示している（第二の要素情報）。したがって、当該ｒｒｕファイルには２つのファームウェアが含まれていることが分かる。
【０１０８】
各ファームウェアのメタ情報は、アップデート必要時間（例えば、記述１４５３−２ａ）、アップデートタイムアウト判定時間（１４５３−２ｂ）、ファームウェアの名前（例えば、記述１４５３−２ｄ）、ファームウェアのバージョン情報（例えば、記述１４５３−２ｆ）、ファームウェアの識別情報（例えば、記述１４５３−２ｃ、記述１４５３−２ｄ、記述１４５３−２ｇ）等から構成されている。ここでアップデート必要時間とは、当該ファームウェアが画像形成装置において適用処理（アップロート゛）されるのに要する時間である。アップデートタイムアウト判定時間の意味については後述する。
【０１０９】
なお、パッケージメタ情報１４５は、ステップＳ９９〜Ｓ１０６（図６）においてファイルサーバ２０より取得されたパッケージ一覧２３０、ｒｒｕファイル一覧２４０及びファームウェア一覧２５０に含まれている情報がパッケージごとにマージされたものである。
【０１１０】
ステップＳ２１１に続いてステップＳ２１２に進み、Ｗｅｂアプリ１２は、ステップＳ２０７において生成した抽出パッケージ一覧と、ステップＳ２０９において取得した先頭パッケージが対応する機種に属する機器一覧とに基づいてアップデート指示ページを生成し、当該アップデート指示ページをｈｔｔｐｄ１１に対して出力する（Ｓ２１３）。ステップＳ２１３に続いてステップＳ２１４に進み、ｈｔｔｐｄ１１が、アップデート指示ページを端末４０に送信すると、アップデート指示ページが端末４０のＷｅｂブラウザによって表示される。
【０１１１】
図２４は、アップデート指示ページの表示例を示す図である。図２４に示されるように、アップデート指示ページ４４０は、コンボボックス４４１、テーブル４４２、アップロード時期指定領域４４３、及びアップデートボタン４４４等から構成されている。
【０１１２】
コンボボックス４４１は、抽出パッケージ一覧の中から実際にアップデートの対象とするパッケージを選択させるためのものである。初期状態では、先頭パッケージのパッケージ名が表示されている。
【０１１３】
テーブル４４２は、コンボボックス４４１において選択されたパッケージの対応する機種に属する画像形成装置の一覧が表示される領域である。すなわち、コンボボックス４４１において現在選択されているパッケージと異なるパッケージが選択されると、その旨が機器管理サーバ１０に通知され、上述したステップＳ２０８〜Ｓ２１４が実行されることにより、新たに選択されたパッケージの対応する機種に属する画像形成装置の一覧が、テーブル４４２に表示される。また、テーブル４４２において、チェックボタン４１５がチェックされることにより、アップデート対象とされる画像形成装置が選択される。
【０１１４】
アップロード時期指定領域４４３は、機器管理サーバ１０がファームウェアのアップロードを実行するタイミング（時期）を選択させるための領域である。例えば、すぐにアップロードを実行するか、又は時間指定によってアップロードを実行するかを指定させることができ、後者の場合は更に、アップロードを実行する時間を指定させることができる。アップデートボタン４４４は、アップデートの指示を機器管理サーバ１０に対して送信するためのボタンである。
【０１１５】
なお、テーブル４４２にその情報が表示されている各画像形成装置のＩＰアドレスには、当該画像形成装置にインストールされている現在のファームウェアのバージョン情報等（以下、「ファームウェア情報」という。）が表示されるＷｅｂページ（以下、「ファームウェア情報ページ」という。）に対するリンクが張られている。したがって、ユーザが、ファームウェア情報を確認したい画像形成装置のＩＰアドレスをクリックすると、ファームウェア情報ページが表示される。
【０１１６】
図２５は、ファームウェア情報ページの表示例を示す図である。図２５に示されるように、ファームウェア情報ページ４５０には、画像形成装置にインストールされている各ファームウェア（システム、ネットーク、プリンタ、エンジン、スキャナ等）のバージョン情報が表示されている。ユーザは、ファームウェア情報ページを参照することにより、当該画像形成装置のファームウェアを更新する必要があるか等を確認することができる。
【０１１７】
アップデート指示ページ４４０において、アップデート対象とするパッケージ及び画像形成装置（以下、それぞれ「対象パッケージ」、「対象機器」という。）が選択され、アップデートボタン４４４がクリックされると、端末４０は、機器管理サーバ１０に対して、ファームウェアのアップデートの要求を送信する。なお、ここでは、対象パッケージに、パッケージＡＡＡが、対象機器に画像形成装置３１が選択されたものとする（Ｓ２１５）。
【０１１８】
ステップＳ２１５に続いてステップＳ２１６に進み、ｈｔｔｐｄ１１によってＷｅｂアプリ１２が呼び出されると（Ｓ２１６）、Ｗｅｂアプリ１２は、機器管理部１３のアップデート処理部１３３に対して対象パッケージの画像形成装置３１に対するアップロードを要求する（Ｓ２１７）。なお、Ｗｅｂアプリ１２からのアップロード要求に伴って、アップデートの対象となる画像形成装置を識別するための情報として画像形成装置３１のＩＰアドレスと、ステップＳ２１１において入手されたパッケージメタ情報とがアップデート処理部１３３に渡される。
【０１１９】
ステップＳ２１７に続いてステップＳ２１８に進み、アップデート処理部１３３は、アップロード要求を受け付けた旨をＷｅｂアプリ１２に対して応答すると、画像形成装置３１に対するパッケージのアップロード処理を開始する。ステップＳ２１８に続いてステップＳ２１９（図２０）に進み、アップデート処理部１３３は、画像形成装置３１の通信制御部３１１に対してログインを実行する。なお、本実施の形態において、アップデート処理部１３３と画像形成装置３１との通信は、ＦＴＰによって行われる例について説明するが、他のプロトコルを用いて実現してもよい。
【０１２０】
ステップＳ２１９に続いてステップＳ２２０に進み、アップデート処理部１３３は、対象パッケージをパッケージ記憶部１４３より取り出し、当該対象パッケージをｐｕｔコマンドによって画像形成装置３１のパッケージ一時記憶部３１３にアップロードする。ステップＳ２２１に続いてステップＳ２２２に進み、アップデート処理部１３３は、画像形成装置３１からログアウトすると、パッケージメタ情報１４５（図２１等）においてファームウェアごとに定義されているアップデート必要時間を合計した時間だけ待機する。
【０１２１】
一方、画像形成装置３１においては、アップデート制御部３１２が、アップデート処理部１３３によってアップロードされた対象パッケージのアップデート処理を実行する（Ｓ２２３）。具体的には、画像形成装置３１が、パッケージ一時記憶部３１３にアップロードされた対象パッケージに含まれるファームウェアを、当該ファームウェアが実行時に配置されるべき場所（ファームウェア記憶部３１４）に適用すると共に、バージョン記憶部３１６に管理されているファームウェアのバージョン情報の値を、新たに適用したファームウェアのバージョンに更新する。
【０１２２】
図２６は、バージョン記憶部に管理されているファームウェアのバージョン情報の構成例を示す図である。図２６に示されるように、ファームウェアのバージョン情報は、ファームウェアごとに、ファームウェア名、ファームウェアＩＤ、及びバージョン等の情報から構成される。
【０１２３】
ステップＳ２２３に続いてステップＳ２２４に進み、アップデート制御部３１２は、画像形成装置３１をリセット（再起動）することにより、ファームウェアの適用を画像形成装置３１の動作に反映させる。なお、アップデート制御部３１２は、パッケージのアップデート処理においてエラーが発生した場合には、当該エラーのエラー情報をエラー情報記憶部３１５に保存しておく。
【０１２４】
図２７は、エラー情報記憶部におけるエラー情報の構成例を示す図である。図２７に示されるように、エラー情報は、発生したエラーごとにエラーコード及びエラーが発生したファームウェアのＩＤによって構成される。エラーコードは、発生したエラーを一意に識別するための情報である。エラーが発生したファームウェアのＩＤは、アップデートに失敗したファームウェアのファームウェアＩＤである。
【０１２５】
機器管理サーバ１０のアップデート処理部１３３は、アップデート必要時間だけ処理を待機すると、画像形成装置３１に対して再びログインを試みる。ここで、ステップＳ２２５のように、画像形成装置３１において、リセット処理が実行されている最中に当該ログインが実行された場合は、画像形成装置３１からログイン要求に対する応答が無い。したがって、アップデート処理部１３３は、当該応答が無いことにより画像形成装置３１においてアップデート処理が完了していない旨を検知し、ログインに成功するまで画像形成装置３１に対するログインを実行する（Ｓ２２６）。ログインを繰り返すことによって、アップデート処理部１３３は、アップデート処理の完了を検知することができる。
【０１２６】
但し、アップデート処理部１３３は、ステップＳ２２２においてアップデート必要時間だけ待機しているため、待機後の最初のログインによってログインが成功する可能性が高い。また、最初のログインで失敗したとしても、待機せずにステップＳ２２１以降にログイン処理を繰り返す場合に比べて、ログイン処理の回数が抑制され、ネットワーク負荷が低減され得る。なお、アップデート必要時間は経験値等に基づいて定めておけばよい。本実施の形態のように、アップデート必要時間を、アップデート処理部１３３のプログラムロジックからは独立してパッケージメタ情報記憶部１４４において管理するようにすれば、アップデート必要時間の設定変更等は容易に行うことができる。
【０１２７】
ログインに成功すると（Ｓ２２７）、アップデート処理部１３３は、画像形成装置３１においてアップデート処理が完了したものと判断し、画像形成装置３１に対してエラー情報の提供を要求する（Ｓ２２８）。ステップＳ２２８に続いてステップＳ２２９に進み、画像形成装置３１は、エラー情報記憶部３１５にエラー情報が保存されている場合は当該エラー情報を、エラーが発生していない場合は、その旨をアップデート処理部１３３に対して送信する。
【０１２８】
ここで、ステップＳ２２５からステップＳ２２９にかけての一連の処理の流れをフローチャートによって詳細に説明する。図２８は、アップデート処理部による画像形成装置におけるアップデート処理の完了の確認処理を説明するためのフローチャートである。
【０１２９】
ログインを要求し（Ｓ３０１：図２０のステップＳ２２５又はＳ２２６に相当）、ログインが成功すると（Ｓ３０２においてＹｅｓ）画像形成装置３１よりエラー情報を取得する（Ｓ３０３：図２０のステップＳ２２８及びＳ２２９に相当）。画像形成装置３１より取得した情報に基づいて、アップデート処理にエラーが発生しているか否かを判断し（Ｓ３０４）、エラーが発生している場合は、所定時間待機した後（Ｓ３０５）、ステップＳ２２０以降のアップロード処理を再び繰り返す（Ｓ３０６）。エラーが発生していない場合は、正常終了を処理結果として設定する（Ｓ３０７）。
【０１３０】
一方、ログインに失敗した場合は（Ｓ３０２においてＮｏ）、ステップＳ３０１における最初の（一回目の）ログイン要求を実行してから、ファームウェアごとに定義されているアップデートタイムアウト判定時間を合計した時間が経過したか否かを判断する（Ｓ３０８）。アップデートタイムアウト判定時間が既に経過している場合は、タイムアウトエラーを処理結果として設定する（Ｓ３０９）。アップデートタイムアウト判定時間がまだ経過していない場合は、再びログイン（Ｓ３０１）以降を繰り返す。すなわち、ログインに失敗した場合に、アップデートタイムアウト判定時間によって示される期限の経過を確認することにより、アップデート処理部１３３によるログイン処理が無限に繰り返されることが防止されるというわけである。
【０１３１】
図２０に戻る。ステップＳ２２９に続いてステップＳ２３０に進み、アップデート処理部１３３は、ステップＳ３０７又はＳ３０９（図２８）において設定した処理結果よりエラーが発生したか否かをチェックする。ステップＳ２３０に続いてステップＳ２３１に進み、アップデート処理部１３３は、画像形成装置３１に対し、現在のファームウェアのバージョン情報の提供を要求する。ステップＳ２３１に続いてステップＳ２３２に進み、画像形成装置３１は、ファームウェアのバージョン情報をバージョン記憶部３１６より取得し、アップデート処理部１３３に対して送信する。
【０１３２】
ステップＳ２３２に続いてステップＳ２３３に進み、アップデート処理部１３３は、パッケージメタ情報１４５（図２１等）に示されている、対象パッケージに含まれているファームウェアのバージョン情報と、画像形成装置３１より取得したバージョン情報とが一致するか否かを判断することにより、対象パッケージに含まれているファームウェアが画像形成装置３１において正常にアップデートされたか否かをチェックする。当該チェックによって、エラーとして検出されなかった異常の発生によってアップデート処理が正常に実行されなかった場合であっても、アップデート処理部１３３は、アップデート処理に失敗した旨を検出することができる。
【０１３３】
ステップＳ２３３に続いてステップＳ２３４に進み、アップデート処理部１３３は、画像処理装置３１からログアウトする。
【０１３４】
一方、Ｗｅｂアプリ１２は、アップデート処理部１３３に対してパッケージのアップデートの要求を行った後（Ｓ２１７）、アップデートの処理が完了したか否かを確認するための問い合わせをアップデート処理部１３３に対して定期的に行っている（Ｓ２３５〜Ｓ２４０）。アップデート処理部１３３は、当該問い合わせに対して、ステップＳ２３４のログアウト処理が完了している場合は、アップデート処理が完了した旨を応答する（完了通知）（Ｓ２４１）。
【０１３５】
アップデート処理部１３３より完了通知があった場合は、ステップＳ２４２に進み、Ｗｅｂアプリ１２は、アップデート処理部１３３よりアップデート処理が正常に完了したか否かを示す情報（処理結果）を取得する（Ｓ２４３）。ステップＳ２４３に続いてステップＳ２４４に進み、Ｗｅｂアプリ１２は、ステップＳ２４３において取得した処理結果を表示させるＷｅｂページ（以下、「結果表示ページ」という。）を生成し、当該結果表示ページをｈｔｔｐｄ１１に対して出力する（Ｓ２４５）。ステップＳ２４５に続いてステップＳ２４６に進み、ｈｔｔｐｄ１１が結果表示ページを端末４０に対して送信すると、結果表示ページは端末４０のＷｅｂブラウザによって表示される。
【０１３６】
図２９は、結果表示ページの表示例を示す図である。図２９に示されるように、結果表示ページ４６０には、アップデートが完了した画像形成装置の一覧と、その処理結果が表示されている。
【０１３７】
このように、本実施の形態における機器管理サーバ１０は、画像形成装置３１においてアップデートが完了した旨を確認した後に、アップデート処理が完了した旨を表示させる結果表示ページ４６０を端末４０に対して送信するため、端末４０のユーザは、結果表示ページ４６０によって、画像形成装置３１におけるアップデート処理の結果をタイムリーに確認することができる。
【０１３８】
なお、近年においては、ある特定の機能に特化した組み込み機器においてもＷｅｂサーバとして機能するもの等、コンピュータと同等の情報処理を実行することができるものが提供されている。例えば、融合機、又は複合機と呼ばれる、プリンタ、コピー、又はファクシミリ等の複合サービスに固有の処理を行う複数のアプリケーションを有する画像形成装置もかかる機器に該当する。最近の画像形成装置には、Ｗｅｂサーバとしての機能を有し、アプリケーションの実装が可能なものもある。
【０１３９】
したがって、このような画像形成装置を用いて、本実施の形態における機器管理システム１を構成しても本発明の効果を同様に得ることができる。図３０は、画像形成装置を機器管理サーバとした機器管理システムの構成例を示す図である。図３０中、図２と同一部分には同一符号を付し、その説明は省略する。
【０１４０】
図３０と図２とを比較すると、図３０には機器管理サーバ１０が無い代わりに、画像形成装置３１に機器管理サーバ１０に実装されていた機能（ｈｔｔｐｄ３０１、Ｗｅｂアプリ３０２、機器管理部３０３及びソフトウェア管理部３０４等）が実装されている。
【０１４１】
したがって、かかる形態においても、画像形成装置３１を機器管理サーバ１０と同様に機能させることにより、本発明による効果を同様に得ることができる。
【０１４２】
なお、本実施の形態においては、機器管理サーバ１０内に機器管理部１３及びソフトウェア管理部１４を実装した例（図５）について説明したが、これらの機能は、他のコンピュータに実装してもよい。例えば、機器管理部１３を実装したコンピュータとソフトウェア管理部１４を実装したコンピュータとを機器管理システム１の構成要素とし、機器管理サーバ１０におけるＷｅｂアプリ１２が、これらのコンピュータと通信することによって、機器管理部１３及びソフトウェア管理部１４の機能を利用するようにすればよい。この場合、機器管理部１３及びソフトウェア管理部１４をそれぞれのコンピュータにおいてＷｅｂサービスとして実装し、Ｗｅｂアプリ１２との通信をＳＯＡＰによって行うようにすれば、Ｗｅｂアプリ１２は、ＳＯＡＰのＲＰＣによって機器管理部１３及びソフトウェア管理部１４の機能を利用することができ、Ｗｅｂアプリ１２の実装を、機器管理部１３等が機器管理サーバ１０に実装されている場合とほぼ同様のものとすることができる。
【０１４３】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１４４】
【図１】遠隔操作によって機器のファームウェアを更新する手順を説明するための図である。
【図２】本発明の実施の形態における機器管理システムの構成例を示す図である。
【図３】ファイルサーバにおいて管理されているソフトウェアの構成を説明するための図である。
【図４】本発明の実施の形態における機器管理サーバのハードウェア構成例を示す図である。
【図５】本発明の実施の形態における機器管理システムの機能構成例を示す図である。
【図６】ダウンロード可能なパッケージの一覧情報の提供処理を説明するためのシーケンス図である。
【図７】ダウンロード可能なパッケージの一覧情報の提供処理を説明するためのシーケンス図である。
【図８】ファイルサーバより送信されるＵＲＬ一覧の例を示す図である。
【図９】ファイルサーバより送信されるパッケージ一覧の例を示す図である。
【図１０】ファイルサーバより送信されるｒｒｕファイル一覧の例を示す図である。
【図１１】ファイルサーバより送信されるファームウェア一覧の例を示す図である。
【図１２】機器情報記憶部に管理されている機器一覧の構成例を示す図である。
【図１３】パッケージ一覧ページの表示例を示す図である。
【図１４】パッケージのダウンロード処理を説明するためのシーケンス図である。
【図１５】パッケージの詳細情報の提供処理を説明するためのシーケンス図である。
【図１６】詳細ページの表示例を示す図である。
【図１７】機器管理サーバにダウンロードされているパッケージの削除処理を説明するためのシーケンス図である。
【図１８】ＤＰ一覧ページの表示例を示す図である。
【図１９】画像形成装置のファームウェアのアップデート処理を説明するためのシーケンス図である。
【図２０】画像形成装置のファームウェアのアップデート処理を説明するためのシーケンス図である。
【図２１】パッケージメタ情報記憶部に管理されているパッケージメタ情報の構成例を示す図である。
【図２２】パッケージメタ情報記憶部に管理されているパッケージメタ情報の構成例を示す図である。
【図２３】パッケージメタ情報記憶部に管理されているパッケージメタ情報の構成例を示す図である。
【図２４】アップデート指示ページの表示例を示す図である。
【図２５】ファームウェア情報ページの表示例を示す図である。
【図２６】バージョン記憶部に管理されているファームウェアのバージョン情報の構成例を示す図である。
【図２７】エラー情報記憶部におけるエラー情報の構成例を示す図である。
【図２８】アップデート処理部による画像形成装置におけるアップデート処理の完了の確認処理を説明するためのフローチャートである。
【図２９】結果表示ページの表示例を示す図である。
【図３０】画像形成装置を機器管理サーバとした機器管理システムの構成例を示す図である。
【符号の説明】
【０１４５】
１              機器管理システム
１０            機器管理サーバ
１１            ｈｔｔｐｄ
１２            Ｗｅｂアプリ
１３            機器管理部
１４            ソフトウェア管理部
２０            ファイルサーバ
２１            パッケージ記憶部
２２            パッケージメタ情報記憶部
３１、３２      画像形成装置
１００          ドライブ装置
１０１          記録媒体
１０２          補助記憶装置
１０３          メモリ装置
１０４          演算処理装置
１０５          インタフェース装置
１３１          機器一覧提供部
１３２          機器情報記憶部
１３３          アップデート処理部
１３４          機器一覧取得部
１４１          パッケージ一覧提供部
１４２          パッケージメタ情報提供部
１４３          パッケージ記憶部
１４４          パッケージメタ情報記憶部
１４５          ダウンロード部
１４６          パッケージメタ情報取得部
１４７          パッケージ削除部
２１０          パッケージ
２１１、２１２  ｒｒｕファイル
２２０          ＵＲＬ一覧
２３０          パッケージ一覧
２４０          ｒｒｕファイル一覧
２５０          ファームウェア一覧
３０１          ｈｔｔｐｄ
３０２          Ｗｅｂアプリ
３０３          機器管理部
３０４          ソフトウェア管理部
３１１          通信制御部
３１２          アップデート制御部
３１３          パッケージ一時記憶部
３１４          ファームウェア記憶部
３１５          エラー情報記憶部
３１６          バージョン記憶部
４１０          パッケージ一覧ページ
４２０          詳細ページ
４３０          ＤＰ一覧ページ
４４０          アップデート指示ページ
４５０          ファームウェア情報ページ
４６０          結果表示ページ
５０１          端末
５０２          機器管理サーバ
５０３          ファイルサーバ
５０４          ネットワーク機器
５００          システム
Ｂ              バス
【図１】
0004698182.tif 000002
【図２】
0004698182.tif 000003
【図３】
0004698182.tif 000004
【図４】
0004698182.tif 000005
【図５】
0004698182.tif 000006
【図６】
0004698182.tif 000007
【図７】
0004698182.tif 000008
【図８】
0004698182.tif 000009
【図９】
0004698182.tif 000010
【図１０】
0004698182.tif 000011
【図１１】
0004698182.tif 000012
【図１２】
0004698182.tif 000013
【図１３】
0004698182.tif 000014
【図１４】
0004698182.tif 000015
【図１５】
0004698182.tif 000016
【図１６】
0004698182.tif 000017
【図１７】
0004698182.tif 000018
【図１８】
0004698182.tif 000019
【図１９】
0004698182.tif 000020
【図２０】
0004698182.tif 000021
【図２１】
0004698182.tif 000022
【図２２】
0004698182.tif 000023
【図２３】
0004698182.tif 000024
【図２４】
0004698182.tif 000025
【図２５】
0004698182.tif 000026
【図２６】
0004698182.tif 000027
【図２７】
0004698182.tif 000028
【図２８】
0004698182.tif 000029
【図２９】
0004698182.tif 000030
【図３０】
0004698182.tif 000031