(57)【特許請求の範囲】
【請求項１】
ファームウェアを配信するサーバシステムと通信可能な画像形成装置であって、
前記サーバシステムから配信された適用前のファームウェアを格納しておく格納手段と、
ユーザからの指示を受けて前記格納手段に格納されているファームウェアの前記画像形成装置への適用を開始する場合に、前記サーバシステムに適用開始の通知を行う通知手段と、
前記通知手段の通知に応じて前記サーバシステムから前記ファームウェアの適用を許可する旨の応答を受けた場合には前記ファームウェアを前記画像形成装置に適用し、一方、前記ファームウェアの適用を禁止する旨の応答を受けた場合には前記ファームウェアを前記画像形成装置に適用しないように制御する第１の適用手段と、
定期的に、前記格納手段に格納されている適用前のファームウェアを削除するか否かを前記サーバシステムに対して確認する第１の確認手段と、
前記第１の確認手段の確認に応じて前記サーバシステムから前記ファームウェアを削除する旨の応答を受けた場合には前記格納手段に格納されている適用前のファームウェアを削除する削除手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記第１の適用手段は、前記通知手段の通知に応じて前記ファームウェアの適用を禁止する旨の応答を受けた場合には前記ファームウェアを前記格納手段から削除することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
定期的に、当該画像形成装置に配信すべきファームウェアの有無を前記サーバシステムに対して確認する第２の確認手段と、
前記第２の確認手段の確認に応じて前記配信すべきファームウェアが有る旨の応答を受けた場合には前記サーバシステムに対して前記配信すべきファームウェアの配信を依頼する配信依頼手段と、
前記配信依頼手段の依頼に応じて前記サーバシステムから配信されたファームウェアを受信して前記格納手段に格納する受信手段と、
前記受信手段が受信して前記格納手段に格納したファームウェアに対して前記サーバシステムにて自動適用を行う旨の指示がなされている場合には、該ファームウェアを当該画像形成装置に適用する第２の適用手段と、
を有することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
画像形成装置と、前記画像形成装置に対してファームウェアを配信するサーバシステムとを有するネットワークシステムであって、
前記画像形成装置は、
前記サーバシステムから配信された適用前のファームウェアを格納しておく格納手段と、
ユーザからの指示を受けて前記格納手段に格納されているファームウェアの前記画像形成装置への適用を開始する場合に、前記サーバシステムに適用開始の通知を行う通知手段と、
前記通知手段の通知に応じて前記サーバシステムから前記ファームウェアの適用を許可する旨の応答を受けた場合には前記ファームウェアを前記画像形成装置に適用し、一方、前記ファームウェアの適用を禁止する旨の応答を受けた場合には前記ファームウェアを前記画像形成装置に適用しないように制御する第１の適用手段と、
定期的に、前記格納手段に格納されている適用前のファームウェアを削除するか否かを前記サーバシステムに対して確認する第１の確認手段と、
前記第１の確認手段の確認に応じて前記サーバシステムから前記ファームウェアを削除する旨の応答を受けた場合には前記格納手段に格納されている適用前のファームウェアを削除する削除手段と、を有し、
前記サーバシステムは、
前記画像形成装置にてユーザからの指示を受けて前記配信されたファームウェアの適用を開始する場合に行われる前記画像形成装置からの通知に応じて、前記画像形成装置に配信されたファームウェアの適用を許可するか禁止するかを判定し、前記ファームウェアの適用を許可する旨又は禁止する旨の応答を前記画像形成装置に返信する第１の返信手段と、
定期的に行われる前記画像形成装置からの適用前のファームウェアの削除確認に応じて、前記画像形成装置に配信された適用前のファームウェアを削除するか否かを判定し、前記ファームウェアを削除する旨又は削除しない旨の応答を前記画像形成装置に返信する第２の返信手段と、を有する、
ことを特徴とするネットワークシステム。
【請求項５】
前記第１の適用手段は、前記通知手段の通知に応じて前記ファームウェアの適用を禁止する旨の応答を受けた場合には前記ファームウェアを前記格納手段から削除することを特徴とする請求項４に記載のネットワークシステム。
【請求項６】
前記サーバシステムは、
特定のファームウェアが配信された画像形成装置を検出する第１の検出手段と、
前記第１の検出手段に検出された画像形成装置に対する配信済みのファームウェアの適用を禁止する指示を受け付けて、該受け付けた指示の内容を記憶手段に格納する第１の指示手段と、を有し、
前記第１の返信手段、及び前記第２の返信手段は、前記記憶手段に格納された指示の内容に基づいて判定を行う、ことを特徴とする請求項４又は５に記載のネットワークシステム。
【請求項７】
前記画像形成装置は、
定期的に、当該画像形成装置に配信すべきファームウェアの有無を前記サーバシステムに対して確認する配信確認を行う第２の確認手段と、
前記第２の確認手段の確認に応じて前記配信すべきファームウェアが有る旨の応答を受けた場合には前記サーバシステムに対して前記配信すべきファームウェアの配信を依頼する配信依頼手段と、
前記配信依頼手段の依頼に応じて前記サーバシステムから配信されたファームウェアを受信して前記格納手段に格納する受信手段と、を有し、
前記サーバシステムは、
特定のファームウェアが適用された画像形成装置を検出する第２の検出手段と、
前記第２の検出手段に検出された画像形成装置に対する適用済みのファームウェアを該ファームウェアより前のバージョンのファームウェアに戻すロールバックを行う指示を受け付けて、該指示を受けた場合、前記前のバージョンのファームウェアを配信すべきファームウェアとして前記記憶手段に登録する第２の指示手段と、
定期的に行われる前記画像形成装置からの配信確認に応じて、前記画像形成装置に配信すべきファームウェアの有無を判定し、前記画像形成装置に配信すべきファームウェアの有無の応答を前記画像形成装置に返信する第３の返信手段と、
前記画像形成装置からの配信依頼に応じて、前記画像形成装置にファームウェアを配信する配信手段と、を有する、
ことを特徴とする請求項６に記載のネットワークシステム。
【請求項８】
前記画像形成装置は、
前記受信手段が受信して前記格納手段に格納したファームウェアに対して前記サーバシステムにて自動適用を行う旨の指定がなされている場合には、該ファームウェアを当該画像形成装置に適用する第２の適用手段を有し、
前記第２の指示手段は、前記ロールバックを行う指示を受け付けた場合、前記前のバージョンのファームウェアを配信すべきファームウェアとして、自動適用を行う旨の指定とともに前記記憶手段に登録する、
ことを特徴とする請求項７に記載のネットワークシステム。
【請求項９】
ファームウェアを配信するサーバシステムと通信可能な画像形成装置の制御方法であって、
ユーザからの指示を受けて、前記サーバシステムから配信された適用前のファームウェアを格納しておく格納手段に格納されているファームウェアの前記画像形成装置への適用を開始する場合に、前記サーバシステムに適用開始の通知を行う通知ステップと、
前記通知ステップでの通知に応じて前記サーバシステムから前記ファームウェアの適用を許可する旨の応答を受けた場合には前記ファームウェアを前記画像形成装置に適用し、一方、前記ファームウェアの適用を禁止する旨の応答を受けた場合には前記ファームウェアを前記画像形成装置に適用しないように制御する適用ステップと、
定期的に、前記格納手段に格納されている適用前のファームウェアを削除するか否かを前記サーバシステムに対して確認する確認ステップと、
前記確認ステップでの確認に応じて前記サーバシステムから前記ファームウェアを削除する旨の応答を受けた場合には前記格納手段に格納されている適用前のファームウェアを削除する削除ステップと、を有することを特徴とする制御方法。
【請求項１０】
コンピュータを、請求項１乃至３のいずれか１項に記載された手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置のファームウェアをアップデートするための制御に関する。
【背景技術】
【０００２】
近年の画像形成装置では、ファームウェア更新のコストを抑えるために、配信サーバから画像形成装置へファームウェアを配信することによって、自動的にファームウェアの更新が行えるファームウェアアップデートシステムが実現されている。
【０００３】
なお、このように自動的にファームウェアを更新できるシステムであっても、例えば新しいファームウェアの動作が不安定な場合などにサービスマンによる手動更新が望まれる場合がある。
【０００４】
特許文献１では、ファームウェアの更新方法を自動と手動で切り替えることが可能となるシステムが提案されている。
具体的には、ファームウェアを配信する側では、ユーザインタフェースからファームウェア更新を自動で行うか、手動で行うか、ファームウェアのアップロードの方法を選択する。また、ファームウェアを受信する側では、その選択に従い、ファームウェアの更新を行うことで、ファームウェア更新の自動と手動の切り替えを実現している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１４０４３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１のような配信後に手動でファームウェアの適用が可能なシステムにおいて、配信済みのファームウェアに問題が見つかった場合に、問題のあるファームウェアの更新を制限することができないという課題があった。
【０００７】
また、問題が見つかったファームウェアが配信されたまま残っている画像形成装置１０７が複数存在する場合に、それらのファームウェアをまとめて削除することができないという課題があった。
【０００８】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、配信済みのファームウェアに問題が見つかった場合に、ファームウェアを配信した側で、配信先の画像形成装置で該当ファームウェアが適用されることを防止したり、該当ファームウェアを削除するための仕組みを提供することである。
【課題を解決するための手段】
【０００９】
本発明は、ファームウェアを配信するサーバシステムと通信可能な画像形成装置であって、前記サーバシステムから配信された適用前のファームウェアを格納しておく格納手段と、ユーザからの指示を受けて前記格納手段に格納されているファームウェアの前記画像形成装置への適用を開始する場合に、前記サーバシステムに適用開始の通知を行う通知手段と、前記通知手段の通知に応じて前記サーバシステムから前記ファームウェアの適用を許可する旨の応答を受けた場合には前記ファームウェアを前記画像形成装置に適用し、一方、前記ファームウェアの適用を禁止する旨の応答を受けた場合には前記ファームウェアを前記画像形成装置に適用しないように制御する第１の適用手段と、定期的に、前記格納手段に格納されている適用前のファームウェアを削除するか否かを前記サーバシステムに対して確認する第１の確認手段と、前記第１の確認手段の確認に応じて前記サーバシステムから前記ファームウェアを削除する旨の応答を受けた場合には前記格納手段に格納されている適用前のファームウェアを削除する削除手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、配信済みのファームウェアに問題が見つかった場合に、ファームウェアを配信した側で、配信先の画像形成装置で該当ファームウェアが適用されることを防止したり、該当ファームウェアを削除することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施例を示すネットワークシステムを適用可能なファームウェアアップデートシステムの構成の一例を示すシステム構成図である。
【図２】監視サーバ１０３のハードウェア構成の一例を示すブロック図である。
【図３】画像形成装置１０７のハードウェア構成の一例を示すブロック図である。
【図４】監視サーバ１０３、配信サーバ１０１における本実施形態に係るソフトウェア構成の一例を示すブロック図である。
【図５】画像形成装置１０７における本実施形態に係るソフトウェア構成の一例を示すブロック図である。
【図６】データベース１０２内に保持するファームウェア情報の一例を示す図である。
【図７】データベース１０２内に保持する配信情報の一例を示す図である。
【図８】データベース１０４内に保持する画像形成装置情報の一例を示す図である。
【図９】画像形成装置１０７、配信サーバ１０１、監視サーバ１０３等でのファームウェアの適用を禁止する処理の一例を示す全般的なシーケンス図である。
【図１０】配信サーバ１０１におけるファームウェアの検出し制御内容を指示する処理を示すフローチャートである。
【図１１】ＰＣ１１１のＷｅｂブラウザの表示部２０５に表示されるＵＩ（画面）の一例を示す図である。
【図１２】配信サーバ１０１におけるＦＷ適用開始通知の受信（Ｓ６０４）からＤＢ更新要求（Ｓ６０９）までの詳細な処理の一例を示すフローチャートである。
【図１３】画像形成装置１０７におけるＦＷ適用開始指示（Ｓ６０４）から結果通知（Ｓ６０８）までの詳細な処理の一例を示すフローチャートである。
【図１４】図１３のＳ１００１にてＵＩ部５０５によって表示部３０６に表示されるＵＩ（画面）の一例を示す図である。
【図１５】図１３のＳ１００８においてＵＩ部５０５によって表示部３０６に表示されるＵＩ（画面）の一例を示す図である。
【図１６】画像形成装置１０７における確認処理の一例を示すフローチャートである。
【図１７】監視サーバ１０３における応答処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１３】
＜システム構成＞
図１は、本発明の一実施例を示すネットワークシステムを適用可能なファームウェアアップデートシステムの構成の一例を示すシステム構成図である。
【００１４】
図１に示すように、本実施例のネットワークシステムは、インターネット１０６に接続されて互いに通信可能なサーバシステムとクライアントから構成されている。
初めに、サーバ側のシステム構成について説明する。
サーバ側には、監視サーバ１０３、データベース１０４、配信サーバ１０１、データベース１０２が存在し、これらによりサーバシステムを構成する。
監視サーバ１０３は、１又は複数の画像形成装置１０７を監視対象としていて、画像形成装置１０７の情報、稼働状態を示す情報（障害情報を含む）を収集、蓄積、加工し、警告等を外部に提供する機能を有する。例えば、監視サーバ１０３は、パーソナルコンピュータ（以下ＰＣ）１１１にそれら情報を配信する役割を持つ機能を有する。なお、稼働状態を示す情報には、トナー切れ、ドアオープン、ドラム交換、カートリッジなし、冷却ファン異常、基板異常、原稿台ガラス汚れ、ステイプル切れ、給紙センサ光量不足等がある。また、稼働状態を示す情報には、フォントメモリオーバーフロー、レンダリングエラー、定着器異常、カウンタ異常、両面ユニット異常、紙詰まり等もある。
【００１５】
さらに、ＰＣ１１１から、監視対象としている画像形成装置１０７の情報や監視に関する設定を監視サーバ１０３に登録することができる。監視サーバ１０３では、ＰＣ１１１から登録された監視対象の画像形成装置１０７や、監視に関する設定をマージして一括管理できる。また、監視サーバ１０３は、画像形成装置１０７に対し、監視に関わる設定を行うこともできる。
【００１６】
ここで、監視サーバ１０３は、インターネット１０６を介して接続されたＰＣ１１１に対し、データベース１０４に蓄積した情報、又は加工した情報を閲覧するＷＥＢページを提供している。監視サーバ１０３は、ユーザ認証により、ユーザの権限別に閲覧内容を限定してＷＥＢページで提供している。さらに、監視サーバ１０３は、ＷＥＢページから、一部データの変更も可能としている。
【００１７】
データベース１０４は、監視のための情報や、クライアント側から収集した画像形成装置１０７（画像処理装置）のカウンタ、障害履歴情報、障害パターンテーブル等を蓄積する履歴記憶手段としてのデータベースである。監視サーバ１０３とデータベース１０４とはＬＡＮ１０５で接続されている。また、ＬＡＮ１０５は、インターネット１０６に接続可能となっている。なお、データベース１０４は、物理的に監視サーバ１０３内に存在してもよい。さらに、データベース１０４は、監視サーバ１０３からアクセス可能であれば、インターネット１０６を経由した別の場所に存在してもよい。
【００１８】
配信サーバ１０１は、画像形成装置１０７のファームウェアの管理やファームウェアの配信を行う機能を有する。
ここで、配信サーバ１０１は、インターネット１０６を介して接続されたＰＣ１１１に対し、データベース１０４に蓄積した情報、又は加工した情報を閲覧するＷＥＢページを提供している。配信サーバ１０１は、ユーザ認証により、ユーザの権限別に閲覧内容を限定してＷＥＢページで提供している。さらに、配信サーバ１０１は、ＷＥＢページから、画像形成装置１０７に適用可能なファームウェアの登録、更新、削除や、一部データの変更も可能としている。
【００１９】
データベース１０２は、画像形成装置１０７に適用するためのファームウェアやアプリケーション、ソフトウェアライセンス情報等を蓄積する履歴記憶部としてのデータベースである。配信サーバ１０１とデータベース１０２とはＬＡＮ１０５で接続されている。また、ＬＡＮ１０５は、インターネット１０６に接続可能となっている。なお、データベース１０２は、物理的に配信サーバ１０１内に存在してもよい。さらに、データベース１０２は、配信サーバ１０１からアクセス可能であれば、インターネット１０６を経由した別の場所に存在しても構わない。また、データベース１０２とデータベース１０４とはデータを共有してもよい。なお、監視サーバ１０３と配信サーバ１０１は同一ＬＡＮ上に存在しなくてもよい。
【００２０】
図１中には、監視サーバ１０３と、データベース１０４と、配信サーバ１０１と、データベース１０２とは１つずつしか示されていない。しかし、多くの画像形成装置１０７及び監視装置（不図示）からの情報収集や、ファームウェア配信の負荷分散を行うために、複数のサーバ、データベースに分散処理をさせてもよい。
また、監視サーバ１０３、データベース１０４、配信サーバ１０１、データベース１０２が１つのサーバ装置により構成されていてもよい。
【００２１】
次に、クライアント側のシステム構成について説明する。
本実施形態では、画像形成装置１０７は、例えば、プリンタ、スキャナ、ファクシミリ及びこれらの複合機であれば好適である。なお、複合機には限らず、単なるプリンタ等も含む。
【００２２】
画像形成装置１０７は、インターネット１０６経由で配信サーバ１０１と通信を行い、自身のファームウェアのダウンロードや更新を行う。画像形成装置１０７は、ファームウェアのアップデートの際に、自身の情報（例えば個体識別子やファームウェアの種類、バージョンなど）を配信サーバ１０１に送信する。
【００２３】
また、画像形成装置１０７は、インターネット１０６経由で監視サーバ１０３と通信を行い、自身の情報（例えばカウンタ情報や障害等の発生）を監視サーバ１０３に送信する。
【００２４】
なお、画像形成装置１０７から監視サーバ１０３へ情報を直接収集するのではなく、ＬＡＮ１１０上に設けた監視装置（不図示）を用いて画像形成装置１０７の情報を収集してもよい。監視装置は、各画像形成装置１０７の状態情報（例えば障害等の発生）を、各画像形成装置１０７から受信する都度、監視サーバ１０３に送信する。
【００２５】
ＰＣ１１１は、ＷＥＢブラウザを搭載したＰＣ１１１であり、直接インターネット１０６を介し配信サーバ１０１や監視サーバ１０３に接続し、前述の配信サーバ１０１、または監視サーバ１０３が提供するＷＥＢページを閲覧することができる。
【００２６】
＜ハードウェア構成＞
図２は、監視サーバ１０３のハードウェア構成の一例を示すブロック図である。なお、配信サーバ１０１、ＰＣ１１１のハードウェア構成も同様である。
【００２７】
図２において、ＣＰＵ２０１は、ＲＯＭ２０２やハードディスク（以下ＨＤＤ）２０４等にコンピュータ読み取り可能に記録されるプログラムを読み取って実行し、本装置上の各処理を司る。ＲＯＭ２０２は、本装置の各処理に関わるプログラムやデータを記憶する。ＲＡＭ２０３は、本装置の各処理に関わる一時的なデータを電気的に記憶する。ＲＡＭ２０３は、ＣＰＵ２０１の作業領域として使用される。
【００２８】
ＨＤＤ２０４は、本装置の各処理に関わるプログラムやデータ、一時的なデータ、本実施形態に関わる監視対象の画像形成装置１０７に関する情報、画像形成装置１０７から収集した情報等を記憶する。例えば、部品カウンタ、課金カウンタ、部門カウンタ等がＨＤＤ２０４に保存される。ＰＣ１１１においては、ＷＥＢブラウザプログラム等もＨＤＤ２０４に記憶される。
【００２９】
入力装置２０８は、本装置への指示入力を受け付けるキーボードやポインティングデバイス等である。
表示部（ディスプレイ等の表示装置）２０５は、本装置の動作状況や、本装置上で動作する各プログラムが出力する情報を表示する。
ネットワークＩ／Ｆ（Ｎｅｔｗｏｒｋ Ｉ／Ｆ）２０６は、ネットワーク経由でＬＡＮ２１０及びインターネット１０６に接続し、外部と情報交換を行う。外部機器Ｉ／Ｆ２０７は、外部記憶機器等を接続する。これらの要素２０１〜２０８がシステムバス２０９を介して結び付き、データをやりとりしている。
【００３０】
なお、ＨＤＤの代わりにＳＳＤ(Solid State Drive)等のその他の記憶装置を用いてもよい。
図３は、画像形成装置１０７のハードウェア構成の一例を示すブロック図である。
画像形成装置１０７としては、より具体的には、プリンタ及びファクシミリ機能が統合的に設けられた複合機や、ＰＣ１１１等からデータを受信し、印刷するプリンタ（電子写真方式及びインクジェット方式を含む）、スキャナ、ファクシミリ等である。図３では、画像形成装置１０７の一例として複合機の構成を示している。
【００３１】
図３において、イメージリーダ３０８は、原稿給送部３０７で給送される原稿から画像データを読み込む。画像形成部３０９は、イメージリーダ３０８で原稿から読み込んだ画像データや、ネットワーク経由で受信したデータを印刷画像に変換して印刷出力する。排紙部３１０は、画像形成部３０９が印刷出力した紙を排出し、ソートやステイプル等の処理を施す。
【００３２】
ネットワークＩ／Ｆ（Ｎｅｔｗｏｒｋ Ｉ／Ｆ）３１１は、ネットワーク経由でＬＡＮ１１０及びインターネット１０６に接続し、外部と情報交換を行う。ＣＰＵ３０１は、ＲＯＭ３０２やハードディスク（ＨＤＤ）３０４にコンピュータ読み取り可能に記録されたプログラムを読み取って実行し、本装置上の各処理を司る。ＣＰＵ３０１は、プログラムに基づき、画像形成装置１０７の動作状態を監視し、障害等の特定のイベントが発生した場合には、その状態を示す状態情報を、予め定めた宛先へと送信する。宛先は例えば、監視サーバ１０３や監視装置（不図示）等である。
【００３３】
不揮発性記憶部としてのＲＯＭ３０２は、本装置の各処理に関わるプログラムやデータを記憶する。ＲＡＭ３０３は、本装置の各処理に関わる一時的なデータを電気的に記憶する。ＲＡＭ３０３は、ＣＰＵ３０１の作業領域として使用される。
【００３４】
ＨＤＤ３０４は、本装置の各処理に関わるプログラムやデータ、一時的なデータ、本装置へ送信されてきたユーザデータ等を記憶する。配信サーバ１０１からダウンロードしたファームウェアは、適用されるまで一時的にＨＤＤ３０４に記憶される。
【００３５】
操作部３０５は、ハードキーやタッチパネル等から構成され、本装置への指示入力を受け付ける。表示部（表示装置）３０６は、本装置の動作状況及び操作部に対する操作に関わる情報を表示する。これらの要素３０１〜３１１がシステムバス３１２を介して結び付き、データをやりとりしている。
【００３６】
なお、画像形成装置自身が監視のための情報を積極的に送信する機能を持つ画像形成装置１０７では、ＲＯＭ３０２或いはＨＤＤ３０４内に、監視データ送出処理にかかわるプログラムやデータが保持され、ＣＰＵ３０１により実行される。
なお、ＨＤＤの代わりにＳＳＤ(Solid State Drive)等のその他の記憶装置を用いてもよい。
【００３７】
＜ソフトウェア構成＞
図４は、監視サーバ１０３、配信サーバ１０１における本実施形態に係るソフトウェア構成の一例を示すブロック図である。
【００３８】
図４において、通信部４０５は、監視装置（不図示）、又は画像形成装置１０７よりネットワークＩ／Ｆ２０６を介して受信したデータをメッセージ解析部４０４に渡す。メッセージ解析部４０４は、データの解析を行う。通信部４０５は、メッセージ作成部４０２が作成したデータをネットワークＩ／Ｆ２０６を介して監視装置（不図示）、又は画像形成装置１０７に送信する。
【００３９】
収集情報処理部４０３は、監視下の監視装置（不図示）、又は画像形成装置１０７から受信した情報をそのまま、又は、加工し、データベースアクセス部４０６を介してデータベース１０４、データベース１０２に格納する。また、収集情報処理部４０３は、遠隔監視システムに関わる機能を実現する。例えば、収集情報処理部４０３は、監視下の画像形成装置１０７から受信した情報及びデータベース１０４、データベース１０２に格納されているデータを基に、ファームウェアの最新情報等を担当の管理者などの通知先へ通知する。なお、収集情報処理部４０３は、ファームウェアの最新情報以外にもカウンタ情報の集計、エラー情報等も管理者などの通知先へ通知する。
【００４０】
監視制御部４０１は、画像形成装置１０７の情報を取得しに行くスケジュール管理や、監視内容、方法の制御を行う。さらに、監視制御部４０１は、必要に応じて、監視下の画像形成装置１０７へ、メッセージ作成部４０２、通信部４０５、ネットワークＩ／Ｆ２０６を介して、指示を送信する。メッセージ作成部４０２は、メッセージデータを作成する。
【００４１】
図５は、画像形成装置１０７における本実施形態に係るソフトウェア構成の一例を示すブロック図である。
図５において、通信部５０４は、監視サーバ１０３、配信サーバ１０１よりネットワークＩ／Ｆ３１１を介して受信したデータを監視エージェント部５０１に渡す。また、通信部５０４は、監視エージェント部５０１が作成したデータをネットワークＩ／Ｆ３１１を介して監視サーバ１０３、配信サーバ１０１に送信する。
【００４２】
監視エージェント部５０１は、画像形成装置１０７内部のスケジュールにより、又は、監視サーバ１０３からの指示により、内部に保持するカウンタ情報を取得し、また、内部で発生したサービスコールやジャム、トナー切れ等の情報を取得する。監視エージェント部５０１が取得したデータは、そのまま通信部５０４に渡され、監視サーバ１０３へ送信される。また、監視エージェント部５０１が取得したデータは、監視エージェント部５０１内で蓄積、解釈、加工されてから通信部５０４に渡され、監視サーバ１０３へ送信される場合もある。
【００４３】
ユーザインタフェース部（ＵＩ部）５０５は、操作部３０５からの入力を処理したり、表示部３０６に画面を表示するなど、ユーザインタフェースに関する処理を扱う。
アップデート制御部５０２は、画像形成装置１０７内部のスケジュールにより、又は、配信サーバ１０１からの指示により、内部に保持するファームウェア情報を取得する。アップデート制御部５０２が取得したデータは、そのまま通信部５０４に渡され、配信サーバ１０１へ送信される。また、アップデート制御部５０２が取得したデータは、アップデート制御部５０２内で蓄積、解釈、加工されてから通信部５０４に渡され、配信サーバ１０１へ送信される場合もある。
【００４４】
制御部５０３は、監視エージェント部５０１、ＵＩ部５０５、通信部５０４、アップデート制御部５０２を統括的に制御し、各部にハードウェア資源やソフトウェア資源の割り当てなどを行う。
【００４５】
図６は、データベース１０２内に保持するファームウェア情報の一例を示す図である。
図６において、ファームウェア情報１５００は、配信サーバ１０１にファームウェアが登録される際に、登録者が入力するファームウェアの情報を基にして、監視制御部４０１が情報の更新を行う。
【００４６】
ＦＷ種類１５０１は、配信サーバ１０１に登録されているファームウェアの種類を表す。画像形成装置１０７の機種によってファームウェアが異なる場合には、ＦＷ種類１５０１で区別することとなる。
【００４７】
ステータス１５０２は、配信サーバ１０１に登録されているファームウェアの状態を表す。ステータス１５０２の値としては、配信可能な状態であれば「公開」、何らかの問題が見つかり配信を停止している状態であれば「公開停止」、配信サーバ１０１から削除された状態であれば「削除済み」などが使用される。
【００４８】
ＦＷバージョン１５０３は、配信サーバ１０１に登録されているファームウェアのバージョンを表す。ＦＷ種類１５０１が同じファームウェアであっても、複数のバージョンのファームウェアを配信サーバ１０１へ登録することが可能であるため、この項目が必要となる。
【００４９】
図７は、データベース１０２内に保持する配信情報の一例を示す図である。
図７において、配信情報１６００は、配信サーバ１０１から画像形成装置１０７へファームウェアの配信を行う度に、監視制御部４０１によって更新される。
装置識別子１６０１は、配信先の画像形成装置１０７を一意に表す識別子であり、装置のシリアル番号などを用いることができる。配信ＩＤ１６０２は配信サーバ１０１が配信を行う度に、一意に割り振る番号である。他の配信と区別するために用いる。
【００５０】
配信ＦＷ１６０３は、配信サーバ１０１が配信したファームウェアの種類であり、配信対象のファームウェアを表すファームウェア情報１５００のＦＷ種類１５０１が用いられる。
【００５１】
ＦＷバージョン１６０４は、配信サーバ１０１が配信したファームウェアのバージョンであり、配信対象のファームウェアを表すファームウェア情報１５００のＦＷバージョン１５０３が用いられる。
【００５２】
ステータス１６０５は、配信の状態を表す。ステータス１６０５の値としては、ファームウェアが画像形成装置１０７へ転送中であれば「配信中」、転送が完了していれば「ダウンロード済み」、適用まで完了していれば「完了」などが使用される。
【００５３】
結果１６０６は、配信の結果を表す。結果１６０６の値としては、配信が成功した場合には「ＯＫ」、失敗した場合には「ＮＧ」、配信中の場合には未入力、などが使用される。
【００５４】
なお、配信サーバ１０１は、ＰＣ１１１のＷｅｂブラウザからファームウェアの配信を開始する指示を受けると、配信情報１６００に新たなレコードを追加する。この際、ステータス１６０５は「配信中」となる。
【００５５】
図８は、データベース１０４内に保持する画像形成装置情報の一例を示す図である。
画像形成装置情報１７００は、監視サーバ１０３が監視している画像形成装置毎にデータベース１０４内に保持される。
装置識別子１７０１は、配信先の画像形成装置１０７を一意に表す識別子であり、装置のシリアル番号などを用いることができる。ステータス１７０２は、装置識別子１７０１で表される画像形成装置１０７の状態を表す。ステータス１７０２の値としては、配信済みファームウェアの削除が予約されている場合には「削除予約中」、配信が予約されている場合には「配信予約中」、配信済みファームウェアの適用の禁止が指示されている場合には「適用禁止」、画像形成装置１０７が正常に動作している場合には「正常」などが使用される。
【００５６】
ＦＷ種類１７０３は、その時点で、装置識別子１７０１で表される画像形成装置１０７にインストールされているファームウェアの種類を表す。
ＦＷバージョン１７０４は、その時点で、装置識別子１７０１で表される画像形成装置１０７にインストールされているファームウェアのバージョンを表す。
配信予定ＦＷ１７０５は、ステータス１７０２の値が「配信予約中」の場合に、配信を予定しているファームウェアの種類を表す。配信予定のファームウェアの種類を表す情報としては、ファームウェア情報１５００のＦＷ種類１５０１が用いられる。
【００５７】
配信予定ＦＷバージョン１７０６は、ステータス１７０２の値が「配信予約中」の場合に、配信を予定しているファームウェアのバージョンを表す。配信予定のファームウェアを表す情報としては、ファームウェア情報１５００のＦＷバージョン１５０３が用いられる。
【００５８】
なお、図７には図示していないが、画像形成装置情報１７００には、上記１７０１〜１７０６の他に、配信日時や、自動適用情報も格納されている。なお、この自動適用情報（不図示）は、ステータス１７０２の値が「配信予約中」の場合に、配信を予定しているファームウェアを自動適用するか否かの情報を表す。自動適用をする場合には「自動適用」、自動適用を行わない場合には「手動適用」が格納される。本実施例では、通常のファームウェアの配信では、自動適用情報には「手動適用」が格納されるものとする。
【００５９】
図９は、画像形成装置１０７、配信サーバ１０１、監視サーバ１０３等でのファームウェアの適用を禁止する処理の一例を示す全般的なシーケンス図である。
配信サーバ１０１には予め、画像形成装置１０７に適用可能なファームウェアがアップロードされているものとする。また、画像形成装置１０７には予め、配信サーバ１０１からファームウェアが配信されているものとする。さらに、問題が見つかったファームウェアは、ＰＣ１１１のＷｅｂブラウザを介して入力される配信管理者からの指示で、ファームウェア情報１５００のステータス１５０２が「公開停止」又は「削除済み」に更新されているものとする。
【００６０】
配信サーバ１０１は、配信管理者から問題が見つかったファームウェアの適用禁止、又は削除の指示を受け付け可能に制御する（Ｓ６０１）。なお、配信管理者は、ＰＣ１１１等から配信済みファームウェアの適用禁止、又は削除の指示を配信サーバ１０１に送信する。
【００６１】
適用禁止、又は削除の指示を受付けた場合、配信サーバ１０１は、監視サーバ１０３にデータベース１０４の更新を依頼する（Ｓ６０２）。監視サーバ１０３は、上記データベース１０４の更新依頼を受付けた場合、該当する画像形成装置１０７に対してファームウェアの適用禁止、又は削除予約が行われたことをデータベース１０４に保存する。即ち、該当する画像形成装置１０７の画像形成装置情報１７００のステータス１７０２を「適用禁止」又は「削除予約中」に更新する。なお、上記Ｓ６０１〜Ｓ６０２の処理の詳細は、後述する図１０（ａ）に示す。
【００６２】
その後、画像形成装置１０７は、画像形成装置管理者による配信済みファームウェアの適用を操作部３０５から受付ける（Ｓ６０３）と、配信サーバ１０１に対してファームウェア適用開始通知を行う（Ｓ６０４）。
【００６３】
ファームウェア適用開始通知を受信した配信サーバ１０１は、受信元の画像形成装置１０７の情報を取得するために監視サーバ１０３に対して情報取得要求を行う（Ｓ６０５）。
【００６４】
情報取得要求を受けた監視サーバ１０３は、データベース１０４から該当する画像形成装置１０７の画像形成装置情報１７００を取得し、配信サーバ１０１へ送信する（Ｓ６０６）。
【００６５】
該当する画像形成装置１０７の画像形成装置情報１７００を取得した配信サーバ１０１は、取得した画像形成装置情報１７００から該当する画像形成装置１０７がファームウェアの適用が禁止されているものか、またはファームウェアを削除する必要があるものかを判断する。即ち、ステータス１７０２が「適用禁止」又は「削除予定」であるか判断する。
【００６６】
そして、配信サーバ１０１は、上記判断に従って画像形成装置１０７に対して、上述のファームウェア適用開始通知に対する返信を行う（Ｓ６０７）。即ち、ステータス１７０２が「適用禁止」の場合は「ファームウェア適用禁止指示」、「削除予定」の場合「ファームウェア削除指示」を返信する。
【００６７】
画像形成装置１０７は、配信サーバ１０１からのファームウェア適用開始通知の応答に従い、ファームウェアの適用禁止が指示された場合には、適用を行わず、処理の結果を配信サーバ１０１へ通知する（Ｓ６０８）。
【００６８】
また、ファームウェアの削除が指示された場合には、画像形成装置１０７は、配信済みファームウェアの削除を行い、その結果を配信サーバ１０１へ通知する（Ｓ６０８）。
結果を受信した配信サーバ１０１は、監視サーバ１０３へ該当する画像形成装置１０７の画像形成装置情報１７００の更新を依頼する（Ｓ６０９）。監視サーバ１０３は、該当する画像形成装置１０７のステータス１７０２を更新する（例えば「正常」に更新する）。
【００６９】
なお、配信サーバ１０１における上記Ｓ６０５〜Ｓ６０９までの処理の詳細は後述する図１２に示す。また、画像形成装置１０７における上記Ｓ６０４〜Ｓ６０８までの処理の詳細は後述する図１３〜図１５に示す。
【００７０】
図１０（ａ）は、実施例１の配信サーバ１０１における適用禁止指示（Ｓ６０１）からＤＢ更新（Ｓ６０２）までの詳細な処理の一例を示すフローチャートである。このフローチャートの各ステップの処理は、特に表記がない場合、配信サーバ１０１の監視制御部４０１が行う。つまり、このフローチャートの各ステップの処理は、配信サーバ１０１のＣＰＵ２０１がＨＤＤ２０４に記録されたプログラム（監視制御部４０１を実現するためのプログラム）をＲＡＭ２０３に読み込んで実行することにより実現される。
【００７１】
まず、Ｓ１７０１において、配信サーバ１０１の監視制御部４０１は、配信管理者から特定の公開停止ファームウェアが配信済みのまま保持されている画像形成装置１０７を一覧表示する要求を、配信サーバ１０１の通信部４０５を介して受け付ける。この要求は、ここでは、ＰＣ１１１のＷｅｂブラウザから送信されるものとする。
【００７２】
配信サーバ１０１１の監視制御部４０１は、一覧表示要求を受け付けると、配信サーバ１０１のデータベースアクセス部４０６を利用してデータベース１０２内のファームウェア情報１５００や配信情報１６００を基に該当する画像形成装置１０７の検索（第１の検出）を行う（Ｓ１７０２）。具体的には、配信サーバ１０１１の監視制御部４０１は、ファームウェア情報１５００のステータス１５０２の値が「公開停止」となっているレコードのＦＷ種類１５０１とＦＷバージョン１５０３の値を取得する。さらに、配信サーバ１０１１の監視制御部４０１は、配信情報１６００内から、配信ＦＷ１６０３とＦＷバージョン１６０４が上記取得した公開停止のＦＷ種類１５０１とＦＷバージョン１５０３に一致し、且つステータス１６０５が「ダウンロード済み」である装置識別子１６０１（即ち、該当する画像形成装置）を検索する。配信サーバ１０１１の監視制御部４０１は、ファームウェア情報１５００のステータス１５０２の値が「公開停止」又は「削除済み」となっているレコードのＦＷ種類１５０１とＦＷバージョン１５０３の値を取得する。
【００７３】
なお、ＰＣ１１１のＷｅｂブラウザからの指示により、いずれかのファームウェアのファームウェア情報１５００のステータス１５０２の値が「公開停止」又は「削除済み」に変更された場合、配信サーバ１０１１の監視制御部４０１は、Ｓ１７０１の配信管理者から特定の公開停止ファームウェアが配信済みのまま保持されている画像形成装置１０７を一覧表示する要求を受けたものとみなして、Ｓ１７０２以降の処理を開始するように構成してもよい。
【００７４】
次に、配信サーバ１０１１の監視制御部４０１は、上記Ｓ１７０２の検索の結果、該当する装置識別子１６０１（該当する画像形成装置）が存在するか否かを判定する。
そして、検索の結果、該当する装置識別子１６０１（該当する画像形成装置）が存在すると判定した場合（Ｓ１７０３でＹｅｓ）、配信サーバ１０１１の監視制御部４０１は、装置識別子１６０１に対応する画像形成装置の一覧（図１１（ａ））を、ＰＣ１１１のＷｅｂブラウザに送信する（Ｓ１７０４）。ＰＣ１１１のＷｅｂブラウザは、画像形成装置の一覧（図１１（ａ））を表示する。
そして、配信サーバ１０１１の監視制御部４０１は、図１１（ａ）からの指示（第１の指示）がＰＣ１１１のＷｅｂブラウザから送信されてくるのを待つ（Ｓ１７０６）。
【００７５】
図１１（ａ）は、図１０（ａ）のＳ１７０４においてＰＣ１１１のＷｅｂブラウザの表示部２０５に表示されるＵＩ（画面）の一例を示す図である。
図１１（ａ）に示すＵＩでは、公開停止ファームウェア毎に、ダウンロード済み状態デバイス一覧画面１８００が表示される。各画面１８００では、画像形成装置の一覧１８０１から１又は複数の画像形成装置を選択することが可能である。そして、選択した画像形成装置に対して、適用禁止ボタン１８０２を押下してファームウェアの適用の禁止を指示、又は削除ボタン１８０３を押下してファームウェアの削除を指定することが可能である。また、ステータス１８０４が「適用禁止」や「削除中」の画像形成装置を選択してキャンセルボタン１８０５を押下することで、ファームウェアの適用禁止や削除の指定をキャンセルことが可能である。なお、図１１（ａ）に示す画面では、画面内に組み込まれたプログラム等により、「適用禁止」ボタン１８０２、「削除」ボタン１８０３、「キャンセル」ボタン１８０５が指示されると、その指示に応じた内容をステータス表示欄１８０４に表示するよう表示制御される。
【００７６】
さらに、「確定」ボタン１８０６を押下することで、各画面１８００で表示されている画像形成装置の識別子１８０１とそのステータス１８０４等がＰＣ１１１のＷｅｂブラウザから配信サーバ１０１に送信される。
【００７７】
以下、図１０（ａ）のフローチャートの説明に戻る。
ＰＣ１１１のＷｅｂブラウザから送信された図１１（ａ）のＵＩ上での指示に、適用禁止又は削除の指示、又は、適用禁止又は削除をキャンセルした指示が含まれていると判定した場合（Ｓ１７０６でＹｅｓ）、配信サーバ１０１の監視制御部４０１は、Ｓ１７０７に処理を進める。
【００７８】
Ｓ１７０７では、配信サーバ１０１の監視制御部４０１は、上記ＵＩ上での指示に基づいて、監視サーバ１０３へデータベース１０４の更新を依頼し（Ｓ１７０７）、本フローチャートの処理を終了する。
【００７９】
なお、配信サーバ１０１が監視サーバ１０３へ依頼する具体的な更新内容は、「適用禁止」が指示された画像形成装置の識別子に対応する画像形成装置情報１７００のステータス１７０２の値を「適用禁止」へ変更する。また、「削除」が指示された画像形成装置の識別子に対応する画像形成装置情報１７００のステータス１７０２の値を「削除予約中」へ変更することである。また、「適用禁止」又は「削除」のキャンセルが指示された画像形成装置の識別子に対応する画像形成装置情報１７００のステータス１７０２の値を「正常」へ変更することである。
【００８０】
なお、図１０（ａ）には図示していないが、所定時間、上記ＵＩを表示したＰＣ１１１のＷｅｂブラウザから返信が無い場合には、そのまま本フローチャートの処理を終了する。
【００８１】
また、上記Ｓ１７０３において、上記Ｓ１７０２の検索の結果、該当する装置識別子１６０１（該当する画像形成装置）が存在しないと判定した場合（Ｓ１７０３でＮｏ）、配信サーバ１０１１の監視制御部４０１は、その旨をＵＩに表示し（Ｓ１７０５）、Ｓ１７０１に処理を戻す。
【００８２】
なお、図１０（ａ）の説明では、図１１（ａ）のＵＩを表示して、ユーザに、配信済みのファームウェアを適用禁止とする画像形成装置を選択させる構成を示した。しかし、配信サーバ１０１１の監視制御部４０１は、ＤＢから該当する画像形成装置を検索し（Ｓ１７０２）、図１１（ａ）のＵＩを表示させることなく、検索された該当する画像形成装置の全てに対して「適用禁止」が指示されたものとみなして、Ｓ１７０７のＤＢ更新の処理を行うようにしてもよい。
【００８３】
図１２は、配信サーバ１０１におけるＦＷ適用開始通知の受信（Ｓ６０４）からＤＢ更新要求（Ｓ６０９）までの詳細な処理の一例を示すフローチャートである。このフローチャートの各ステップの処理は、特に表記がない場合、配信サーバ１０１の監視制御部４０１が行う。つまり、このフローチャートの各ステップの処理は、配信サーバ１０１のＣＰＵ２０１がＨＤＤ２０４に記録されたプログラム（監視制御部４０１を実現するためのプログラム）をＲＡＭ２０３に読み込んで実行することにより実現される。
【００８４】
まず、Ｓ１７０１において、配信サーバ１０１の監視制御部４０１は、通信部４０５を介して画像形成装置１０７からファームウェア適用開始通知を受信可能に制御する（Ｓ９０１）。
【００８５】
そして、ファームウェア適用開始通知を受信した場合（Ｓ９０１でＹｅｓ）、配信サーバ１０１の監視制御部４０１は、該受信したファームウェア適用開始通知に含まれる画像形成装置１０７の装置識別子を基に、監視サーバ１０３へデータベース１０４に対する検索を依頼する（Ｓ９０２）。
【００８６】
Ｓ９０２における具体的な検索内容は、画像形成装置情報１７００内から、上記ファームウェア適用開始通知に含まれる画像形成装置１０７の装置識別子が、装置識別子１７０１に一致するレコードのステータス１７０２の値を検出することである。このステータス１７０２の値から、適用開始通知元の画像形成装置１０７に対して「適用禁止」、又は「削除指示」が指定されているか否かを確認することが可能となる。
【００８７】
なお、本実施例では、配信サーバ１０１は、画像形成装置１０７から装置識別子を含む適用開始通知を受信しているが、適用開始通知にその他の情報を含めてもよい。また、配信サーバ１０１は、適用開始通知に含まれる各情報とデータベース１０２内の情報とを照らし合わせることで、画像形成装置１０７の状態が正常であるかを確認してもよい。
【００８８】
そして、監視サーバ１０３から上記Ｓ９０２の検索結果を受信すると、配信サーバ１０１の監視制御部４０１は、該検索結果に基づいて、返信（第１の返信）を行う（Ｓ９０３〜Ｓ９１２）。以下、詳細に示す。
【００８９】
まず、配信サーバ１０１の監視制御部４０１は、該検索結果に基づいて、適用開始通知元の画像形成装置１０７に対して「適用禁止」が指示されているか否かを判定する（Ｓ９０３）。即ち、検索結果としてのステータス１７０２の値が「適用禁止」か否かを判定する。
【００９０】
そして、適用開始通知元の画像形成装置１０７に対して「適用禁止」が指示されていると判定した場合（Ｓ９０３でＹｅｓ）、即ちステータス１７０２の値が「適用禁止」の場合、配信サーバ１０１の監視制御部４０１は、Ｓ９０４に処理を進める。Ｓ９０４では、配信サーバ１０１の監視制御部４０１は、適用開始通知の応答として「適用禁止」を、適用開始通知元の画像形成装置１０７へ返信し、Ｓ９０６に処理を進める。
【００９１】
一方、適用開始通知元の画像形成装置１０７に対して「適用禁止」が指示されていないと判定した場合（Ｓ９０３でＮｏ）、即ちステータス１７０２の値が「適用禁止」でない場合、配信サーバ１０１の監視制御部４０１は、Ｓ９０５に処理を進める。
【００９２】
Ｓ９０５では、配信サーバ１０１の監視制御部４０１は、上記Ｓ９０２の検索結果に基づいて、適用開始通知元の画像形成装置１０７に対して「削除」が指示されているか否かを判定する。即ち、検索結果としてのステータス１７０２の値が「削除予約中」か否かを判定する。
【００９３】
そして、適用開始通知元の画像形成装置１０７に対して「削除」が指示されていると判定した場合（Ｓ９０５でＹｅｓ）、即ちステータス１７０２の値が「削除予約中」の場合、配信サーバ１０１の監視制御部４０１は、Ｓ９０８に処理を進める。Ｓ９０８では、配信サーバ１０１の監視制御部４０１は、適用開始通知の応答として「削除指示」を、適用開始通知元の画像形成装置１０７へ返信し、Ｓ９０６に処理を進める。
【００９４】
一方、適用開始通知元の画像形成装置１０７に対して「削除指示」がなされていないと判定した場合（Ｓ９０５でＮｏ）、即ちステータス１７０２の値が「削除予約中」でない場合、配信サーバ１０１の監視制御部４０１は、Ｓ９０９に処理を進める。
【００９５】
Ｓ９０９では、配信サーバ１０１の監視制御部４０１は、上記Ｓ９０２の検索結果に基づいて、適用開始通知元の画像形成装置１０７の状態が「正常」であるか否かを判定する。即ち、検索結果としてのステータス１７０２の値が「正常」か否かを判定する。
【００９６】
そして、適用開始通知元の画像形成装置１０７の状態が「正常」であると判定した場合（Ｓ９０９でＹｅｓ）、即ちステータス１７０２の値が「正常」の場合、配信サーバ１０１の監視制御部４０１は、Ｓ９１０に処理を進める。Ｓ９１０では、配信サーバ１０１の監視制御部４０１は、適用開始通知の応答として「ＯＫ」を、適用開始通知元の画像形成装置１０７へ返信し、Ｓ９０６に処理を進める。
【００９７】
一方、適用開始通知元の画像形成装置１０７の状態が「正常」でないと判定した場合（Ｓ９０９でＮｏ）、即ちステータス１７０２の値が「正常」でない場合、配信サーバ１０１の監視制御部４０１は、Ｓ９１１に処理を進める。Ｓ９１１では、配信サーバ１０１の監視制御部４０１は、エラーが発生したと見なして、エラーの種類に応じて、エラー処理を行う。さらに、配信サーバ１０１の監視制御部４０１は、Ｓ９１２において、適用開始通知の応答として「ＮＧ」を、適用開始通知元の画像形成装置１０７に対して返信し、Ｓ９０６に処理を進める。
【００９８】
Ｓ９０６では、配信サーバ１０１の監視制御部４０１は、上記適用開始通知元の画像形成装置１０７からの結果通知の受信を待機する。
そして、結果を受信した場合（Ｓ９０６でＹｅｓ）、配信サーバ１０１の監視制御部４０１は、データベースアクセス部４０６を介してデータベース１０２を更新し（Ｓ９０７）、本フローチャートの処理を終了する。
【００９９】
上記Ｓ９０７におけるデータベース１０２の更新の具体例を以下に示す。
上記Ｓ９０６で画像形成装置１０７から受信した結果が「適用完了通知」の場合、配信サーバ１０１の監視制御部４０１は、配信サーバ１０１の監視制御部４０１は、配信情報１６００内の該当する装置識別子１６０１でレコードのステータス１６０５の値を「ダウンロード済み」のレコードのステータス１６０５の値を「完了」に変更する。さらに、配信サーバ１０１の監視制御部４０１は、監視サーバ１０３に画像形成装置情報１７００内の該当する装置識別子１７０１のレコードのステータス１７０２、ＦＷ種類１７０３、ＦＷバージョン１７０４を更新するデータベース更新依頼を行う。更新内容は、ステータス１７０２を「正常」に更新し、ＦＷ種類１７０３とＦＷバージョン１７０４を、配信情報１６００内の該当するレコードのＦＷ種類１６０３とＦＷバージョン１６０４の値に更新するものとする。そして、依頼したデータベース更新が成功した場合には、配信サーバ１０１の監視制御部４０１は、配信情報１６００内の該当するレコードの結果１６０６の値を「ＯＫ」に変更し、一方、依頼したデータベース更新が失敗した場合には結果１６０６の値を「ＮＧ」に変更する。
【０１００】
また、上記Ｓ９０６で画像形成装置１０７から受信した結果が「削除完了通知」の場合、配信サーバ１０１の監視制御部４０１は、配信情報１６００内の該当するレコードのステータス１６０５の値を「キャンセル」に変更する。さらに、配信サーバ１０１の監視制御部４０１は、監視サーバ１０３に画像形成装置情報１７００内の該当する装置識別子１７０１のレコードのステータス１７０２を「キャンセル」へ変更するデータベース更新依頼を行う。そして、依頼したデータベース更新が成功した場合には、配信サーバ１０１の監視制御部４０１は、配信情報１６００内の該当するレコードの結果１６０６の値を「ＯＫ」に変更し、一方、依頼したデータベース更新が失敗した場合には結果１６０６の値を「ＮＧ」に変更する。
また、画像形成装置１０７から受信した結果が「適用禁止に伴う完了通知」の場合には、配信サーバ１０１の監視制御部４０１は、データベース１０２の更新は行わない。
【０１０１】
図１３は、画像形成装置１０７におけるＦＷ適用開始指示（Ｓ６０４）から結果通知（Ｓ６０８）までの詳細な処理の一例を示すフローチャートである。このフローチャートの各ステップの処理は、特に表記がない場合、画像形成装置１０７のアップデート制御部５０２が行う。つまり、このフローチャートの各ステップの処理は、画像形成装置１０７のＣＰＵ３０１がＲＯＭ３０２又はＨＤＤ３０４に記録されたプログラム（アップデート制御部５０２を実現するためのプログラム）をＲＡＭ３０３に読み込んで実行することにより実現される。また、予め、画像形成装置１０７のＨＤＤ３０４内に配信サーバ１０１からダウンロードされた適用前のファームウェアが保存（格納）されている状態であることを前提とする。
【０１０２】
初めに、Ｓ１００１において、画像形成装置１０７のＵＩ部５０５は、画像形成装置１０７の管理者からのファームウェア適用の指示を、画像形成装置１０７の操作部３０５から受け付け可能に制御する。
【０１０３】
図１４は、図１３のＳ１００１にてＵＩ部５０５によって表示部３０６に表示されるＵＩ（画面）の一例を示す図である。
図１４のＵＩでは、「ファームウェアの適用」ボタン１１０１によって配信済みファームウェアの適用の指示を、「ファームウェアの削除」ボタン１１０２によって配信済みファームウェアの削除の指示を受け付ける。
【０１０４】
なお、ダウンロードされたファームウェアが存在しない場合には、ＵＩ部５０５は「ファームウェアの適用」ボタン１１０１と「ファームウェアの削除」ボタン１１０２が押下できないように表示制御する。
【０１０５】
そして、ＵＩ部５０５が、「ファームウェアの適用」ボタン１１０１押下による「配信済みファームウェアの適用の指示」を受けた場合（Ｓ１００１でＹｅｓ）、アップデート制御部５０２がＳ１００２の処理を行う。
【０１０６】
Ｓ１００２では、アップデート制御部５０２は、配信済みのファームウェアが画像形成装置１０７のＨＤＤ３０４内に存在するか否かを確認する。
そして、配信済みのファームウェアが画像形成装置１０７のＨＤＤ３０４内に存在しないと判定した場合（Ｓ１００２でＮｏ）、アップデート制御部５０２は、エラーが発生したと見なして、そのまま本フローチャートの処理を終了する。
【０１０７】
一方、配信済みのファームウェアが画像形成装置１０７のＨＤＤ３０４内に存在すると判定した場合（Ｓ１００２でＹｅｓ）、アップデート制御部５０２は、画像形成装置１０７の通信部５０４を介して、配信サーバ１０１へファームウェア適用開始通知を送信する（Ｓ１００３）。
【０１０８】
このファームウェア適用開始通知は、通知元の画像形成装置１０７の装置識別子を含む。本実施例では、適用開始通知に装置識別子を含めるが、装置識別子に加えて適用を行うファームウェアの種類やバージョンなどを含めてもよい。それらの情報と配信サーバ１０１で保持している配信済みのファームウェアの情報が一致するかを確認することで、適用されるファームウェアが正しいものであるか判断することが可能となる。
【０１０９】
そして、アップデート制御部５０２は、ファームウェア適用開始通知の応答を配信サーバ１０１から受信すると、Ｓ１００４に処理を進める。
Ｓ１００４では、アップデート制御部５０２は、上記ファームウェア適用開始通知の応答結果が「ＯＫ」（即ち適用許可）であるか否かを判定する。
そして、上記ファームウェア適用開始通知の応答結果が「ＯＫ」であると判定した場合（Ｓ１００４でＹｅｓ）、アップデート制御部５０２は、Ｓ１００５に処理を進める。
Ｓ１００５では、アップデート制御部５０２は、画像形成装置１０７のＨＤＤ３０４内の配信済みファームウェアの適用処理（第１の適用）を行う。即ち、ＲＯＭ３０２内のフラッシュＲＯＭ又はＨＤＤ３０４のファームウェア格納領域に上記配信されたファームウェアを格納し、画像形成装置１０７の再起動を実行し、該ファームウェアにより画像形成装置１０７を起動する。そして、アップデート制御部５０２は、Ｓ１００７において、ファームウェアの適用結果（上記処理が正常終了した場合は「適用完了通知」）を配信サーバ１０１へ送信し、本フローチャートの処理を終了する。
【０１１０】
一方、上記ファームウェア適用開始通知の応答結果が「ＯＫ」でないと判定した場合（Ｓ１００４でＮｏ）、アップデート制御部５０２は、Ｓ１００６に処理を進める。
Ｓ１００６では、アップデート制御部５０２は、上記ファームウェア適用開始通知の応答結果が「適用禁止」であるか否かを判定する。
そして、上記ファームウェア適用開始通知の応答結果が「適用禁止」であると判定した場合（Ｓ１００６でＹｅｓ）、アップデート制御部５０２は、Ｓ１００８に処理を進める。
【０１１１】
Ｓ１００８では、アップデート制御部５０２は、ＵＩ部５０５を用いて表示部３０６に、ファームウェアの適用が禁止されている旨の表示（図１５）を行う。その後、Ｓ１０１０において、アップデート制御部５０２は、ファームウェア削除完了通知を配信サーバ１０１へ送信し、本フローチャートの処理を終了する。
【０１１２】
図１５は、図１３のＳ１００８においてＵＩ部５０５によって表示部３０６に表示されるＵＩ（画面）の一例を示す図である。
図１５のＵＩでは、ファームウェアに問題があったことを示すメッセージを表示しているが、問題点の詳細情報を表示してもよい。
なお、ユーザ管理システムが搭載された画像形成装置１０７においては、ログインしているユーザの権限に応じて、適用が禁止されている場合であっても適用を許可してもよい。
【０１１３】
以下、図１３のフローチャートの説明に戻る。
一方、上記ファームウェア適用開始通知の応答結果が「適用禁止」でないと判定した場合（Ｓ１００６でＮｏ）、アップデート制御部５０２は、Ｓ１００９に処理を進める。
Ｓ１００９では、アップデート制御部５０２は、上記ファームウェア適用開始通知の応答結果が「削除指示」であるか否かを判定する。
そして、上記ファームウェア適用開始通知の応答結果が「削除指示」であると判定した場合（Ｓ１００９でＹｅｓ）、アップデート制御部５０２は、Ｓ１０１１に処理を進める。
【０１１４】
Ｓ１０１１では、アップデート制御部５０２は、画像形成装置１０７のＨＤＤ３０４内の配信済みファームウェアを削除する。そして、アップデート制御部５０２は、Ｓ１０１３において、ＵＩ部５０５を用いてファームウェアを削除した旨の表示を表示部３０６へ行い、Ｓ１０１５において、ファームウェアの削除完了通知を配信サーバ１０１へ送信し、本フローチャートの処理を終了する。
【０１１５】
一方、上記ファームウェア適用開始通知の応答結果が「削除指示」でないと判定した場合（Ｓ１００９でＮｏ）、アップデート制御部５０２は、Ｓ１０１２に処理を進める。
Ｓ１０１２では、アップデート制御部５０２は、何らかのエラーが発生したと見なして、ＵＩ部５０５を用いてエラーが発生した旨の表示を表示部３０６へ行い、Ｓ１０１４において、エラーの種類に応じてエラー処理を行い、本フローチャートの処理を終了する。
【０１１６】
以上示したように本実施形態によれば、配信済みのファームウェアに問題がある場合、配信側から、配信済みのファームウェアの画像形成装置への適用を制限（禁止）することが可能となる。
【０１１７】
なお、フローチャートには示していないが、ＵＩ部５０５が、「ファームウェアの削除」ボタン１１０２押下による「配信済みファームウェアの削除の指示」を受けた場合、アップデート制御部５０２は、画像形成装置１０７のＨＤＤ３０４内の配信済みファームウェアを削除する。そして、アップデート制御部５０２は、ＵＩ部５０５を用いてファームウェアを削除した旨の表示を表示部３０６へ行い、ファームウェアの削除完了通知（装置識別子を含む）を配信サーバ１０１へ送信する。そして、配信サーバ１０１の監視制御部４０１は、画像形成装置１０７から「削除完了通知」を受信すると、配信情報１６００内の該当するレコードのステータス１６０５の値を「キャンセル」に変更する。さらに、配信サーバ１０１の監視制御部４０１は、監視サーバ１０３に画像形成装置情報１７００内の該当する装置識別子１７０１のレコードのステータス１７０２を「正常」へ変更するデータベース更新依頼を行う。そして、依頼したデータベース更新が成功した場合には、配信サーバ１０１の監視制御部４０１は、配信情報１６００内の該当するレコードの結果１６０６の値を「ＯＫ」に変更し、一方、依頼したデータベース更新が失敗した場合には、結果１６０６の値を「ＮＧ」に変更する。
【０１１８】
次に、図１６（ａ）、図１７（ａ）を用いて、問題が見つかったファームウェアが配信されたまま残っている画像形成装置１０７が複数存在する場合において、それらの装置内のファームウェアを自動的に削除する方法を説明する。
【０１１９】
まず、図１６（ａ）を用いてクライアント側（即ち、画像形成装置１０７側）の処理を説明する。
図１６（ａ）は、実施例１における画像形成装置１０７におけるファームウェア削除に関する詳細な処理の一例を示すフローチャートである。このフローチャートの各ステップの処理は、特に表記がない場合、画像形成装置１０７の監視エージェント部５０１が行う。つまり、このフローチャートの各ステップの処理は、画像形成装置１０７のＣＰＵ３０１がＲＯＭ３０２又はＨＤＤ３０４に記録されたプログラム（アップデート制御部５０２を実現するためのプログラム）をＲＡＭ３０３に読み込んで実行することにより実現される。
【０１２０】
監視エージェント部５０１は、上述した監視サーバ１０３へ情報通知を行う際に用いている内部のスケジュールに従って、定期的に監視サーバ１０３に対してファームウェア削除予約確認（削除確認（第１の確認））を行う。監視エージェント部５０１は、監視サーバ１０３へ定期確認をするタイミングになった場合（Ｓ１３０１でＹｅｓ）、自装置の装置識別子を含むファームウェア削除予約確認要求を、監視サーバ１０３へ送信する。その後、監視エージェント部５０１は、ファームウェア削除予約確認要求の応答を受信するまで待機する。そして、ファームウェア削除予約確認要求の応答を監視サーバ１０３から受信すると、監視エージェント部５０１は、Ｓ１３０２に処理を進める。
【０１２１】
Ｓ１３０２では、監視エージェント部５０１は、応答結果に基づいて、削除予約が存在するか否かを判定する。即ち、応答結果が「削除予約有り」であるか否かを判定する。
そして、削除予約が存在しないと判断した場合（Ｓ１３０２でＮｏ）、即ち、応答結果が「削除予約有り」でない場合、監視エージェント部５０１は、Ｓ１３０１に処理を戻し、スケジュールに従ってファームウェア削除予約確認を行う。
【０１２２】
一方、削除予約が存在すると判断した場合（Ｓ１３０２でＹｅｓ）、即ち、応答結果が「削除予約有り」の場合、監視エージェント部５０１は、アップデート制御部５０２に対してファームウェアの削除を指示する。
【０１２３】
ファームウェア削除指示を受けたアップデート制御部５０２は、ＨＤＤ３０４内に配信済みファームウェアが存在するかを確認する（Ｓ１３０３）。
そして、ＨＤＤ３０４内に配信済みファームウェアが存在すると判断した場合（Ｓ１３０３でＹｅｓ）、アップデート制御部５０２は、ＨＤＤ３０４内の配信済みファームウェアを削除する（Ｓ１３０４）。
【０１２４】
その後、アップデート制御部５０２は、Ｓ１３０６において、「ファームウェア削除完了通知」を配信サーバ１０１へ送信してから、監視エージェント部５０１に対して、削除が完了したこと（削除完了報告）を通知する。
【０１２５】
削除完了報告を受け取った監視エージェント部５０１は、Ｓ１３０８において、監視サーバ１０３に対して、「削除完了通知」を送信し、本フローチャートの処理を終了する。
一方、上記Ｓ１３０２において、ＨＤＤ３０４内に配信済みファームウェアが存在しないと判断した場合（Ｓ１３０３でＮｏ）、アップデート制御部５０２は、Ｓ１３０５に処理を進める。
【０１２６】
Ｓ１３０５では、アップデート制御部５０２は、必要なエラー処理を行った後に、監視エージェント部５０１に対してエラーが発生したこと伝える。エラー報告を受け取った監視エージェント部５０１は、監視サーバ１０３に対してエラー通知を行い（Ｓ１３０７）、本フローチャートの処理を終了する。
【０１２７】
次に、図１７（ａ）を用いてサーバ側の処理を説明する。
図１７（ａ）は、実施例１の監視サーバ１０３における詳細な処理の一例を示すフローチャートである。このフローチャートの各ステップの処理は、特に表記がない場合、監視サーバ１０３の監視制御部４０１が行う。つまり、このフローチャートの各ステップの処理は、監視サーバ１０３のＣＰＵ２０１がＨＤＤ２０４に記録されたプログラム（監視制御部４０１を実現するためのプログラム）をＲＡＭ２０３に読み込んで実行することにより実現される。
【０１２８】
初めに、Ｓ１４０１において、監視サーバ１０３の監視制御部４０１は、通信部４０５を介して画像形成装置１０７から送信されるファームウェア削除予約確認要求（削除確認）を受信可能に制御する。
【０１２９】
監視サーバ１０３の監視制御部４０１は、ファーム削除予約確認要求を受信した場合（Ｓ１４０１でＹｅｓ）、Ｓ１４０２に処理を進める。
Ｓ１４０２では、監視サーバ１０３の監視制御部４０１は、データベース１０４内の画像形成装置情報１７００から、ファーム削除予約確認要求に含まれる装置識別子と一致する装置識別子１７０１のレコードのステータス１７０２の値を検索する。
【０１３０】
次に、監視サーバ１０３の監視制御部４０１は、Ｓ１４０３〜Ｓ１４０７にて、上記Ｓ１４０２の検索の結果に基づく返信（第２の返信）を行う。以下、詳細に示す。
まず、Ｓ１４０３において、監視サーバ１０３の監視制御部４０１は、上記Ｓ１４０２の検索の結果、ステータス１７０２が「削除予約中」であるか否かを判定する。
そして、ステータス１７０２が「削除予約中」であると判定した場合（Ｓ１４０３でＹｅｓ）、監視サーバ１０３の監視制御部４０１は、Ｓ１４０４に処理を進める。
Ｓ１４０４では、監視サーバ１０３の監視制御部４０１は、画像形成装置１０７に対して「削除予約有り」を返送し、通信部４０５を介して画像形成装置１０７からの結果を受信するまで待つ（Ｓ１４０５）。
【０１３１】
そして、画像形成装置１０７からの結果を受信した場合（Ｓ１４０５でＹｅｓ）、監視サーバ１０３の監視制御部４０１は、データベース１０４を更新し（Ｓ１４０６）、本フローチャートの処理を終了する。
【０１３２】
上記Ｓ１４０６におけるデータベース１０４の更新の具体例を以下に示す。
画像形成装置１０７から受信した結果が「削除完了通知」の場合には、監視サーバ１０３の監視制御部４０１は、データベースアクセス部４０６を使用して画像形成装置情報１７００内の該当する装置識別子１７０１のステータス１７０２の値を「正常」へ変更する。さらに、監視サーバ１０３の監視制御部４０１は、配信サーバ１０１に、配信情報１６００内の該当する装置識別子１６０１のレコードのステータス１６０５の値を「キャンセル」、結果１６０６の値を「ＯＫ」に変更するデータベース更新依頼を行う。また、画像形成装置１０７から受信した結果が「エラー」の場合には、監視サーバ１０３の監視制御部４０１は、エラーの内容に応じてデータベース１０４の更新を行う。
【０１３３】
一方、上記Ｓ１４０３において、監視サーバ１０３の監視制御部４０１は、上記Ｓ１４０２の検索の結果、ステータス１７０２が「削除予約中」でないと判定した場合（Ｓ１４０３でＮｏ）、画像形成装置１０７に対して「削除予約無し」を応答し（Ｓ１４０７）、本フローチャートの処理を終了する。
【０１３４】
なお、図１６（ａ）では、１つの画像形成装置１０７内の処理についての説明を行ったが、この処理は各画像形成装置１０７で個々に独立して行われる。
また、図１７（ａ）では、１つの画像形成装置１０７に対する監視サーバ１０３の処理を説明したが、この処理は、監視サーバ１０３内で複数の画像形成装置１０７に対して並列して行うことが可能である。
【０１３５】
以上説明したように、本実施形態によれば、問題が見つかったファームウェアが配信されたまま画像形成装置内に残っている画像形成装置１０７が複数存在する場合でも、管理者の手を煩わせずに自動的にファームウェアの削除を行うことができる。
【０１３６】
なお、本実施例では、配信管理者がファームウェアの「適用禁止」を指示した場合に、該指示に従ってファームウェアの適用を禁止し、削除は行わない構成を示した。しかし、配信管理者がファームウェアの「適用禁止」を指示した場合に、該指示に従ってファームウェアの適用を禁止、及び、該ファームウェアの削除を行うように構成してもよい。
【実施例２】
【０１３７】
実施形態２では、問題が見つかったファームウェアが既に画像形成装置１０７に適用されている場合において、自動で画像形成装置１０７のファームウェアのロールバックを行う例を、図１０（ｂ）、図１１（ｂ）、図１６（ｂ）、及び図１７（ｂ）を用いて説明する。
【０１３８】
図１０（ｂ）は、実施例２の配信サーバ１０１におけるロールバックに関する詳細な処理の一例を示すフローチャートである。このフローチャートの各ステップの処理は、特に表記がない場合、配信サーバ１０１の監視制御部４０１が行う。つまり、このフローチャートの各ステップの処理は、配信サーバ１０１のＣＰＵ２０１がＨＤＤ２０４に記録されたプログラム（監視制御部４０１を実現するためのプログラム）をＲＡＭ２０３に読み込んで実行することにより実現される。
【０１３９】
まず、配信サーバ１０１の監視制御部４０１は、配信管理者から特定の公開停止ファームウェアが適用された画像形成装置１０７を一覧表示する要求を、配信サーバ１０１の通信部４０５を介して受け付ける。この要求は、ここでは、ＰＣ１１１のＷｅｂブラウザから送信されるものとする。
【０１４０】
配信サーバ１０１１の監視制御部４０１は、一覧表示要求を受け付けると、配信サーバ１０１のデータベースアクセス部４０６を利用してデータベース１０２内のファームウェア情報１５００や配信情報１６００を基に該当する画像形成装置１０７の検索（第２の検出）を行う（Ｓ２７０２）。具体的には、配信サーバ１０１１の監視制御部４０１は、ファームウェア情報１５００のステータス１５０２の値が「公開停止」又は「削除」となっているレコードのＦＷ種類１５０１とＦＷバージョン１５０３の値を取得する。さらに、配信サーバ１０１１の監視制御部４０１は、配信情報１６００内から、配信ＦＷ１６０３とＦＷバージョン１６０４が上記取得した公開停止のＦＷ種類１５０１とＦＷバージョン１５０３に一致し、且つステータス１６０５が「完了」である装置識別子１６０１（即ち、該当する画像形成装置）を検索する。
【０１４１】
なお、ＰＣ１１１のＷｅｂブラウザからの指示により、いずれかのファームウェアのファームウェア情報１５００のステータス１５０２の値が「公開停止」又は「削除」に変更された場合、配信サーバ１０１１の監視制御部４０１は、Ｓ２７０１の配信管理者から特定の公開停止ファームウェアが適用された画像形成装置１０７を一覧表示する要求を受けたものとみなして、Ｓ２７０２以降の処理を開始するように構成してもよい。
【０１４２】
次に、配信サーバ１０１１の監視制御部４０１は、上記Ｓ２７０２の検索の結果、該当する装置識別子１６０１（該当する画像形成装置）が存在するか否かを判定する。
そして、検索の結果、該当する装置識別子１６０１（該当する画像形成装置）が存在すると判定した場合（Ｓ２７０３でＹｅｓ）、配信サーバ１０１１の監視制御部４０１は、装置識別子１６０１に対応する画像形成装置の一覧（図１１（ｂ））を、ＰＣ１１１のＷｅｂブラウザに送信する（Ｓ２７０４）。ＰＣ１１１のＷｅｂブラウザは、画像形成装置の一覧（図１１（ｂ））を表示する。
そして、配信サーバ１０１１の監視制御部４０１は、図１１（ｂ）からの指示（第２の指示）がＰＣ１１１のＷｅｂブラウザから送信されてくるのを待つ（Ｓ２７０５）。
【０１４３】
図１１（ｂ）は、図１０（ｂ）のＳ２７０４においてＰＣ１１１のＷｅｂブラウザの表示部２０５に表示されるＵＩ（画面）の一例を示す図である。
図１１（ｂ）に示すＵＩでは、公開停止ファームウェア毎に、適用済みデバイス一覧画面２８００が表示される。各画面２８００では、画像形成装置の一覧２８０１から１又は複数の画像形成装置を選択することが可能である。そして、選択した画像形成装置に対して、ロールバックボタン２８０３を押下してファームウェアのロールバックを指定することで、画像形成装置２８０１に対して、現在適用されているバージョンのファームウェアの１つ前に適用したバージョンのファームウェアの適用を行うロールバックの予約が可能である。また、ステータス２８０２が「ロールバック予約中」の画像形成装置を選択して「キャンセル」ボタン２８０４を押下することで、ファームウェアのロールバック予約の指定をキャンセルことが可能である。なお、図１１（ｂ）に示す画面では、画面内に組み込まれたプログラム等により、「ロールバック」ボタン２８０３、「キャンセル」ボタン２８０４が指示されると、その指示に応じた内容をステータス表示欄２８０２に表示するよう表示制御される。
【０１４４】
さらに、「確定」ボタン２８０５を押下することで、各画面２８００で表示されている画像形成装置の識別子２８０１とそのステータス２８０２等がＰＣ１１１のＷｅｂブラウザから配信サーバ１０１に送信される。
【０１４５】
以下、図１０（ｂ）のフローチャートの説明に戻る。
図１１（ｂ）のＵＩ上で、ロールバックが指定されたと判定した場合（Ｓ２７０５でＹｅｓ）、配信サーバ１０１の監視制御部４０１は、ＤＢ更新処理を行い（Ｓ２７０６）、本フローチャートの処理を終了する。
【０１４６】
上記Ｓ２７０６のＤＢ更新処理の更新内容は以下に示すようなものである。
まず、配信サーバ１０１の監視制御部４０１は、配信情報１６００に、新たなレコードを生成する。その際、装置識別子１６０１に該当する画像形成装置１０７の装置識別子を、配信ＦＷ１６０３とＦＷバージョン１６０４に、該当する画像形成装置１０７の装置識別子１６０１でステータス１６０５が２つ前に「完了」で結果１６０６が「ＯＫ」となったレコード（即ち、前々回に適用済となったレコード）の配信ＦＷ１６０３とＦＷバージョン１６０４を、ステータス１６０５に「配信中」を指定する。さらに、配信サーバ１０１の監視制御部４０１は、監視サーバ１０３に対して、該当する画像形成装置１０７の画像形成装置情報１７００のレコードのステータス１７０２、配信予約ＦＷ種類１７０５と配信予定ＦＷバージョン１７０６の更新を依頼する。ここでステータス１７０２は「配信予約中」を指定する。また、配信予約ＦＷ種類１７０５と配信予定ＦＷバージョン１７０６には、配信情報１６００内の該当する装置識別子１６０１の画像形成装置１０７が前々回適用済となったレコード（前々回に適用済となったレコード）の配信ＦＷ１６０３とＦＷバージョン１６０４を指定する。さらに、自動適用情報（画像形成装置情報１７００に含まれる不図示の情報で、配信を予定しているファームウェアを自動適用するか否かの情報を表す）には「自動適用」を指定する。ロールバックの場合、現在適用されているファームウェアに問題があり、配信予定のファームフェアを速やかに適用する必要があるためである。
【０１４７】
なお、図１０（ｂ）には図示していないが、所定時間、上記ＵＩを表示したＰＣ１１１のＷｅｂブラウザから返信が無い場合には、そのまま本フローチャートの処理を終了する。
【０１４８】
また、上記Ｓ２７０３において、上記Ｓ２７０２の検索の結果、該当する装置識別子１６０１（該当する画像形成装置）が存在しないと判定した場合（Ｓ２７０３でＮｏ）、配信サーバ１０１１の監視制御部４０１は、その旨をＵＩに表示し（Ｓ２７０８）、Ｓ２７０１に処理を戻す。
【０１４９】
なお、図１０（ｂ）の説明では、図１１（ｂ）のＵＩを表示して、ユーザに、適用済みのファームウェアをロールバックする画像形成装置を選択させる構成を示した。しかし、配信サーバ１０１１の監視制御部４０１は、ＤＢから該当する画像形成装置を検索し（Ｓ２７０２）、図１１（ｂ）のＵＩを表示させることなく、検索された該当する画像形成装置の全てに対して「ロールバック」が指示されたものとみなして、Ｓ２７０６のＤＢ更新の処理を行うようにしてもよい。
【０１５０】
次に、図１６（ｂ）、図１７（ｂ）を用いて、問題が見つかった適用済みのファームウェアを実際にロールバックする方法を説明する。
まず、図１６（ｂ）を用いてクライアント側（即ち、画像形成装置１０７側）の処理を説明する。
図１６（ｂ）は、実施例２の画像形成装置１０７におけるロールバックに関する詳細な処理の一例を示すフローチャートである。このフローチャートの各ステップの処理は、特に表記がない場合、画像形成装置１０７の監視エージェント部５０１が行う。つまり、このフローチャートの各ステップの処理は、画像形成装置１０７のＣＰＵ３０１がＲＯＭ３０２又はＨＤＤ３０４に記録されたプログラム（アップデート制御部５０２を実現するためのプログラム）をＲＡＭ３０３に読み込んで実行することにより実現される。
【０１５１】
監視エージェント部５０１は、上述した監視サーバ１０３へ情報通知を行う際に用いている内部のスケジュールに従って、定期的に監視サーバ１０３に対してファームウェア配信予約確認を行う。監視エージェント部５０１は、監視サーバ１０３へ定期確認をするタイミングになった場合（Ｓ２３０１でＹｅｓ）、自装置の装置識別子を含むファームウェア配信予約確認要求（配信確認（第２の確認））を、監視サーバ１０３へ送信する。その後、監視エージェント部５０１は、ファームウェア配信予約確認要求の応答を受信するまで待機する。そして、ファームウェア配信予約確認要求の応答を監視サーバ１０３から受信すると、監視エージェント部５０１は、Ｓ２３０２に処理を進める。
【０１５２】
Ｓ２３０２では、監視エージェント部５０１は、応答結果に基づいて、配信予約が存在するか否かを判定する。即ち、応答結果が「配信予約有り」であるか否かを判定する。なお、応答結果には、配信予定ＦＷ１７０５と配信予定ＦＷバージョン１７０６の値や、自動適用情報（画像形成装置情報１７００に含まれる不図示の情報で、配信を予定しているファームウェアを自動適用するか否かの情報を表す）も含まれるものとする。
【０１５３】
そして、配信予約が存在しないと判断した場合（Ｓ２３０２でＮｏ）、即ち、応答結果が「配信予約有り」でない場合、監視エージェント部５０１は、Ｓ２３０１に処理を戻し、スケジュールに従ってファームウェア配信予約確認を行う。
【０１５４】
一方、配信予約が存在すると判断した場合（Ｓ２３０２でＹｅｓ）、即ち、応答結果が「配信予約有り」の場合、監視エージェント部５０１は、Ｓ２３０３に処理を進める。
Ｓ２３０３では、監視エージェント部５０１は、上記受信した配信予定ＦＷ１７０５と配信予定ＦＷバージョン１７０６を基にアップデート制御部５０２に対してファームウェアの配信を指示する。ファームウェア配信指示を受けたアップデート制御部５０２は、配信サーバ１０１に対して配信予定ＦＷ１７０５と配信予定ＦＷバージョン１７０６に対応するファームウェアの配信依頼を行い、該配信依頼に応じて配信されたファームウェアを受信して、ＨＤＤ３０４に格納する。
【０１５５】
次に、Ｓ２３０４において、アップデート制御部５０２は、上記受信した自動適用情報（画像形成装置情報１７００に含まれる不図示の情報で、配信を予定しているファームウェアを自動適用するか否かの情報を表す）が「自動適用」を示すか否かを判定する。そして、自動適用情報が「自動適用」を示すと判定した場合（Ｓ２３０４でＹｅｓ）、アップデート制御部５０２は、上記配信されたファームウェアの適用処理（第２の適用）を行う（Ｓ２３０５）。即ち、ＲＯＭ３０２内のフラッシュＲＯＭ又はＨＤＤ３０４のファームウェア格納領域に上記配信されたファームウェアを格納し、画像形成装置１０７の再起動を実行し、該ファームウェアにより画像形成装置１０７を起動する。
【０１５６】
再起動後、アップデート制御部５０２は、Ｓ２３０６において、「適用完了通知」を配信サーバ１０１へ送信してから、監視エージェント部５０１に対して、適用が完了したこと（適用完了報告）を通知する。
【０１５７】
適用完了報告を受け取った監視エージェント部５０１は、Ｓ２３０７において、監視サーバ１０３に対して、「適用完了通知」を送信し、本フローチャートの処理を終了する。
一方、上記受信した自動適用情報が「自動適用」でない（「手動適用」を示す）と判定した場合（Ｓ２３０４でＮｏ）、アップデート制御部５０２は、Ｓ２３０８において、「配信完了通知」を配信サーバ１０１へ送信してから、監視エージェント部５０１に対して、配信が完了したこと（配信完了報告）を通知する。
【０１５８】
配信完了報告を受け取った監視エージェント部５０１は、Ｓ２３０９において、監視サーバ１０３に対して、「配信完了通知」を送信し、本フローチャートの処理を終了する。
次に、図１７（ｂ）を用いてサーバ側の処理を説明する。
図１７（ｂ）は、実施例２の監視サーバ１０３における詳細な処理の一例を示すフローチャートである。このフローチャートの各ステップの処理は、特に表記がない場合、監視サーバ１０３の監視制御部４０１が行う。つまり、このフローチャートの各ステップの処理は、監視サーバ１０３のＣＰＵ２０１がＨＤＤ２０４に記録されたプログラム（監視制御部４０１を実現するためのプログラム）をＲＡＭ２０３に読み込んで実行することにより実現される。
【０１５９】
初めに、Ｓ２４０１において、監視サーバ１０３の監視制御部４０１は、通信部４０５を介して画像形成装置１０７から送信されるファームウェア配信予約確認要求（配信確認）を受信可能に制御する。
【０１６０】
監視サーバ１０３の監視制御部４０１は、ファームウェア配信予約確認要求を受信した場合（Ｓ２４０１でＹｅｓ）、Ｓ２４０２に処理を進める。
Ｓ２４０２では、監視サーバ１０３の監視制御部４０１は、データベース１０４内の画像形成装置情報１７００から、ファーム削除予約確認要求に含まれる装置識別子と一致する装置識別子１７０１のレコードのステータス１７０２の値を検索する。
【０１６１】
次に、監視サーバ１０３の監視制御部４０１は、Ｓ２４０３〜Ｓ２４０７にて、上記Ｓ２４０２の検索の結果に基づく返信（第３の返信）を行う。以下、詳細に示す。
まず、Ｓ２４０３において、監視サーバ１０３の監視制御部４０１は、上記Ｓ２４０２の検索の結果、ステータス１７０２が「配信予約中」であるか否かを判断することでファームウェアの配信予約（即ち、配信すべきファームウェア）の有無を判定する。
【０１６２】
そして、ステータス１７０２が「配信予約中」であると判断した場合、ファームウェアの配信予約（即ち、配信すべきファームウェア）が存在すると判定し（Ｓ２４０３でＹｅｓ）、監視サーバ１０３の監視制御部４０１は、Ｓ２４０４に処理を進める。
【０１６３】
Ｓ２４０４では、監視サーバ１０３の監視制御部４０１は、画像形成装置１０７に対して「配信予約有り」の応答を返送し、通信部４０５を介して画像形成装置１０７からの結果を受信するまで待つ（Ｓ２４０５）。なお、「配信予約有り」の応答には、画像形成装置情報１７００の該当するレコードの配信予定ＦＷ１７０５と配信予定ＦＷバージョン１７０６、自動適用情報（画像形成装置情報１７００に含まれる不図示の情報で、配信を予定しているファームウェアを自動適用するか否かの情報を表す）を含めるものとする。
【０１６４】
そして、画像形成装置１０７からの結果を受信した場合（Ｓ２４０５でＹｅｓ）、監視サーバ１０３の監視制御部４０１は、データベース１０４を更新し（Ｓ２４０６）、本フローチャートの処理を終了する。
【０１６５】
上記Ｓ２４０６におけるデータベース１０４の更新の具体例を以下に示す。
画像形成装置１０７から受信した結果が「適用完了通知」の場合には、監視サーバ１０３の監視制御部４０１は、データベースアクセス部４０６を使用して画像形成装置情報１７００内の該当する装置識別子１７０１のステータス１７０２の値を「正常」へ変更する。さらに、ＦＷ種類１７０３とＦＷバージョン１７０４の値を、配信予定ＦＷ１７０５と配信予定ＦＷバージョン１７０６の値に変更する。さらに、配信予定ＦＷ１７０５と配信予定ＦＷバージョン１７０６の値を削除する。
【０１６６】
また、画像形成装置１０７から受信した結果が「配信完了通知」の場合には、監視サーバ１０３の監視制御部４０１は、データベースアクセス部４０６を使用して画像形成装置情報１７００内の該当する装置識別子１７０１のステータス１７０２の値を「正常」へ変更し、配信予定ＦＷ１７０５と配信予定ＦＷバージョン１７０６の値を削除する。
【０１６７】
一方、上記Ｓ２４０３において、監視サーバ１０３の監視制御部４０１は、上記Ｓ２４０２の検索の結果、ステータス１７０２が「配信予約中」でないと判断した場合、ファームウェアの配信予約（即ち、配信すべきファームウェア）が存在しないと判定し（Ｓ２４０３でＮｏ）、画像形成装置１０７に対して「配信予約無し」を応答し（Ｓ２４０７）、本フローチャートの処理を終了する。
【０１６８】
なお、図１６（ｂ）では、１つの画像形成装置１０７内の処理についての説明を行ったが、この処理は各画像形成装置１０７で個々に独立して行われる。
また、図１７（ｂ）では、１つの画像形成装置１０７に対する監視サーバ１０３の処理を説明したが、この処理は、監視サーバ１０３内で複数の画像形成装置１０７に対して並列して行うことが可能である。
【０１６９】
なお、図示しないが、画像形成装置１０７からファームウェアの配信依頼（図１６（ｂ）のＳ２３０３）を受けた配信サーバ１０１の監視制御部４０１は、上記配信依頼で指定されたＦＷ種類とＦＷバージョンに対応するファームウェアを、ＨＤＤ２０４から読み出して、上記配信依頼元の画像形成装置１０７に配信する。
【０１７０】
そして、上記ファームウェアの配信先の画像形成装置１０７からの結果を受信した場合、配信サーバ１０１の監視制御部４０１は、データベース１０２を更新する。
上記データベース１０２の更新の具体例を以下に示す。
画像形成装置１０７から受信した結果が「適用完了通知」の場合には、配信サーバ１０１の監視制御部４０１は、配信情報１６００内の該当する装置識別子１６０１のレコードのステータス１６０５の値を「完了」、結果１６０６の値を「ＯＫ」に変更する。
【０１７１】
また、画像形成装置１０７から受信した結果が「配信完了通知」の場合には、配信サーバ１０１の監視制御部４０１は、配信情報１６００内の該当する装置識別子１６０１のレコードのステータス１６０５の値を「ダウンロード済み」に変更する。
【０１７２】
以上説明したように、本実施形態によれば、問題が見つかったファームウェアが適用された画像形成装置１０７が複数存在する場合において、管理者の手を煩わせずに、自動的にファームウェアのロールバックを行うことが可能となる。
【０１７３】
結果として、ファームウェアの配信を管理する管理者の管理コストを抑えることができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【０１７４】
（他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０１７５】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１７６】
１０１    配信サーバ
１０２    データベース
１０３    監視サーバ
１０４    データベース
１０７    画像形成装置
１１１    ＰＣ
【図１】
0005677173.tif 000002
【図２】
0005677173.tif 000003
【図３】
0005677173.tif 000004
【図４】
0005677173.tif 000005
【図５】
0005677173.tif 000006
【図６】
0005677173.tif 000007
【図７】
0005677173.tif 000008
【図８】
0005677173.tif 000009
【図９】
0005677173.tif 000010
【図１０】
0005677173.tif 000011
【図１１】
0005677173.tif 000012
【図１２】
0005677173.tif 000013
【図１３】
0005677173.tif 000014
【図１４】
0005677173.tif 000015
【図１５】
0005677173.tif 000016
【図１６】
0005677173.tif 000017
【図１７】
0005677173.tif 000018