(57)【要約】【課題】配信システムからのソフトウェアの配信に関わるネットワークデバイスの状態をリアルタイムに把握し、必要に応じてリカバリを行うことが可能なシステムを提供する。【解決手段】配信システム１０３から状態管理サーバ１０２を介して配信されたソフトウェアの配信を指示するメッセージに従い、画像形成装置１０１は、ソフトウェアのダウンロード処理を実行し、状態管理サーバ１０２に対してダウンロード処理の完了を示すメッセージを通知する。状態管理サーバ１０２を介して該メッセージを受信した配信システム１０３は、指定されたタイミングでの適用が行えるかを判定し、該タイミングでの適用が行えないと判定された場合に、適用タイミングの再設定を示すメッセージを、状態管理サーバ１０２を介して画像形成装置１０１に通知する。画像形成装置１０１は、該メッセージが示す再設定された適用タイミングに従い、ソフトウェアの適用処理を実行する。【選択図】図１０
2019160082.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークデバイスと、前記ネットワークデバイスのソフトウェアを管理する配信システムと、状態管理サーバとを含むシステムであって、
前記配信システムは、前記状態管理サーバに対してメッセージを通知し、
前記状態管理サーバは、通知された該メッセージの内容に従い、前記状態管理サーバが管理するネットワークデバイスの状態を更新し、
前記状態管理サーバは、該更新を前記ネットワークデバイスに配信し、
前記ネットワークデバイスは、配信された該更新の内容に従い、ソフトウェアのダウンロード処理を実行し、
前記ネットワークデバイスは、前記状態管理サーバに対してダウンロード処理の実行中を示すメッセージを通知し、
前記状態管理サーバは、通知された該メッセージに従い、前記状態管理サーバが管理するネットワークデバイスの状態を更新し、
前記状態管理サーバは、該更新を前記配信システムに配信し、
前記ネットワークデバイスは、前記状態管理サーバに対して前記ダウンロード処理の完了を示すメッセージを通知し、
前記状態管理サーバは、通知された該メッセージに従い、前記状態管理サーバが管理するネットワークデバイスの状態を更新し、
前記状態管理サーバは、該更新を前記配信システムに配信し、
前記配信システムは、配信された該更新の内容が前記ダウンロード処理の完了を示す場合に、前記ソフトウェアの適用条件で指定されたタイミングでの適用が行えるかを判定し、
前記配信システムは、該タイミングでの適用が行えないと判定された場合に指定される適用タイミングの再設定を示すメッセージを前記状態管理サーバに対して通知し、
前記状態管理サーバは、通知された該メッセージに従い、前記状態管理サーバが管理するネットワークデバイスの状態を更新し、
前記状態管理サーバは、該更新を前記ネットワークデバイスに配信し、
前記ネットワークデバイスは、配信された該更新の内容が示す再設定された適用タイミングに従い、ダウンロード済みの前記ソフトウェアの適用処理を実行し、
前記ネットワークデバイスは、前記状態管理サーバに対して前記適用処理の完了を示すメッセージを通知し、
前記状態管理サーバは、通知されたメッセージに従い、前記状態管理サーバが管理するネットワークデバイスの状態を更新し、
前記状態管理サーバは、該更新を前記配信システムに配信する、
ことを特徴とするシステム。
【請求項２】
前記適用条件で指定されたタイミングが即時の場合、前記ネットワークデバイスは、前記ダウンロード処理の完了を示すメッセージを通知後に、ダウンロード済みの前記ソフトウェアの適用処理を実行し、前記配信システムでの、前記適用条件で指定されたタイミングでの適用が行えるかの判定が行われない
ことを特徴とする請求項１に記載のシステム。
【請求項３】
前記適用条件で指定されたタイミングでの適用が行えないと判定された場合に、前記配信システムは、前記適用タイミングの再設定を指定するための画面を表示する
ことを特徴とする請求項１または請求項２に記載のシステム。
【請求項４】
前記適用条件で指定されたタイミングでの適用が行えると判定された場合に、前記配信システムでの、前記画面の表示が行われない
ことを特徴とする請求項３に記載のシステム。
【請求項５】
前記ネットワークデバイスは、前記ダウンロード処理の完了を示すメッセージを通知後に、前記適用条件で指定されたタイミングでの適用が行えるかを判定し、前記適用条件で指定されたタイミングでの適用が行えないと判定された場合、前記配信システムでの前記適用タイミングの再設定を指定するための画面の表示が行われる
ことを特徴とする請求項３または請求項４に記載のシステム。
【請求項６】
前記ネットワークデバイスは、前記適用条件で指定されたタイミングに関わらず、該適用タイミングの再設定を指定するための画面を表示する
ことを特徴とする請求項１乃至５のいずれか一項に記載のシステム。
【請求項７】
前記配信システムから複数のネットワークデバイスの状態を一括して更新するメッセージが通知されたことに応じて、前記複数のネットワークデバイスのうち１つのネットワークデバイスにおいてダウンロード処理が完了したときに、該複数のネットワークデバイスのうちダウンロード処理が完了していない他のネットワークデバイスが存在する場合に、
前記配信システムは、前記適用条件で指定されたタイミングでの適用を一時的に停止する指示を示すメッセージを前記状態管理サーバに対して通知する
ことを特徴とする請求項１乃至６のいずれか一項に記載のシステム。
【請求項８】
前記複数のネットワークデバイスの全てにおいてダウンロード処理が完了を示す状態への更新が配信された場合に、前記適用条件で指定されたタイミングでの適用を一時的に停止する指示を示すメッセージの対象のネットワークデバイスに対して該停止を解除するメッセージを、前記配信システムから前記状態管理サーバに対して通知する第７の通知手段をさらに有する
ことを特徴とする請求項７に記載のシステム。
【請求項９】
前記ネットワークデバイスは、前記状態管理サーバに対して前記適用処理の実行中を示すメッセージを通知し、
前記状態管理サーバは、通知された該メッセージに従い、前記状態管理サーバが管理するネットワークデバイスの状態を更新し、
前記状態管理サーバは、該更新を前記配信システムに配信する
ことを特徴とする請求項１乃至８のいずれか一項に記載のシステム。
【請求項１０】
前記配信システムは、前記適用条件を指定するための画面を表示し、
前記画面において、前記適用条件で指定されるタイミングとして即時または日時が指定される
ことを特徴とする請求項１乃至９のいずれか一項に記載のシステム。
【請求項１１】
ネットワークデバイスと、前記ネットワークデバイスのソフトウェアを管理する配信システムと、状態管理サーバとを含むシステムにおける方法であって、
前記配信システムが、前記状態管理サーバに対してメッセージを通知する工程と、
前記状態管理サーバが、通知された該メッセージの内容に従い、前記状態管理サーバが管理するネットワークデバイスの状態を更新する工程と、
前記状態管理サーバが、該更新を前記ネットワークデバイスに配信する工程と、
前記ネットワークデバイスは、配信された該更新の内容に従い、ソフトウェアのダウンロード処理を実行する工程と、
前記ネットワークデバイスが、前記状態管理サーバに対してダウンロード処理の実行中を示すメッセージを通知する工程と、
前記状態管理サーバが、通知された該メッセージに従い、前記状態管理サーバが管理するネットワークデバイスの状態を更新する工程と、
前記状態管理サーバが、該更新を前記配信システムに配信する工程と、
前記ネットワークデバイスが、前記状態管理サーバに対して前記ダウンロード処理の完了を示すメッセージを通知する工程と、
前記状態管理サーバが、通知された該メッセージに従い、前記状態管理サーバが管理するネットワークデバイスの状態を更新する工程と、
前記状態管理サーバが、該更新を前記配信システムに配信する工程と、
前記配信システムが、配信された該更新の内容が前記ダウンロード処理の完了を示す場合に、前記ソフトウェアの適用条件で指定されたタイミングでの適用が行えるかを判定する工程と、
前記配信システムが、該タイミングでの適用が行えないと判定された場合に指定される適用タイミングの再設定を示すメッセージを前記状態管理サーバに対して通知する工程と、
前記状態管理サーバが、通知された該メッセージに従い、前記状態管理サーバが管理するネットワークデバイスの状態を更新する工程と、
前記状態管理サーバが、該更新を前記ネットワークデバイスに配信する工程と、
前記ネットワークデバイスが、配信された該更新の内容が示す再設定された適用タイミングに従い、ダウンロード済みの前記ソフトウェアの適用処理を実行する工程と、
前記ネットワークデバイスが、前記状態管理サーバに対して前記適用処理の完了を示すメッセージを通知する工程と、
前記状態管理サーバが、通知されたメッセージに従い、前記状態管理サーバが管理するネットワークデバイスの状態を更新する工程と、
前記状態管理サーバが、該更新を前記配信システムに配信する工程と、を有する
ことを特徴とするシステムにおける方法
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムおよびシステムにおける方法に関する。
【背景技術】
【０００２】
従来、ネットワークデバイスのプログラムを更新する方法が提案されている。また、ネットワークデバイスの１つである画像形成装置等において、ファームウェアを更新する場合、更新中は該ネットワークデバイスを使用できないため、利用頻度の低い時間帯などにファームウェアの更新を指示する方法が提案されている。
【０００３】
特許文献１は、ファームウェアの適用の時刻を指定可能なネットワークシステムが開示されている。特許文献１では、ファームウェアの適用の時刻が指定された後、該時刻に画像形成装置の電源が切断されていたが、該時刻から所定の時間内に該電源が立ち上げられた場合、電源を立ち上げ後の画像形成装置にファームウェアを適用することが記載されている。
【０００４】
また一方、近年、インターネットに家電製品や自動車などをネットワークデバイス（クライアント）として接続する「Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ」（ＩｏＴ）を実現するシステムが多く利用されてきている。ネットワークデバイスの１つである画像形成装置の多機能化が進み、Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ（ＭＦＰ）と呼ばれる複合機もＩｏＴシステムのクライアントとすることが可能となった。
【０００５】
ＩｏＴシステムでは、膨大な数のクライアントが接続されることを前提とする。ＩｏＴシステムは、クライアントからの膨大な量の情報を収集、分析することでクライアントおよびそれを利用するユーザに対して付加価値を提供する。例えば、複合機をクライアントとするＩｏＴシステムでは、複合機の状態を管理するサービスが、画像形成装置の構成情報をリアルタイムに監視し、最新のファームウェアやアプリケーションの配信をリアルタイムに指示することが可能である。
【０００６】
例えば、Ａｍａｚｏｎ  Ｗｅｂ  Ｓｅｒｖｉｃｅ（ＡＷＳ）が提供するサービスであるＡＷＳ  ＩｏＴには、Ｄｅｖｉｃｅ  Ｓｈａｄｏｗというサービスとクライアントとの間でクライアントの状態をリアルタイムに共有する機能がある。これを利用することで、サービスは、クライアントの状態をリアルタイムに監視しクライアントから収集した各種情報を分析し、クライアントに対して必要な指示を配信することが可能となる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１５−３５０７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１では、配信システムからから指定した時刻にファームウェアの適用が実行できなかった場合に、配信システムにおいてリアルタイムでその状態を把握する仕組みについて開示されていない。また、指定した時刻にファームウェアの適用が実行できなかった場合であって、該時刻から所定の時間内にファームウェアの適用が開始される場合、そのときの状況によっては画像形成装置の利用頻度の高い時間帯に適用処理が実行されてしまう可能性がある。ユーザが再度指定、ユーザが使用したいときに画像形成装置を使用できない状況が起こり得る。
【０００９】
本発明は、配信システムからのソフトウェアの配信に関わるネットワークデバイスの状態をリアルタイムに把握し、必要に応じてリカバリを行うことが可能なシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一実施形態のシステムは、ネットワークデバイスと、前記ネットワークデバイスのソフトウェアを管理する配信システムと、状態管理サーバとを含むシステムであって、前記配信システムは、前記状態管理サーバに対してメッセージを通知し、前記状態管理サーバは、通知された該メッセージの内容に従い、前記状態管理サーバが管理するネットワークデバイスの状態を更新し、前記状態管理サーバは、該更新を前記ネットワークデバイスに配信し、前記ネットワークデバイスは、配信された該更新の内容に従い、ソフトウェアのダウンロード処理を実行し、前記ネットワークデバイスは、前記状態管理サーバに対してダウンロード処理の実行中を示すメッセージを通知し、前記状態管理サーバは、通知された該メッセージに従い、前記状態管理サーバが管理するネットワークデバイスの状態を更新し、前記状態管理サーバは、該更新を前記配信システムに配信し、前記ネットワークデバイスは、前記状態管理サーバに対して前記ダウンロード処理の完了を示すメッセージを通知し、前記状態管理サーバは、通知された該メッセージに従い、前記状態管理サーバが管理するネットワークデバイスの状態を更新し、前記状態管理サーバは、該更新を前記配信システムに配信し、前記配信システムは、配信された該更新の内容が前記ダウンロード処理の完了を示す場合に、前記ソフトウェアの適用条件で指定されたタイミングでの適用が行えるかを判定し、前記配信システムは、該タイミングでの適用が行えないと判定された場合に指定される適用タイミングの再設定を示すメッセージを前記状態管理サーバに対して通知し、前記状態管理サーバは、通知された該メッセージに従い、前記状態管理サーバが管理するネットワークデバイスの状態を更新し、前記状態管理サーバは、該更新を前記ネットワークデバイスに配信し、前記ネットワークデバイスは、配信された該更新の内容が示す再設定された適用タイミングに従い、ダウンロード済みの前記ソフトウェアの適用処理を実行し、前記ネットワークデバイスは、前記状態管理サーバに対して前記適用処理の完了を示すメッセージを通知し、前記状態管理サーバは、通知されたメッセージに従い、前記状態管理サーバが管理するネットワークデバイスの状態を更新し、前記状態管理サーバは、該更新を前記配信システムに配信する。
【発明の効果】
【００１１】
本発明のシステムによれば、配信システムからのソフトウェアの配信に関わるネットワークデバイスの状態をリアルタイムに把握し、必要に応じてリカバリを行うことが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係るシステムの全体構成例を示す図である。
【図２】各装置の情報処理機能のハードウェア構成例を示す図である。
【図３】各装置のソフトウェア構成例を示す図である。
【図４】状態情報ファイルの一例を示す図である。
【図５】状態情報ファイルの一例を示す図である。
【図６】状態情報ファイルの一例を示す図である。
【図７】配信設定画面の一例を示す図である。
【図８】出版−購読型モデルに基づくメッセージの送受信に係る処理を示す図である。
【図９】画像形成装置がソフトウェアをダウンロードするまでの処理を示す図である。
【図１０】画像形成装置がソフトウェアを適用するまでの処理を示す図である。
【図１１】画像形成装置がソフトウェアを適用するまでの処理を示す図である。
【図１２】適用時刻の再設定画面の一例を示す図である。
【図１３】画像形成装置がソフトウェアを適用するまでの処理を示す図である。
【図１４】画像形成装置がソフトウェアを適用するまでの処理を示す図である。
【図１５】複数の画像形成装置を対象とするソフトウェアの適用処理を示す図である。
【図１６】複数の画像形成装置を対象とするソフトウェアの適用処理を示す図である。
【図１７】ソフトウェアの強制適用の指示画面の一例を示す図である。
【図１８】画像形成装置がソフトウェアを適用するまでの処理を示す図である。
【図１９】画像形成装置がソフトウェアを適用するまでの処理を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面などを参照して説明する。
【００１４】
（第１実施形態）
図１は、本発明の一実施形態に係るシステムの全体構成例を示す図である。
本実施形態に係るシステムは、ネットワーク１００を介して接続されるネットワークデバイスの一例としての画像形成装置１０１、状態管理サーバ１０２、および配信システム１０３等から構成される。
【００１５】
なお、本実施形態では、ネットワークデイバスの一例として画像形成装置（ＭＦＰ）１０１を用いて説明するが、これに限られるものではない。ネットワークデバイスは、例えば、プリンタやスキャナ、ネットワーク中継機器（ルータ）やネットワークカメラ等の機器であってもよく、ネットワーク１００を介した通信機能を有する機器であればどのようなものでもよい。
【００１６】
なお、本実施形態に係る状態管理サーバ１０２および配信システム１０３は、それぞれ複数のサーバコンピュータから構築されてもよく、また、クラウドサービスによって提供されるリソースとしての仮想マシンやストレージを用いて構築されてもよい。仮想マシンとは、仮想化技術によって、データセンタ上のサーバコンピュータ（実コンピュータ）を物理的な構成にとらわれずに論理的な単位で分割し、分割したそれぞれで独立したオペレーティングシステムをもって動作する論理的なコンピュータである。
【００１７】
１台以上のサーバコンピュータ上で動作する１以上の仮想マシンを用いて、状態管理サーバ１０２および配信システム１０３が構築される。サーバコンピュータや作成する仮想マシンの数は限定しない。状態管理サーバ１０２および配信システム１０３が備える各ソフトウェアモジュールは、それぞれ別の仮想マシンで実行される場合もあれば、同一の仮想マシンで実行される場合もある。
【００１８】
ネットワーク１００は、各構成要素間で通信を行うための基盤であって、Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＷＡＮ）、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）、またはその他のネットワークシステムであってもかまわない。
【００１９】
画像形成装置１０１は、本システムのクライアントとなるネットワークデバイスである。画像形成装置１０１は、ネットワーク１００を介して状態管理サーバ１０２および配信システム１０３と相互に接続する。なお、ネットワーク１００に接続する画像形成装置１０１の数は、図１に示した例に限定されるものではなく、１以上の画像形成装置１０１がネットワーク１００を介して状態管理サーバ１０２および配信システム１０３に接続する構成を採ることができる。
【００２０】
状態管理サーバ１０２は、画像形成装置１０１の状態を管理するＩｏＴ管理サーバとして機能する。画像形成装置１０１は、自身の状態に変化があった場合に、状態管理サーバ１０２にその旨を示す情報を送信する。また、状態管理サーバ１０２は、配信システム１０３からの指示を画像形成装置１０１に送信する。状態管理サーバ１０２の代表的な例として、ＡＷＳ  ＩｏＴ等が挙げられるが、これに限定するものではない。
【００２１】
配信システム１０３は、状態管理サーバ１０２を介して画像形成装置１０１の状態を監視する。また、配信システム１０３は、状態管理サーバ１０２を介して画像形成装置１０１の変化に応じた指示を画像形成装置１０１に送信する。例えば、配信システム１０３は、ソフトウェアの配信に関わる画像形成装置１０１の状態を監視し、画像形成装置１０１の状態の変化に応じた指示を生成し、該画像形成装置１０１に対して送信する。
【００２２】
図２は、画像形成装置１０１、状態管理サーバ１０２、および配信システム１０３の情報処理機能のハードウェア構成例を示す図である。
なお、状態管理サーバ１０２または配信システム１０３が仮想マシンを用いて構築される場合、図２は、該仮想マシンを構築するデータセンタ上の実コンピュータのハードウェア構成を示すものである。この場合、状態管理サーバ１０２または配信システム１０３は、仮想化技術によって図２に示す各ハードウェア要素と同等の特徴を有する仮想ハードウェアとして実現される。
【００２３】
ＣＰＵ２０１は、ＲＯＭ２０３のプログラム用ＲＯＭや、外部メモリ２１１からＲＡＭ２０２に読み込んだオペレーティングシステム（ＯＳ）やアプリケーション等のプログラムを実行する。また、ＣＰＵ２０１は、システムバス２０４に接続される各ブロックを制御する。後述する各シーケンスの処理は、ＣＰＵ２０１がＲＡＭ２０２に読み込んだプログラムを実行することにより実現される。
【００２４】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＲＯＭ２０３は、組込済みプログラムおよびデータが記録されている記憶素子である。ＣＰＵ２０１は、操作部Ｉ／Ｆ２０５を介して操作部２０９からの入力を制御する。ＣＰＵ２０１は、ＣＲＴコントローラ（ＣＲＴＣ）２０６を介してＣＲＴ２１０の表示を制御する。ＣＰＵ２０１は、ディスクコントローラ（ＤＫＣ）２０７を介して各種データを記憶するハードディスク（ＨＤ）等の外部メモリ２１１におけるデータアクセスを制御する。
【００２５】
ＣＰＵ２０１は、ネットワークコントローラ（ＮＣ）２０８を制御することにより、ネットワーク１００を介して接続されたサーバコンピュータや他の機器との通信制御処理を実行する。なお後述の全ての説明において、特に断りのない限りプログラムを実行するハードウェアの主体はＣＰＵ２０１であり、ソフトウェアの主体は外部メモリ２１１にインストールされたプログラムである。
【００２６】
図３は、本実施形態に係るシステムのソフトウェア構成を示す図である。
図３に示す各ソフトウェアモジュールは、各装置の外部メモリ２１１に格納され、ＣＰＵ２０１によって実行される。
【００２７】
まず、画像形成装置１０１のソフトウェア構成について説明する。画像形成装置１０１は、連携モジュール３１０および管理モジュール３２０を備える。連携モジュール３１０は、画像形成装置１０１の状態を通知するメッセージを状態管理サーバ１０２に送信するとともに、状態管理サーバ１０２を介して配信システム１０３が生成する各種指示を示すメッセージを受信する。なお、後述するように、本実施形態では、画像形成装置１０１は、状態を通知するメッセージおよび状態の更新を指示するメッセージとして状態情報ファイル（図４〜図６）を送受信する。連携モジュール３１０は、通信部３１１、メッセージ生成部３１２、およびメッセージ解析部３１３から構成される。
【００２８】
通信部３１１は、ＮＣ２０８を介してネットワーク１００により接続される状態管理サーバ１０２と通信を行う。メッセージ生成部３１２は、管理モジュール３２０から取得した画像形成装置１０１の状態情報に基づき自装置の状態を通知するメッセージを生成する。生成されたメッセージは、通信部３１１を介して状態管理サーバ１０２に送信される。メッセージ解析部３１３は、通信部３１１を介して状態管理サーバ１０２から受信した各種メッセージの解析を行い、管理モジュール３２０に送信する。
【００２９】
管理モジュール３２０は、配信システム１０３が生成し、状態管理サーバ１０２を介してメッセージ解析部３１３が受信した各種メッセージに従い各種状態や各種設定値などの情報を画像形成装置１０１へ反映するモジュールである。管理モジュール３２０は、制御部３２１、管理部３２２、メッセージ解析部３２３、メッセージ実行部３２４から構成される。また、メッセージ実行部３２４は、ダウンロード制御部３２５および適用制御部３２６から構成される。
【００３０】
制御部３２１は、管理モジュール３２０の全体を制御し、管理モジュール３２０の各構成要素に対する指示および管理を行う。管理部３２２は、画像形成装置１０１の各種状態を示す値および各種設定値を管理する。メッセージ解析部３２３は、通信部３１１から受信したメッセージの詳細な解析を行い、メッセージ実行部３２４で実行する処理を確定する。
【００３１】
メッセージ実行部３２４は、メッセージ解析部３２３が解析した内容に従い、画像形成装置１０１の状態や設定の変更等を行う。また、メッセージ実行部３２４は、処理が完了すると、管理部３２２が管理する各種状態を示す値および各種設定値を更新する。ダウンロード制御部３２５は、ソフトウェアのダウンロード処理の制御を行う。適用制御部３２６は、メッセージソフトウェアの適用処理の制御を行う。
【００３２】
次に、状態管理サーバ１０２のソフトウェア構成について説明する。状態管理サーバ１０２は、モジュール３３０を備える。モジュール３３０は、画像形成装置１０１と配信システム１０３とのメッセージの送受信を管理する。モジュール３３０は、画像形成装置１０１の状態を管理し、画像形成装置１０１において状態に変更があれば、自身が管理する該画像形成装置１０１の状態を更新し、該更新を配信システム１０３に配信する。
【００３３】
また、モジュール３３０は、配信システム１０３から画像形成装置１０１に対するメッセージを受信し、画像形成装置１０１に該メッセージを配信することで、画像形成装置１０１に状態の更新を指示する。
【００３４】
モジュール３３０は、通信部３３１、クライアント管理部３３２、クライアントデータベース３３３、接続管理部３３４、接続管理データベース３３５、権限管理データベース３３６、およびメッセージ生成部３３７から構成される。通信部３３１は、ＮＣ２０８を介してネットワーク１００により接続される画像形成装置１０１および配信システム１０３と通信を行う。
【００３５】
クライアント管理部３３２は、状態管理サーバ１０２にネットワーク１００を介して接続される画像形成装置１０１の状態を示す情報（状態情報）を管理する。画像形成装置１０１の状態情報は、クライアントデータベース３３３に格納される。クライアントデータベース３３３に格納され、クライアント管理部３３２が管理する画像形成装置１０１の状態情報の一例を以下の状態情報テーブルに示す。
【００３６】
【表１】
2019160082.tif 000003
【００３７】
状態情報テーブルは、状態情報ＩＤ、状態情報名、および状態情報から構成される。状態情報ＩＤカラムには、モジュール３３０に接続される画像形成装置１０１を一意に識別するための識別子が格納される。状態情報名カラムには、モジュール３３０に接続される画像形成装置１０１の名称が格納される。状態情報カラムには、モジュール３３０に接続される画像形成装置１０１の状態情報が格納される。以下、状態情報カラムに格納される画像形成装置１０１の状態情報について説明する。
【００３８】
図４は、本実施形態における状態管理サーバ１０２が管理する画像形成装置１０１の状態情報の一例を示す図である。
状態情報ファイル４００は、画像形成装置１０１の状態情報を管理するファイルであり、状態管理サーバ１０２が管理する画像形成装置１０１と対応付けて存在する。
【００３９】
状態情報ファイル４００は、状態情報部４０１、バージョン４０４、およびタイムスタンプ４０５から構成される。なお、本実施形態では、状態情報ファイル４００のフォーマットをＪａｖａＳｃｒｉｐｔ（登録商標）  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ形式（ＪＳＯＮ形式）で記載しているが、フォーマットはこれに限定されるものではない。
【００４０】
状態情報部４０１は、画像形成装置１０１の現在の状態を示す状態部４０３と、配信システム１０３からの指示を受けて変化する状態を示す指示部４０２とから構成される。詳細には、指示部４０２は、配信システム１０３からの指示内容であり、画像形成装置１０１の状態を更新するための指示が格納する。すなわち、画像形成装置１０１が該指示を受けて変化する状態を示す情報が格納される。なお、配信システム１０３からの指示がない場合、指示部４０２には値が格納されず空となる。また、状態部４０３には、画像形成装置１０１の現在の状態を示す情報が格納される。
【００４１】
バージョン４０４には、状態情報ファイル４００のバージョンが格納される。バージョン４０４は、画像形成装置１０１および配信システム１０３によって状態情報ファイル４００が更新されるたびに変更される。タイムスタンプ４０５には、状態情報ファイル４００が画像形成装置１０１および配信システム１０３によって更新された際にタイムスタンプ情報が格納される。
【００４２】
図３の説明に戻る。接続管理部３３４は、状態管理サーバ１０２にネットワーク１００を介して接続される画像形成装置１０１および配信システム１０３の接続情報を管理する。状態管理サーバ１０２に現在接続されている画像形成装置１０１および配信システム１０３の接続情報は、接続管理データベース３３５に格納される。接続管理データベース３３５に格納され、接続管理部３３４が管理する接続情報の一例を以下の接続情報テーブルに示す。
【００４３】
【表２】
2019160082.tif 000004
【００４４】
接続情報テーブルは、接続クライアントＩＤ、出版状態情報ＩＤ、および購読状態情報ＩＤから構成される。接続クライアントＩＤカラムには、状態管理サーバ１０２に現在接続されている画像形成装置１０１および配信システム１０３を一意に識別するための識別子が格納される。なお、本実施形態では、接続クライアントＩＤカラムの値が「ＺＺＺ１２３４５」および「ＺＺＺ２３４５６」のレコードが画像形成装置１０１の接続情報を示す。また、本実施形態では、接続クライアントＩＤカラムの値が「ＤｅｌｉｖｅｒｙＳｅｒｖｅｒ」のレコードが配信システム１０３の接続情報を示す。
【００４５】
出版状態情報ＩＤカラムには、状態情報を更新可能な画像形成装置１０１および配信システム１０３の識別子が格納される。購読状態情報ＩＤカラムには、状態情報を参照可能な画像形成装置１０１および配信システム１０３の識別子が格納される。
【００４６】
接続管理部３３４は、さらに、状態管理サーバ１０２にネットワーク１００を介して接続された画像形成装置１０１および配信システム１０３の状態情報への権限に関する情報（権限情報）を管理する。詳細には、状態管理サーバ１０２に接続される画像形成装置１０１および配信システム１０３がアクセス可能な状態情報に対する実際のアクセス許可の内容である。権限情報は、権限管理データベース３３６に格納される。権限管理データベース３３６に格納され、接続管理部３３４が管理する権限情報の一例を以下の権限情報テーブルに示す。
【００４７】
【表３】
2019160082.tif 000005
【００４８】
権限情報テーブルは、接続クライアントＩＤ、状態情報ＩＤ、および権限から構成される。接続クライアントＩＤカラムには、状態管理サーバ１０２が権限情報を管理する画像形成装置１０１および配信システム１０３を一意に識別するための識別子が格納される。状態情報ＩＤカラムには、接続クライアントＩＤカラムの値に該当する画像形成装置１０１または配信システム１０３がアクセス可能な状態情報がどの画像形成装置１０１に対するものかを示す、該画像形成装置１０１を一意に識別するための識別子が格納される。
【００４９】
権限カラムには、状態情報ＩＤカラムの値に該当する画像形成装置１０１の状態情報ファイルに対するアクセス権限に対応する値を格納される。なお、接続情報テーブルの状態情報ＩＤカラムの値に基づき、状態情報テーブル（表１）の状態情報ＩＤカラムにおいて同じ値を有する状態情報ファイルを特定することができる。
【００５０】
権限カラムの値に「Ｐｕｂｌｉｓｈ」を含むレコードの場合、接続クライアントＩＤカラムが示す画像形成装置１０１または配信システム１０３が、状態情報ＩＤカラムから特定される状態情報ファイルに対して更新権限を有することを表す。また、権限カラムの値に「Ｓｕｂｓｃｒｉｂｅ」を含むレコードの場合、接続クライアントＩＤカラムが示す画像形成装置１０１または配信システム１０３が、状態情報ＩＤカラムから特定される状態情報ファイルに対して参照権限を有することを表す。
【００５１】
上記の権限情報テーブルの例では、接続クライアントＩＤカラムの値が画像形成装置１０１であることを示す「ＺＺＺ１２３４５」や「ＺＺＺ２３４５６」のレコードから、以下のことがわかる。すなわち、画像形成装置１０１は、それぞれ自身の状態情報ファイルに対して更新権限および参照権限を有する。
【００５２】
また、接続クライアントＩＤカラムの値が配信システム１０３であることを示す「ＤｅｌｉｖｅｒｙＳｅｒｖｅｒ」のレコードから、以下のことがわかる。すなわち、配信システム１０３は、接続クライアントＩＤカラムの値が「ＺＺＺ１２３４５」および「ＺＺＺ２３４５６」の画像形成装置１０１の状態情報ファイルに対して更新権限および参照権限を有する。
【００５３】
図３の説明に戻る。メッセージ生成部３３７は、配信システム１０３から受信した指示に従い、画像形成装置１０１に対して状態の更新を指示するメッセージを生成する。生成されたメッセージは、通信部３３１を介して該当する画像形成装置１０１に送信される。
【００５４】
次に、配信システム１０３のソフトウェア構成について説明する。配信システム１０３は、モジュール３４０を備える。モジュール３４０は、画像形成装置１０１へ配信するソフトウェアを管理する。また、配信システム１０３は、自身が管理するソフトウェアに関する情報と画像形成装置１０１から受信するメッセージに応じて、画像形成装置１０１の状態を更新する必要が有るか判断する。そして、画像形成装置１０１の状態を更新する必要があると判断した場合、状態管理サーバ１０２を介して画像形成装置１０１に対して状態の更新を指示するメッセージを送信する。
【００５５】
モジュール３４０は、通信部３４１、メッセージ生成部３４２、ソフトウェア管理部３４３、配信制御部３４４、およい管理データベース３４５から構成される。通信部３４１は、ＮＣ２０８を介してネットワーク１００により接続される画像形成装置１０１および状態管理サーバ１０２と通信を行う。メッセージ生成部３４２は、画像形成装置１０１から受信するメッセージに応じて各種指示を通知するメッセージを生成する。
【００５６】
生成されたメッセージは、通信部３４１を介して状態管理サーバ１０２に送信される。ソフトウェア管理部３４３は、画像形成装置１０１へ配信するソフトウェアに関する情報（ソフトウェア情報）を管理する。ソフトウェア情報は、管理データベース３４５に格納される。管理データベース３４５に格納され、ソフトウェア管理部３４３が管理するソフトウェア情報の一例を以下のソフトウェア情報テーブルに示す。
【００５７】
【表４】
2019160082.tif 000006
【００５８】
ソフトウェア情報テーブルは、ソフトＩＤ、ソフト名、バージョン、種別、登録日、およびＵＲＩから構成される。ソフトＩＤカラムには、ソフトウェア管理部３４３が管理するソフトウェアを一意に識別するための識別子が格納される。ソフト名カラムには、ソフトウェア管理部３４３が管理するソフトウェアの名称が格納される。バージョンカラムには、ソフトウェア管理部３４３が管理するソフトウェアのバージョンが格納される。
【００５９】
種別カラムには、ソフトウェア管理部３４３が管理するソフトウェアの種別が格納される。なお、上記のソフトウェア情報テーブルの例では、ソフトウェアの種別としてファームウェアとアプリケーションとを示したが、種別はこれに限定されるものではない。登録日カラムには、ソフトウェア管理部３４３が管理するソフトウェアとして該当のソフトウェアを登録した日が格納される。
【００６０】
ＵＲＩカラムには、ソフトウェア管理部３４３が管理するソフトウェアの実体を取得するためのＵＲＩまたは実体を取得するためにキーとなる情報が格納される。なお、ソフトＩＤから一意にソフトウェアの実体を取得するためのＵＲＩが作成できるのであれば、ＵＲＩカラムはなくてもよい。また、本実施形態では、ソフトウェアの実体はモジュール３４０内の管理データベース３４５に格納されることを想定しているが、これに限られるものではなく、例えば、外部のストレージサーバ等に格納されてもよい。
【００６１】
図３の説明に戻る。配信制御部３４４は、画像形成装置１０１へのソフトウェアの配信指示をユーザから受け付け、配信指示の内容を管理する。また、配信制御部３４４は、状態管理サーバ１０２を介してメッセージを送信することにより画像形成装置１０１へソフトウェアの配信指示を行う。配信指示の内容は、管理データベース３４５に格納される。以下、配信システム１０３が、画像形成装置１０１へのソフトウェアの配信指示をユーザから受け付ける方法について説明する。
【００６２】
図７は、配信システム１０３がソフトウェアの配信指示をユーザから受け付けるための配信設定画面の一例を示す図である。
配信設定画面５００は、配信システム１０３のＣＲＴ２１０に表示される。なお、配信システム１０３は、配信設定画面５００を表示するためのデータを任意の装置に送信し、ユーザは、任意の装置に表示させた配信設定画面５００においてソフトウェアの配信指示を行ってもよい。
【００６３】
配信設定画面５００は、ソフトウェア指定部５０１、配信時刻指定部５０２、および適用時刻指定部５０３、画像形成装置指定部５０４、キャンセルボタン５０５、および登録ボタン５０６を有する。ソフトウェア指定部５０１では、配信対象とするソフトウェアを指定する。詳細には、ソフトウェア指定部５０１では、ソフトウェア管理部３４３が管理するソフトウェアの中から配信対象とするソフトウェアを特定するためのソフトウェアの名称およびバージョンを指定する。
【００６４】
なお、図７に示す例では、すでに選択されたソフトウェアの情報を表示しているが、配信設定画面５００においてソフトウェア管理部３４３が管理するソフトウェアの情報を検索するための機能を設けてもよい。また、配信対象とするソフトウェアは１つに限定するものではなく、複数のソフトウェアを指定することができる。
【００６５】
配信時刻指定部５０２では、ソフトウェア指定部５０１で指定したソフトウェアの配信時刻、すなわち、該ソフトウェアを画像形成装置１０１がダウンロードする日時を指定する。なお、図７に示す例では、ダウンロードする日時として、「即時」または「日時指定」を指定することができる。
【００６６】
「即時」が指定された場合、画像形成装置１０１が配信システム１０３から状態管理サーバ１０２を介して状態の更新を指示するメッセージを受信した直後に該当のソフトウェアのダウンロードを開始するように配信指示が行われる。また、「日時指定」が指定された場合、ユーザがさらに指定した具体的なダウンロードの開始時刻に該当のソフトウェアのダウンロードを開始するように配信指示が行われる。
【００６７】
適用時刻指定部５０３では、ソフトウェア指定部５０１で指定したソフトウェアのダウンロードが完了した後に、該ソフトウェアを画像形成装置１０１に適用（インストール）する日時を指定する。なお、図７に示す例では、適用する日時として、「即時」または「日時指定」を指定することができる。
【００６８】
「即時」が指定された場合、該当のソフトウェアのダウンロードが完了した直後に該ソフトウェアの適用を開始するように配信指示が行われる。また、「日時指定」が指定された場合、ユーザがさらに指定した具体的な適用時刻に該当のソフトウェアの適用を開始するように配信指示が行われる。
【００６９】
画像形成装置指定部５０４では、ソフトウェア指定部５０１で指定したソフトウェアの配信先とする画像形成装置１０１を指定する。なお、図７に示す例では、配信先とする画像形成装置として１台の画像形成装置の識別子を指定しているが、該配信設定画面５００において、例えば、顧客単位で管理される画像形成装置１０１を検索するための機能を設けてもよい。
【００７０】
また、配信先とする画像形成装置１０１は、１台に限定されるものではなく、複数台の画像形成装置を指定してもよい。例えば、上述した顧客単位で管理される画像形成装置１０１を検索するための機能を利用して、一括して配信先の画像形成装置１０１を指定できるようにしてもよい。また、配信先とする画像形成装置１０１の指定は、画像形成装置１０１の識別子を利用する方法に限定されるものではなく、例えば、画像形成装置１０１の名称など、他の情報を利用してもよい。
【００７１】
キャンセルボタン５０５が押下されると、配信設定画面５００にて設定されたソフトウェアの配信指示に関する情報（配信指示情報）がクリアされる。具体的には、キャンセルボタン５０５が押下されると、ソフトウェア指定部５０１、配信時刻指定部５０２、適用時刻指定部５０３、および画像形成装置指定部５０４にて指定された各設定内容がクリアされる。
【００７２】
登録ボタン５０６が押下されると、配信設定画面５００にて設定されたソフトウェアの配信指示に関する情報（配信指示情報）が配信制御部３４４に登録される。具体的には、登録ボタン５０６が押下されると、ソフトウェア指定部５０１、配信時刻指定部５０２、適用時刻指定部５０３、および画像形成装置指定部５０４にて指定された各設定内容が配信制御部３４４に登録される。
【００７３】
配信設定画面５００にて設定された配信指示情報は、配信制御部３４４が管理し、管理データベース３４５に格納される。管理データベース３４５に格納され、配信制御部３４４が管理する配信指示情報の一例を以下の配信指示情報テーブルに示す。
【００７４】
【表５】
2019160082.tif 000007
【００７５】
配信指示情報テーブルは、配信ＩＤ、ソフトＩＤ、配信時刻、適用時刻、配信先デバイス、およびステータスから構成される。配信ＩＤカラムには、配信制御部３４４が管理する配信指示情報を一意に識別するための識別子が格納される。配信ＩＤは、配信設定画面５００にてソフトウェアの配信指示情報が登録されるたびに発番される。
【００７６】
また、本実施形態では、ソフトウェアの配信指示が、複数の画像形成装置１０１に対して一括して登録された場合、配信ＩＤとして同じ値が割り振られる。しかし、これに限られるものではなく、配信ＩＤ以外の情報によりソフトウェアの配信指示が一括して登録されたことを管理してもよい。
【００７７】
ソフトＩＤカラムには、配信対象とするソフトウェアを一意に識別するための識別子が格納される。なお、ソフトＩＤカラムは、ソフトウェア管理部３４３が管理するソフトウェア情報テーブル（表４）のソフトＩＤと同じである。配信時刻カラムには、配信設定画面５００の配信時刻指定部５０２にて指定された配信時刻が格納される。すなわち、配信時刻として、「即時」または、「日時指定」された具体的な日時情報が格納される。
【００７８】
適用時刻カラムには、配信設定画面５００の適用時刻指定部５０３にて指定された適用時刻が格納される。すなわち、適用時刻として、「即時」または「日時指定」された具体的な日時情報が格納される。配信先デバイスカラムには、配信設定画面５００の画像形成装置指定部５０４にて指定されたソフトウェアの配信先とする画像形成装置１０１を一意に識別するための識別子が格納される。
【００７９】
ステータスカラムには、配信設定画面５００にて登録された配信指示に従うダウンロード処理および適用処理の状態が格納される。上記の配信指示情報テーブルの例では、ステータスカラムには、「ダウンロード中」、「ダウンロード済」、または「完了」が格納されている。「ダウンロード中」は、画像形成装置１０１が該当の配信指示に従いソフトウェアのダウンロード処理を実行し、該処理が実行中であることを示す。
【００８０】
また、「ダウンロード済」は、画像形成装置１０１が該当の配信指示に従いソフトウェアのダウンロード処理を実行し、該処理が完了したことを示す。また、「完了」は、画像形成装置１０１が該当の配信指示に従う処理をすべて完了したことを示す。なお、ステータスカラムに格納される値は、これら３つの値に限定されるものではない。例えば、ステータスカラムに格納されるその他の値として、以下のような値がある。
【００８１】
例えば、配信設定画面５００にて登録された配信指示情報が状態管理サーバ１０２を介して画像形成装置１０１へ配信され、該当のソフトウェアのダウンロード待ち状態であることを示す「ダウンロード待ち」がある。また、該当のソフトウェアを画像形成装置１０１においてインストール中であることを示す「適用中」がある。
【００８２】
このように、配信指示に従うダウンロード処理および適用処理の状態として、配信システム１０３から画像形成装置１０１へソフトウェアの配信指示を行う上で管理すべき任意の状態が配信指示情報テーブルにおいて管理される。配信指示情報テーブルにおいて、ダウンロード処理および適用処理の状態をリアルタイムに管理することによって、配信システム１０３は、画像形成装置１０１に対して該状態に応じた指示を行うことができる。
【００８３】
図８は、本実施形態に係るシステムにおいて、「出版−購読型モデル」に基づくメッセージの送受信を行うための処理を説明するためのシーケンス図である。
画像形成装置１０１は、ソフトウェアの配信指示に従って該ソフトウェアのダウンロード処理およびお適用処理等を含む配信処理を進める過程で自身の状態を更新した場合、状態管理サーバ１０２に状態の更新を通知するメッセージを送信する。
【００８４】
具体的には、後述するように、状態の更新を通知するメッセージとして状態情報ファイル（図４〜図６）が送信される。状態管理サーバ１０２は、画像形成装置１０１から状態の更新を通知するメッセージを受信すると、自身が管理する該画像形成装置１０１の状態情報を更新する。
【００８５】
また、状態管理サーバ１０２は、該画像形成装置１０１に関連する配信システム１０３に受信したメッセージを転送する。ここで、画像形成装置１０１に関連する配信システム１０３とは、図８に示す処理を実行することにより画像形成装置１０１の状態を購読するまたは出版する関係にある配信システム１０３のことである。
【００８６】
また一方、配信システム１０３が自身と関連する画像形成装置１０１に対してソフトウェアの配信指示を配信する場合、または何等かの処理を実行させたい場合、状態管理サーバ１０２に該画像形成装置の状態の更新を指示するメッセージを通知する。具体的には、後述するように、状態の更新を指示するメッセージとして状態情報ファイル（図４〜図６）が送信される。
【００８７】
状態管理サーバ１０２は、配信システム１０３から画像形成装置１０１の状態の更新を指示するメッセージを受信すると、自身が管理する該画像形成装置の状態を更新する。また、状態管理サーバ１０２は、配信システム１０３に関連する画像形成装置１０１に受信したメッセージを転送する。
【００８８】
画像形成装置１０１と配信システム１０３とが直接接続され、通信を行う場合、配信システム１０３が関連する全ての画像形成装置１０１との通信を管理する必要があった。これに対して、出版−購読型モデルに基づく通信方式では、配信システム１０３が画像形成装置１０１との通信を管理する負荷が軽減され、双方向に情報の送受信を行うことが可能となる。
【００８９】
出版−購読型モデルに基づきメッセージをやり取りするには、事前準備として、画像形成装置１０１と配信システム１０３とがそれぞれ状態管理サーバ１０２に対してクライアント登録を行う。クライアント登録は、接続要求と出版購読要求の２つのステップで行われる。以下、クライアント登録について図８を用いて説明する。
【００９０】
まず、１つ目のステップとして画像形成装置１０１および配信システム１０３がそれぞれ状態管理サーバ１０２に対して状態情報への接続要求を送信する。状態管理サーバ１０２の接続管理部３３４は、通信部３３１を介して接続要求を受信すると、接続管理データベース３３５の接続情報テーブル（表２）に、接続要求を送信したクライアントとして画像形成装置１０１および配信システム１０３を登録する。
【００９１】
次に、２つ目のステップとして画像形成装置１０１および配信システム１０３がそれぞれ状態管理サーバ１０２に対して出版購読要求を送信する。出版購読要求の一例を以下の出版購読要求テーブルに示す。
【００９２】
【表６】
2019160082.tif 000008
【００９３】
出版購読要求テーブルは、要求元クライアントＩＤ、出版状態情報ＩＤ、および購読状態情報ＩＤから構成される。要求元クライアントＩＤカラムには、出版購読要求を送信した画像形成装置１０１または配信システム１０３を一意に識別するための識別子が格納される。
【００９４】
出版状態情報ＩＤカラムには、更新可能な状態情報を一意に識別するための識別子が格納される。上記の表では、状態情報を一意に識別するための識別子として画像形成装置１０１を一意に識別する識別子が格納され、更新可能な状態情報がどの画像形成装置１０１のものかを示している。
【００９５】
購読状態情報ＩＤカラムには、参照可能な状態情報を一意に識別するための識別子が格納される。上記の表では、出版状態情報ＩＤカラムと同様に、状態情報を一意に識別するための識別子として画像形成装置１０１を一意に識別する識別子が格納され、参照可能な状態情報がどの画像形成装置１０１のものかを示している。
【００９６】
図８の説明に戻る。状態管理サーバ１０２の接続管理部３３４は、通信部３３１を介して出版購読要求を受信すると、該要求を行った画像形成装置１０１または配信システム１０３が、該要求にて指定された状態情報へのアクセス権限を有するかを確認する。詳細には、接続管理部３３４は、権限情報テーブル（表３）において、接続クライアントＩＤカラムの値が、出版購読要求テーブル（表６）の要求元クライアントＩＤカラムの値と一致するレコードを取得する。
【００９７】
そして、接続管理部３３４は、取得したレコード（権限情報）の状態情報ＩＤカラムの値と権限カラムの値を取得し、出版購読要求レコード（表６）の出版状態情報ＩＤカラムおよび購読状態情報ＩＤカラムの値と比較する。これにより、出版購読要求を行った装置が該要求に対応する状態情報への参照または購読の権限を有するかが確認できる。状態情報への参照または購読の権限を有する場合、接続管理データベース３３５の接続情報テーブル（表２）に出版購読要求に基づいてレコードを登録する。
【００９８】
具体的には、接続要求により接続情報テーブル（表２）の接続クライアントＩＤカラムには、出版購読要求（表６）に含まれる要求元クライアントＩＤカラムの値が格納されている。このレコードの出版状態情報ＩＤカラムおよび購読状態情報ＩＤカラムに、それぞれ出版購読要求（表６）に含まれる出版状態情報ＩＤカラムおよび購読状態情報ＩＤカラムの値を格納する。
【００９９】
このように、画像形成装置１０１および配信システム１０３がそれぞれ状態管理サーバ１０２に対して接続要求および出版購読要求を行い、これら要求に伴う処理が終了すると、クライアント登録が完了する。そして、画像形成装置１０１と配信システム１０３との間で状態管理サーバ１０２を介した出版−購読型モデルに基づくメッセージの送受信が可能となる。以下、クライアント登録後のメッセージの送受信に関わる処理について説明する。
【０１００】
ステップＳ６０１において、画像形成装置１０１は、自身の状態情報が変化すると、自身の管理する状態情報ファイルを更新し、状態管理サーバ１０２に対して該更新を通知するメッセージとして更新した状態情報ファイルを送信する。ステップＳ６０２において、状態管理サーバ１０２のクライアント管理部３３２は、通信部３３１を介して画像形成装置１０１からメッセージを受信する。
【０１０１】
そして、クライアント管理部３３２は、クライアントデータベース３３３の状態情報テーブル（表１）から状態情報ＩＤカラムの値と、画像形成装置１０１の識別子とが一致するレコードの内容を更新する。具体的には、該レコードの状態情報カラムに格納された状態情報ファイルを、受信したメッセージの内容、すなわち受信した状態情報ファイルで更新する。
【０１０２】
ステップＳ６０３において、状態管理サーバ１０２の接続管理部３３４は、接続情報テーブル（表２）において、以下のレコードを検索する。すなわち、接続管理部３３４は、購読状態情報ＩＤカラムの値が、ステップＳ６０２で更新された状態情報テーブル（表１）のレコードの状態情報ＩＤカラムの値と一致するレコードを検索する。
【０１０３】
そして、メッセージ生成部３３７は、該当したレコードの接続クライアントＩＤカラムの値に対応する配信システム１０３に対して、状態が更新されたことを示すメッセージとして状態情報ファイルを配信する。このように、ステップＳ６０１〜Ｓ６０３の処理により、配信システム１０３は、状態管理サーバ１０２を介して画像形成装置１０１の状態が更新されたことをリアルタイムに監視することが可能となる。
【０１０４】
なお、図８に示した処理では、画像形成装置１０１が、自身の状態の更新を、状態管理サーバ１０２を介して配信システム１０３に通知することを説明したが、配信システム１０３から画像形成装置１０１へ状態の更新を指示する場合も同様である。つまり、配信システム１０３がソフトウェアの配信を指示するメッセージを状態管理サーバ１０２に通知し、状態管理サーバ１０２がメッセージの内容に従い自身で管理する配信対象の画像形成装置１０１の状態を更新する。
【０１０５】
そして、状態管理サーバ１０２は、さらに該更新を画像形成装置１０１に対して配信する。状態管理サーバ１０２を介したメッセージの送受信による具体的な処理として、ソフトウェアの配信に関わる処理について、図９〜図１１を用いて後述する。
【０１０６】
なお、図８に示した処理では、メッセージの送信に対する応答については言及していないが、例えば、メッセージを受け付けたことを状態管理サーバ１０２が応答しても良い。また、例えば、配信システム１０３から状態管理サーバ１０２を介して画像形成装置１０１に対して状態の更新を指示するメッセージが配信された場合、該画像形成装置１０１が該メッセージを正常に受け付けたことを状態管理サーバ１０２に応答しても良い。また、この場合、状態管理サーバ１０２が、画像形成装置１０１へのメッセージが正しく配信されたことを配信システム１０３に対して応答しても良い。
【０１０７】
図９は、本実施形態に係るシステムにおいて、状態管理サーバ１０２を介したメッセージの送受信により画像形成装置１０１がソフトウェアをダウンロードするまでの処理を示すシーケンス図である。
【０１０８】
ステップＳ７０１において、ユーザは、配信設定画面５００（図７）を利用して、ソフトウェアの配信指示を行う。配信設定画面５００における設定に従い、ソフトウェアの配信指示情報は、配信システム１０３が備える管理データベース３４５の配信指示情報テーブル（表５）に登録（格納）される。
【０１０９】
ステップＳ７０２において、配信システム１０３は、配信制御部３４４が管理する配信指示情報をメッセージ生成部３４２でメッセージに変換する。そして、配信制御部３４４は、該メッセージをソフトウェアの配信対象とする画像形成装置１０１へのメッセージとして通信部３４１を介して状態管理サーバ１０２へ通知する。なお、配信対象とする画像形成装置１０１は、配信指示情報テーブル（表５）の配信先デバイスカラムに格納された値から特定される。
【０１１０】
ステップＳ７０３において、状態管理サーバ１０２のクライアント管理部３３２は、通信部３３１を介して配信システム１０３からのメッセージを受信すると、自身が管理する、該当の画像形成装置１０１の状態を更新する。具体的には、クライアント管理部３３２は、状態情報テーブル（表１）の該当する画像形成装置１０１のレコードの状態情報ファイルを該メッセージで更新する。
【０１１１】
ステップＳ７０４において、クライアント管理部３３２は、該更新を画像形成装置１０１に配信する。具体的には、クライアント管理部３３２がステップＳ７０３で更新した状態情報ファイルをソフトウェアの配信を指示するメッセージとして画像形成装置１０１へ配信する。
【０１１２】
図４に示す状態情報ファイル４１０は、画像形成装置１０１に配信されるメッセージの一例である。状態情報ファイル４１０の主な構成要素は、状態情報ファイル４００と同様のためその説明を省略する。配信システム１０３から画像形成装置１０１の状態を更新するための何等かの指示がある場合、指示部４１１のように指示の内容が挿入される。
【０１１３】
ステップＳ７０４で配信されるメッセージの場合、指示部４１１にはソフトウェアの配信を指示する内容（配信指示）が挿入される。具体的には、配信指示情報テーブル（表５）で管理される情報に基づき、配信対象のソフトウェア情報、配信時刻、適用時刻等が指示部４１１に挿入される。
【０１１４】
ステップＳ７０５において、画像形成装置１０１のメッセージ解析部３１３は、受信したメッセージの解析を行い、通信部３１１を介して管理モジュール３２０の制御部３２１へ該メッセージを送信する。制御部３２１は、メッセージ解析部３２３に該メッセージの詳細な解析を指示し、該メッセージが示すソフトウェアの配信指示において指定された配信時刻を確認する。
【０１１５】
配信時刻として「日時指定」が行われていた場合、処理はステップＳ７０６に進み、配信時刻として「即時」が指定されていた場合、処理はステップＳ７１１に進む。ステップＳ７０６において、制御部３２１は、ダウンロード制御部３２５に指定された配信時刻までソフトウェアのダウンロードを待機するように指示する。そして、制御部３２１は、管理部３２２において管理する自装置の状態をソフトウェアの「ダウンロード待ち」状態に更新する。
【０１１６】
ステップＳ７０７において、制御部３２１は、自装置の状態が更新されたことを、通信部３１１を介して状態管理サーバ１０２へ通知する。具体的には、メッセージ生成部３１２が、自装置の状態が「ダウンロード待ち」に更新されたことを示す状態情報ファイルをメッセージとして生成し、制御部３２１は、該メッセージを、通信部３１１を介して状態管理サーバ１０２へ送信する。
【０１１７】
ステップＳ７０８において、状態管理サーバ１０２のクライアント管理部３３２は、通信部３３１を介して画像形成装置１０１からのメッセージを受信すると、自身が管理する、該当の画像形成装置１０１の状態を更新する。具体的には、クライアント管理部３３２は、状態情報テーブル（表１）の該当する画像形成装置１０１のレコードの状態情報ファイルを受信した該メッセージで更新する。
【０１１８】
ステップＳ７０９において、クライアント管理部３３２は、該更新を配信システム１０３に配信する。具体的には、クライアント管理部３３２がステップＳ７０８で更新した状態情報ファイルを、画像形成装置１０１の状態が「ダウンロード待ち」に更新されたことを示すメッセージとして配信システム１０３へ配信する。
【０１１９】
ステップＳ７１０において、配信システム１０３の配信制御部３４４は、通信部３４１を介して状態管理サーバ１０２からメッセージを受信すると、配信指示情報テーブル（表５）からメッセージ送信元の画像形成装置１０１のレコードを取得する。具体的には、配信制御部３４４は、配信指示情報テーブル（表５）から、配信先デバイスカラムの識別子がメッセージ送信元の画像形成装置１０１の識別子と一致するレコードを取得する。そして、配信制御部３４４は、取得したレコードのステータスカラムの値を受信したメッセージが示す画像形成装置１０１の状態、すなわち「ダウンロード待ち」に更新する。
【０１２０】
ステップＳ７１１において、画像形成装置１０１のダウンロード制御部３２５は、ステップＳ７０４にて受信したメッセージが示すソフトウェアのダウンロード処理を実行する。なお、ステップＳ７１１の処理は、ステップＳ７０４にて受信したメッセージにおいてソフトウェアの配信時刻として「即時」が指定されていた場合、ステップＳ７０４にてメッセージを受信した直後に開始される。
【０１２１】
また一方、ステップＳ７１１の処理は、ステップＳ７０４にて受信したメッセージにおいてソフトウェアの配信時刻として「日時指定」が行われていた場合、現在時刻が指定された日時になったときに開始される。制御部３２１は、ダウンロード処理が開始されると、管理部３２２において管理する自装置の状態をソフトウェアの「ダウンロード中」状態に更新する。
【０１２２】
ステップＳ７１２において、制御部３２１は、自装置の状態が更新されたことを、通信部３１１を介して状態管理サーバ１０２へ通知する。具体的には、メッセージ生成部３１２が、自装置の状態が「ダウンロード中」に更新されたことを示す状態情報ファイルをメッセージとして生成し、制御部３２１は、該メッセージを、通信部３１１を介して状態管理サーバ１０２へ送信する。
【０１２３】
ステップＳ７１３において、状態管理サーバ１０２のクライアント管理部３３２は、通信部３３１を介して画像形成装置１０１からのメッセージを受信すると、自身が管理する、該当の画像形成装置１０１の状態を更新する。具体的には、クライアント管理部３３２は、状態情報テーブル（表１）の該当する画像形成装置１０１のレコードの状態情報ファイルを受信した該メッセージで更新する。
【０１２４】
ステップＳ７１４において、クライアント管理部３３２は、該更新を配信システム１０３に配信する。具体的には、クライアント管理部３３２はがステップＳ７１３で更新した状態情報ファイルを、画像形成装置１０１の状態が「ダウンロード中」に更新されたことを示すメッセージとして配信システム１０３へ配信する。
【０１２５】
ステップＳ７１５において、配信システム１０３の配信制御部３４４は、通信部３４１を介して状態管理サーバ１０２からメッセージを受信すると、配信指示情報テーブル（表５）からメッセージ送信元の画像形成装置１０１のレコードを取得する。レコード取得の詳細は、ステップＳ７１０の処理と同様である。そして、配信制御部３４４は、取得したレコードのステータスカラムの値を受信したメッセージが示す画像形成装置１０１の状態、すなわち「ダウンロード中」に更新する。
【０１２６】
ステップＳ７１６において、画像形成装置１０１の制御部３２１は、ダウンロード制御部３２５の処理が終了したことを検知すると、管理部３２２において管理する自装置の状態をソフトウェアの「ダウンロード済」状態に更新する。そして、制御部３２１は、自装置の状態が更新されたことを、通信部３１１を介して状態管理サーバ１０２に通知する。具体的には、メッセージ生成部３１２が、自装置の状態が「ダウンロード済」に更新されたことを示す状態情報ファイルをメッセージとして生成し、制御部３２１は、該メッセージを、通信部３１１を介して状態管理サーバ１０２へ送信する。
【０１２７】
図５に示す状態情報ファイル４２０は、状態管理サーバ１０２に送信されるメッセージの一例である。状態情報ファイル４２０の主な構成要素は、状態情報ファイル４００と同様のためその説明を省略する。
【０１２８】
配信システム１０３から画像形成装置１０１への状態を更新する指示のうち、該画像形成装置１０１において未対応の指示がある場合、指示部４２１のように未対応の指示の内容が挿入される。ステップＳ７１６で通知されるメッセージの場合、指示部４２１のように、ステップＳ７０４で受信したメッセージが示すソフトウェアの配信指示のうち、画像形成装置１０１において未対応のソフトウェアの適用を指示する内容（適用指示）が挿入される。
【０１２９】
また、状態部４２２には、画像形成装置１０１の現在の状態を示す情報が格納される。ステップＳ７１６で通知されるメッセージの場合、ソフトウェアの配信指示のうち、ソフトウェアのダウンロードを指示する内容（ダウンロード指示）にて指定されたソフトウェアのダウンロード処理が完了したことを示す内容が挿入される。
【０１３０】
つまり、ステップＳ７０４において受信したメッセージに含まれていたソフトウェアの配信指示のうち、画像形成装置１０１において完了した処理の情報が状態部４２２に挿入され、未完了の処理の情報が指示部４２１に挿入される。
【０１３１】
なお、本実施形態では、画像形成装置１０１が、ダウンロード処理の開始と終了に関わる状態（「ダウンロード中」および「ダウンロード済」状態）を状態管理サーバ１０２へ通知する例を示したが、これに限られるものではない。例えば、画像形成装置１０１がダウンロード処理の状態をより細かく状態管理サーバ１０２へ通知しても良い。
【０１３２】
ステップＳ７１７において、状態管理サーバ１０２のクライアント管理部３３２は、通信部３３１を介して画像形成装置１０１からのメッセージを受信すると、自身が管理する、該当の画像形成装置１０１の状態を更新する。具体的には、クライアント管理部３３２は、状態情報テーブル（表１）の該当する画像形成装置１０１のレコードの状態情報ファイルを受信した該メッセージで更新する。
【０１３３】
ステップＳ７１８において、クライアント管理部３３２は、該更新を配信システム１０３に配信する。具体的には、クライアント管理部３３２がステップＳ７１７で更新した状態情報ファイルを、画像形成装置１０１の状態が「ダウンロード済」に更新されたことを示すメッセージとして配信システム１０３へ配信する。
【０１３４】
ステップＳ７１９において、配信システム１０３の配信制御部３４４は、通信部３４１を介して状態管理サーバ１０２からメッセージを受信すると、配信指示情報テーブル（表５）からメッセージ送信元の画像形成装置１０１のレコードを取得する。レコード取得の詳細は、ステップＳ７１０の処理と同様である。
【０１３５】
そして、配信制御部３４４は、取得したレコードのステータスカラムの値を受信したメッセージが示す画像形成装置１０１の状態、すなわち「ダウンロード済」に更新する。画像形成装置１０１は、ソフトウェアのダウンロード処理が終了すると、ステップＳ７０４において受信したメッセージに含まれていたソフトウェアの配信指示に従い、図１０および図１１に示す適用処理を実行する。
【０１３６】
図１０および図１１は、本実施形態に係るシステムにおいて、状態管理サーバ１０２を介したメッセージの送受信により画像形成装置１０１がソフトウェアを適用するまでの処理を示すシーケンス図である。
【０１３７】
配信システム１０３において、図９のステップＳ７１９の処理により管理データベース３４５の配信指示情報テーブル（表５）のレコードのステータスカラムの値が「ダウンロード済」に更新されると、配信制御部３４４は、ステップＳ８０１の処理を実行する。ステップＳ８０１において、配信制御部３４４は、配信指示情報テーブルの更新されたレコードの適用時刻カラムの値を確認する。
【０１３８】
すなわち、ユーザが登録したソフトウェアの配信指示のうち、対象の画像形成装置１０１においてダウンロード処理が完了した配信指示の適用時刻が確認される。適用時刻カラムの値が「即時」である場合、配信システム１０３における処理は、ステップＳ８１３またはＳ８１８において状態管理サーバ１０２からメッセージの配信を受けるまで待機する。一方、適用時刻カラムの値が「日時指定」である場合、処理はステップＳ８０２に進む。
【０１３９】
ステップＳ８０２において、配信制御部３４４は、ソフトウェアの配信指示に含まれる適用条件で指定されたタイミングでの適用が画像形成装置において行えるかを判定する。具体的には、配信制御部３４４は、現在時刻が適用時刻カラムにて指定された日時を過ぎているか判定する。現在時刻が指定された適用時刻を過ぎていない場合、配信システム１０３における処理は、ステップＳ８１３またはＳ８１８において状態管理サーバ１０２からメッセージの配信を受けるまで待機する。一方、現在時刻が指定さえた適用時刻を過ぎている場合、処理はステップＳ８０３に進む。
【０１４０】
ステップＳ８０３において、配信制御部３４４は、指定された適用時刻通りにソフトウェアの適用ができない旨をユーザへ通知する。通知する手段については特に限定しないが、例えば、ユーザにメールで通知する方法がある。また、通知対象となるユーザは、配信指示の設定を行ったユーザや、あらかじめ通知対象として登録されたユーザである。ステップＳ８０４において、通知を受信したユーザは、ソフトウェアの適用時刻の再設定を行う。以下、ユーザがソフトウェアの適用時刻の再設定を行う際に利用する方法について説明する。
【０１４１】
図１２は、配信システム１０３がソフトウェアの適用時刻の再設定をユーザから受け付けるための再設定画面の一例を示す図である。
再設定画面９００は、配信システム１０３のＣＲＴ２１０に表示される。なお、配信システム１０３は、再設定画面９００を表示するためのデータを任意の装置に送信し、ユーザは、任意の装置に表示させた再設定画面９００においてソフトウェアの適用時刻の再設定を行ってもよい。
【０１４２】
再設定画面９００は、説明部９０１、配信指示情報部９０２、適用時刻再設定部９０３、キャンセルボタン９０４、および登録ボタン９０５を有する。説明部９０１では、ユーザが登録した配信指示通りにソフトウェアの適用ができないため、適用時刻を再設定する必要がある旨の説明文を表示する。配信指示情報部９０２では、ユーザが登録したソフトウェアの配信指示に関する情報を表示する。
【０１４３】
図１２に示す例では、配信指示情報部９０２には、配信対象のソフトウェアの名称およびバージョンと、配信先の画像形成装置１０１の識別子と、該ソフトウェアの適用時刻として設定された値が表示される。しかし、これに限られるものではなく、配信指示情報部９０２には、例えば、ユーザが登録したソフトウェアの配信指示を一意に特定するための識別子やその他の情報を表示されてもよい。適用時刻再設定部９０３では、配信指示情報部９０２に表示された配信指示の適用時刻を再度指定する。
【０１４４】
なお、図１２に示す例では、適用時刻の再設定として、「即時」または「日時指定」を指定することができる。「即時」が指定された場合、画像形成装置１０１が配信システム１０３から状態管理サーバ１０２を介してソフトウェアの適用タイミングの再設定を示すメッセージを受信した直後に該当のソフトウェアの適用を開始するように状態更新の指示が行われる。また、「日時指定」が指定された場合、ユーザがさらに指定した具体的な適用時刻に該当のソフトウェアの適用を開始するように状態更新の指示が行われる。
【０１４５】
キャンセルボタン９０４が押下されると、適用時刻再設定部９０３にて設定されたソフトウェアの適用タイミングに関する情報がクリアされる。登録ボタン９０５が押下されると、適用時刻再設定部９０３にて設定されたソフトウェアの適用処理に関する情報が、配信制御部３４４が管理する配信指示情報テーブル（表５）に登録（格納）される。具体的には、図１０のステップＳ８０５の処理が実行される。
【０１４６】
図１０の説明に戻る。ステップＳ８０５において、配信システム１０３の配信制御部３４４は、配信指示情報テーブル（表５）の再設定対象の該当レコードの適用時刻カラムの値を、再設定画面９００にて設定された適用時刻で上書きする。また、配信制御部３４４は、ステータスカラムの値を、「適用時刻再設定」に変更する。
【０１４７】
ステップＳ８０６において、配信システム１０３は、配信制御部３４４が管理する配信指示情報をメッセージ生成部３４２でメッセージに変換する。該メッセージは、ソフトウェアの適用タイミングの再設定を示すメッセージである。そして、配信制御部３４４は、該メッセージを該当の画像形成装置１０１へのメッセージとして通信部３４１を介して状態管理サーバ１０２へ通知する。なお、該当の画像形成装置１０１は、配信指示情報テーブル（表５）の配信先デバイスカラムに格納された値から特定される。
【０１４８】
ステップＳ８０７において、状態管理サーバ１０２のクライアント管理部３３２は、通信部３３１を介して配信システム１０３からのメッセージを受信すると、自身が管理する、該当の画像形成装置１０１の状態を更新する。具体的には、クライアント管理部３３２は、状態情報テーブル（表１）の該当する画像形成装置１０１のレコードの状態情報ファイルを該メッセージで更新する。
【０１４９】
ステップＳ８０８において、クライアント管理部３３２は、該更新を画像形成装置１０１に配信する。具体的には、クライアント管理部３３２がステップＳ８０７で更新した状態情報ファイルをソフトウェアの適用タイミングの再設定を示すメッセージとして画像形成装置１０１へ配信する。画像形成装置１０１は、ソフトウェアの適用タイミングの再設定を示すメッセージを受信することによって、ステップＳ７０４で受信したメッセージにおいて指定されていた適用時刻をステップＳ８０４にて再設定された適用時刻に上書きする。
【０１５０】
なお、ステップＳ８０３〜Ｓ８０８の処理は、ステップＳ８０２にて、ユーザが登録したソフトウェアの配信指示のうち、画像形成装置１０１において配信指示の適用時刻を過ぎてもまだ適用が実行されていないと判断された場合に実行される。すなわち、ステップＳ８０３〜Ｓ８０８の処理は、配信指示の通りに適用が実行可能な場合には実行されず、画像形成装置１０１では、ダウンロード処理の完了を示すメッセージを通知後（Ｓ７１６）に、ステップＳ８０９以降の処理が実行されることになる。
【０１５１】
ステップＳ８０９において、画像形成装置１０１のメッセージ解析部３１３は、ステップＳ７０４で受信したソフトウェアの配信を指示するメッセージの解析を行う。なお、ステップＳ８０８にて適用タイミングの再設定を示すメッセージを受信している場合、ステップＳ７０４で受信したソフトウェアの配信を指示するメッセージの適用時刻は、適用タイミングの再設定を示すメッセージにより上書きされている。
【０１５２】
メッセージ解析部３１３は、ソフトウェアの配信を指示するメッセージの解析後、通信部３１１を介して管理モジュール３２０の制御部３２１へ該メッセージを送信する。制御部３２１は、メッセージ解析部３２３に該メッセージの詳細な解析を指示し、該メッセージが示すソフトウェアの配信指示において指定された適用時刻を確認する。
【０１５３】
適用時刻として「日時指定」が行われていた場合、処理はステップＳ８１０に進み、適用時刻として「即時」が指定されていた場合、処理はステップＳ８１５に進む。ステップＳ８１０において、制御部３２１は、適用制御部３２６に指定された適用時刻までソフトウェアの適用を待機するように指示する。そして、制御部３２１は、管理部３２２において管理する自装置の状態をソフトウェアの「適用待ち」状態に更新する。
【０１５４】
ステップＳ８１１において、制御部３２１は、自装置の状態が更新されたことを、通信部３１１を介して状態管理サーバ１０２へ通知する。具体的には、メッセージ生成部３１２が、自装置の状態が「適用待ち」に更新されたことを示す状態情報ファイルをメッセージとして生成し、制御部３２１は、該メッセージを、通信部３１１を介して状態管理サーバ１０２へ送信する。
【０１５５】
ステップＳ８１２において、状態管理サーバ１０２のクライアント管理部３３２は、通信部３３１を介して画像形成装置１０１からのメッセージを受信すると、自身が管理する、該当の画像形成装置１０１の状態を更新する。具体的には、クライアント管理部３３２は、状態情報テーブル（表１）の該当する画像形成装置１０１のレコードの状態情報ファイルを受信した該メッセージで更新する。
【０１５６】
ステップＳ８１３において、クライアント管理部３３２は、該更新を配信システム１０３に配信する。具体的には、クライアント管理部３３２が、ステップＳ８１２で更新した状態情報ファイルを、画像形成装置１０１の状態が「適用待ち」に更新されたことを示すメッセージとして配信システム１０３へ配信する。
【０１５７】
ステップＳ８１４において、配信システム１０３の配信制御部３４４は、通信部３４１を介して状態管理サーバ１０２からメッセージを受信すると、配信指示情報テーブル（表５）からメッセージ送信元の画像形成装置１０１のレコードを取得する。レコード取得の詳細は、ステップＳ７１０の処理と同様である。そして、配信制御部３４４は、取得したレコードのステータスカラムの値を受信したメッセージが示す画像形成装置１０１の状態、すなわち、「適用待ち」に更新する。
【０１５８】
ステップＳ８１５において、画像形成装置１０１の適用制御部３２６は、ステップＳ７０４にて受信したメッセージが示すソフトウェアの適用処理を実行する。なお、ステップＳ８１５の適用処理は、ステップＳ７０４にて受信したメッセージにおいてソフトウェアの適用時刻として「即時」が指定されていた場合、ソフトウェアのダウンロード処理（図９）が完了した直後に開始される。
【０１５９】
また、ステップＳ８０８にて受信したメッセージにおいてソフトウェアの適用タイミングの再設定がなされ、該メッセージにおいて「即時」が指定されたいた場合、ステップＳ８１５の適用処理は該メッセージを受信した直後に開始される。また一方、ステップＳ７０４にて受信したメッセージにおいてソフトウェアの適用時刻として「日時指定」が行われていた場合、現在時刻が指定された日時になったときに、ステップＳ８１５の適用処理は開始される。
【０１６０】
また、ステップＳ８０８にて受信したメッセージにおいてソフトウェアの適用タイミングの再設定がなされ、該メッセージにおいて「日時指定」が行われていた場合、現在時刻が指定された日時になったときに、ステップＳ８１５の適用処理は開始される。制御部３２１は、適用処理が開始されると、管理部３２２において管理する自装置の状態をソフトウェアの「適用中」状態に更新する。
【０１６１】
ステップＳ８１６において、制御部３２１は、自装置の状態が更新されたことを、通信部３１１を介して状態管理サーバ１０２へ通知する。具体的には、メッセージ生成部３１２が、自装置の状態が「適用中」に更新されたことを示す状態情報ファイルをメッセージとして生成し、制御部３２１は、該メッセージを、通信部３１１を介して状態管理サーバ１０２へ送信する。
【０１６２】
ステップＳ８１７において、状態管理サーバ１０２のクライアント管理部３３２は、通信部３３１を介して画像形成装置１０１からのメッセージを受信すると、自身が管理する、該当の画像形成装置１０１の状態を更新する。具体的には、クライアント管理部３３２は、状態情報テーブル（表１）の該当する画像形成装置１０１のレコードの状態情報ファイルを受信した該メッセージで更新する。
【０１６３】
ステップＳ８１８において、クライアント管理部３３２は、該更新を配信システム１０３に配信する。具体的には、クライアント管理部３３２はがステップＳ８１７で更新した状態情報ファイルを、画像形成装置１０１の状態が「適用中」に更新されたことを示すメッセージとして配信システム１０３へ配信する。
【０１６４】
ステップＳ８１９において、配信システム１０３の配信制御部３４４は、通信部３４１を介して状態管理サーバ１０２からメッセージを受信すると、配信指示情報テーブル（表５）からメッセージ送信元の画像形成装置１０１のレコードを取得する。レコード取得の詳細は、ステップＳ７１０の処理と同様である。そして、配信制御部３４４は、取得したレコードのステータスカラムの値を受信したメッセージが示す画像形成装置１０１の状態、すなわち「適用中」に更新する。
【０１６５】
ステップＳ８２０において、画像形成装置１０１の制御部３２１は、適用制御部３２６の処理が終了したことを検知すると、管理部３２２において管理する自装置の状態をソフトウェアの適用が完了したことを示す「完了」状態に更新する。そして、制御部３２１は、自装置の状態が更新されたことを、通信部３１１を介して状態管理サーバ１０２に通知する。
【０１６６】
具体的には、メッセージ生成部３１２が、自装置の状態が「完了」に更新されたことを示す状態情報ファイルをメッセージとして生成し、制御部３２１は、該メッセージを、通信部３１１を介して状態管理サーバ１０２へ送信する。
【０１６７】
図６に示す状態情報ファイル４３０は、状態管理サーバ１０２に送信されるメッセージの一例である。状態情報ファイル４３０の主な構成要素は、状態情報ファイル４００と同様のためその説明を省略する。状態情報ファイル４２０のように、配信システム１０３から画像形成装置１０１への状態を更新する指示のうち、該画像形成装置１０１において未対応の指示がある場合、指示部４２１に未対応の指示の内容が挿入される。
【０１６８】
ステップＳ８２０で通知されるメッセージの場合、ステップＳ７０４で受信したメッセージが示すソフトウェアの配信指示に従う処理が全て完了したため、指示部４３１には値が格納されず空となる。また、状態部４３２には、画像形成装置１０１の現在の状態を示す情報が格納される。ステップＳ８２０で通知されるメッセージの場合、ソフトウェアの配信指示にて指定されたソフトウェアの適用処理が完了したことを示す内容が挿入される。
【０１６９】
ステップＳ８２１において、状態管理サーバ１０２のクライアント管理部３３２は、通信部３３１を介して画像形成装置１０１からのメッセージを受信すると、自身が管理する、該当の画像形成装置１０１の状態を更新する。具体的には、クライアント管理部３３２は、状態情報テーブル（表１）の該当する画像形成装置１０１のレコードの状態情報ファイルを受信した該メッセージで更新する。
【０１７０】
ステップＳ８２２において、クライアント管理部３３２は、該更新を配信システム１０３に配信する。具体的には、クライアント管理部３３２がステップＳ８２１で更新した状態情報ファイルを、画像形成装置１０１の状態が「完了」に更新されたことを示すメッセージとして配信システム１０３へ配信する。
【０１７１】
ステップＳ８２３において、配信システム１０３の配信制御部３４４は、通信部３４１を介して状態管理サーバ１０２からメッセージを受信すると、配信指示情報テーブル（表５）からメッセージ送信元の画像形成装置１０１のレコードを取得する。レコード取得の詳細は、ステップＳ７１０の処理と同様である。そして、配信制御部３４４は、取得したレコードのステータスカラムの値を受信したメッセージが示す画像形成装置１０１の状態、すなわち「完了」に更新する。
【０１７２】
図９〜図１１に示した一連の処理によって、本実施形態に係るシステムにおけるソフトウェアの配信処理が完了する。図１０および図１１の適用処理に係るシーケンス図にて説明したように、配信システム１０３が、ソフトウェアの配信処理において、画像形成装置１０１のステータスをリアルタイムに監視する。
【０１７３】
そして、配信システム１０３は、画像形成装置１０１においてソフトウェアのダウンロード処理完了した後に、指定された適用時刻にソフトウェアの適用処理が行えるか判断する。また、指定された適用時刻にソフトウェアの適用処理が行えないと判断した場合、ユーザへその旨を通知し、適用時刻が再度設定されるように促すことができる。
【０１７４】
以上のように、本実施形態では、配信システムからのソフトウェアの配信に関わる画像形成装置の状態をリアルタイムに把握し、必要に応じてリカバリを行うことが可能となる。例えば、ダウンロード処理に時間がかかった場合や、想定した適用タイミングに画像形成装置１０１の電源が入っていなかった場合等、様々な要因で、指定された適用条件で適用処理が実行できない状況が起こり得る。
【０１７５】
このような状況を、配信システム側でリアルタイムに把握し、リモートから早期に適用タイミングを再度指示することができる。また、適用タイミングを再度指示する際に、画像形成装置１０１の利用頻度が低い時間帯を指定することができる。
【０１７６】
（第２実施形態）
第１実施形態では、ソフトウェアの配信指示の通りに適用処理が実行できないことを配信システム１０３が判断し、ソフトウェアの適用タイミングの再設定を行う場合について説明した。
【０１７７】
これに対して、本実施形態では、ソフトウェアの配信指示の通りに適用処理が実行できないことを画像形成装置１０１が判断し、ソフトウェアの適用タイミングの再設定が行われる場合について説明する。なお、本実施形態に係るシステムの構成自体、第１実施形態と同一とする。そこで、以下、本実施形態に係るシステムでは、第１実施形態と同一構成のものには同一の符号を付し、説明を省略する。
【０１７８】
図１３および図１４は、本実施形態に係るシステムにおいて、状態管理サーバ１０２を介したメッセージの送受信により画像形成装置１０１がソフトウェアを適用するまでの処理を示すシーケンス図である。
【０１７９】
画像形成装置１０１において、図９のステップＳ７１６の処理により、管理部３２２において管理する自装置の状態がソフトウェアの「ダウンロード済」状態に更新されると、制御部３２１は、ステップＳ１００１の処理を実行する。ステップＳ１００１において、制御部３２１は、ステップＳ７０４にて受信したメッセージが示すソフトウェアの配信指示において指定された適用時刻を確認する。
【０１８０】
適用時刻として「日時指定」が行われていた場合、処理はステップＳ１００２に進み、適用時刻として「即時」が指定されていた場合、処理はステップＳ１０１７に進む。 ステップＳ１００２において、制御部３２１は、現在時刻がステップＳ７０４にて受信したメッセージが示すソフトウェアの配信指示において指定された適用時刻を過ぎているか確認する。
【０１８１】
現在時刻が配信指示において指定された適用時刻を過ぎている場合、処理はステップＳ１００３に進む。一方、現在時刻が配信指示において指定された適用時刻を過ぎていない場合、所定はステップＳ１０１２に進む。ステップＳ１０１２において、制御部３２１は、適用制御部３２６に指定された適用時刻までソフトウェアの適用を待機するように指示する。そして、制御部３２１は、管理部３２２において管理する自装置の状態をソフトウェアの「適用待ち」状態に更新する。
【０１８２】
ステップＳ１００３において、制御部３２１は、管理部３２２において管理する自装置の状態をソフトウェアの「適用時刻超過」状態に更新する。そして、制御部３２１は、自装置の状態が更新されたことを、通信部３１１を介して状態管理サーバ１０２へ通知する。具体的には、メッセージ生成部３１２が、自装置の状態が「適用時刻超過」に更新されたことを示す状態情報ファイルをメッセージとして生成し、制御部３２１は、該メッセージを、通信部３１１を介して状態管理サーバ１０２へ送信する。
【０１８３】
ステップＳ１００４において、状態管理サーバ１０２のクライアント管理部３３２は、通信部３３１を介して画像形成装置１０１からのメッセージを受信すると、自身が管理する、該当の画像形成装置１０１の状態を更新する。具体的には、クライアント管理部３３２は、状態情報テーブル（表１）の該当する画像形成装置１０１のレコードの状態情報ファイルを受信したメッセージで更新する。
【０１８４】
ステップＳ１００５において、クライアント管理部３３２は、該更新を配信システム１０３に配信する。具体的には、クライアント管理部３３２はがステップＳ１００４で更新した状態情報ファイルを、画像形成装置１０１の状態が「適用時刻超過」に更新されたことを示すメッセージとして配信システム１０３へ配信する。
【０１８５】
ステップＳ１００６において、配信システム１０３の配信制御部３４４は、通信部を介して状態管理サーバ１０２からメッセージを受信すると、指定された適用時刻通りにソフトウェアの適用ができない旨をユーザへ通知する。ステップＳ１００７において、通知を受信したユーザは、ソフトウェアの適用時刻の再設定を行う。ソフトウェアの適用時刻の再設定は、第１実施形態と同様に、例えば、再設定画面９００を利用して行われる。
【０１８６】
ステップＳ１００８において、配信制御部３４４は、再設定画面９００にて設定されたソフトウェアの適用時刻に関する情報を配信指示情報テーブル（表５）に登録する。登録される内容の詳細は、図１０のステップＳ８０５の処理と同様のため、その説明を省略する。
【０１８７】
ステップＳ１００９〜Ｓ１０１１の処理は、図１０のステップＳ８０６〜Ｓ８０８の処理と同様のため、その説明を省略する。ステップＳ１００で画像形成装置１０１がソフトウェアの適用タイミングの再設定を示すメッセージを受信することで、ステップＳ７０４で受信したメッセージにおいて指定されていた適用時刻がステップ１００７にて再設定された適用時刻に上書きされる。ステップＳ１０１１の処理の後、制御部３２１は、再度ステップＳ１００１の処理を実行する。
【０１８８】
なお、ステップＳ１００３〜Ｓ１０１１の処理は、ステップＳ１００２にて、ユーザが登録したソフトウェアの配信指示のうち、画像形成装置１０１において配信指示の適用時刻を過ぎてもまだ適用が実行されていないと判断された場合に実行される。すなわち、ステップＳ１００３〜Ｓ１０１１の処理は、配信指示の通りに適用が実行可能な場合には実行されない。ステップ１０１２以降の処理は、図１０のステップＳ８１０以降の処理と同様のため、その説明は省略する。
【０１８９】
このように、ソフトウェアのダウンロード処理が完了した後に指定された適用時刻に適用処理が実行できないことを画像形成装置１０１において検知した場合であっても、配信システム１０３から適用タイミングの再設定を行うことができる。
【０１９０】
（第３実施形態）
第１実施形態および第２実施形態では、ソフトウェアの配信指示の対象とする画像形成装置が１台の場合について説明した。これに対して、例えば、顧客先に設置された複数の画像形成装置１０１のファームウェアをアップデートするタイミングを合わせたい場合がある。これは、アップデートのタイミングを合わせることにより、顧客単位で一括して画像形成装置１０１の状態を管理することができ、画像形成装置１０１のメンテナンスにかかるコストを削減することが可能になるためである。
【０１９１】
このような場合に、顧客先に設置された複数の画像形成装置１０１に対して一括して同時にソフトウェアの配信指示を行うことが考えられる。本実施形態では、このようなソフトウェアの配信指示の対象とする画像形成装置が複数の場合について説明する。
【０１９２】
図１５および図１６は、本実施形態に係るシステムにおいて、状態管理サーバ１０２を介したメッセージの送受信により画像形成装置１０１がソフトウェアを適用するまでの処理を示すシーケンス図である。
【０１９３】
なお、本実施形態では、配信設定画面５００（図７）の画像形成装置指定部５０４において複数の画像形成装置１０１が指定されたものとする。また、適用時刻指定部５０３において、複数の画像形成装置１０１が同じ日時に適用処理を実行するように設定されたものとする。すなわち、複数の画像形成装置１０１の状態が同じタイミングで更新されるように指示がなされたものとする。
【０１９４】
なお、ダウンロード処理については、同じタイミングで実行なされなくてもよい。配信設定画面５００において、例えば、配信時刻指定部５０２や適用時刻指定部５０３が配信指示の対象とする画像形成装置１０１の各々に対して設定可能に画面を構成してもよい。
【０１９５】
配信システム１０３において、図９のステップＳ７１９の処理にて管理データベース３４５の配信指示情報テーブル（表５）のレコードのステータスカラムの値が「ダウンロード済」に更新されると、配信制御部３４４は、ステップＳ１１０１の処理を実行する。なお、ステップＳ１１０１の処理開始の契機となった、ステータスカラムの値が「ダウンロード済」に更新されたこのレコードを、以下の説明では「処理対象のレコード」と呼ぶことにする。
【０１９６】
ステップＳ１１０１において、配信制御部３４４は、処理対象のレコードが示すソフトウェアの配信指示が、複数の画像形成装置１０１に対して一括してなされた配信指示かを確認する。具体的には、配信制御部は、処理対象のレコードの配信ＩＤカラムの値と同じ配信ＩＤを持つレコードが配信指示情報テーブル（表５）に存在するか確認する。
【０１９７】
同じ配信ＩＤを持つレコードが存在しない場合、配信制御部３４４は、処理対象のレコードが示すソフトウェアの配信指示が、複数の画像形成装置１０１に対して一括してなされた配信指示ではないと判断する。そして、処理はステップＳ１１０２に進み、配信制御部３４４は、第１実施形態または第２実施形態で説明した適用処理（図１０／図１３）を実行する。
【０１９８】
一方、処理対象のレコードの配信ＩＤと同じ配信ＩＤを持つレコードが存在する場合、処理はステップＳ１１０３に進む。以下、ここまでの処理を、表５に示す配信指示情報テーブルに例示された値で具体的に説明する。図９のステップＳ７１９の処理により、配信先デバイスカラムの値が「ＺＺＺ２３４５６」のレコードにおいて、ステータスカラムの値が「ダンロード済」に更新されたとする。
【０１９９】
このとき、ステップＳ１１０１の処理が開始され、配信先デバイスカラムの値が「ＺＺＺ２３４５６」のレコードの配信ＩＤカラムの値が「１」であることから、ステップＳ１１０１では、他に配信ＩＤカラムの値が「１」のレコードが存在するか確認される。表５に示す例では、配信先デバイスカラムの値が「ＺＺＺ１２３４５」のレコードの配信ＩＤカラムの値が「１」である。したがって、処理はステップＳ１１０３に進む。
【０２００】
ステップＳ１１０３において、配信制御部３４４は、配信指示情報テーブルにおいて、処理対象のレコードと同じ配信ＩＤを持つ全てのレコードのステータスカラムの値を確認する。表５に示す例では、配信先デバイスの値が「ＺＺＺ１２３４５」のレコードがステップＳ１１０３の確認対象であり、該レコードのステータスカラムの値が「ダウンロード中」であることが確認される。
【０２０１】
ステップＳ１１０４において、配信制御部３４４は、ステップＳ１１０３において確認対象としたレコードのステータスカラムの値が「ダウンロード済」でも「適用停止」でもないレコードが存在するか確認する。確認対象のレコードのステータスカラムの値が全て「ダウンロード済」または「適用停止」の場合、処理はステップＳ１１１０に進む。一方、確認対象の全てのレコードにおいて、ステータスカラムの値が「ダウンロード済」でも「適用停止」でもない場合、処理はステップＳ１１０５に進む。
【０２０２】
ステップＳ１１０５において、配信制御部３４４は、処理対象のレコードのステータスカラムの値を「適用停止」に更新する。更新後の配信指示情報テーブルの例を以下の配信指示情報テーブルＡに示す。配信指示情報テーブルＡの各カラムは、配信指示情報テーブル（表５）と同様のためその説明を省略する。配信指示情報テーブルＡにおいて、配信先デバイスカラムの値が「ＺＺＺ２３４５６」のレコードのステータスカラムの値が「ダウンロード済」から「適用停止」に更新されたことがわかる。
【０２０３】
【表７】
2019160082.tif 000009
【０２０４】
ステップＳ１１０６において、配信システム１０３は、配信制御部３４４が管理する配信指示情報をメッセージ生成部３４２でメッセージに変換する。該メッセージは、ソフトウェアの適用停止を指示するメッセージである。そして、配信制御部３４４は、該メッセージを該当の画像形成装置１０１へのメッセージとして通信部３４１を介して状態管理サーバ１０２へ通知する。なお、ソフトウェアの適用停止が指示される画像形成装置１０１は、配信指示情報テーブル（表５）の処理対象のレコードの配信先デバイスカラムに格納された値から特定される。
【０２０５】
ステップＳ１１０７において、状態管理サーバ１０２のクライアント管理部３３２は、通信部３３１を介して配信システム１０３からのメッセージを受信すると、自身が管理する、該当の画像形成装置１０１の状態を更新する。具体的には、クライアント管理部３３２は、状態情報テーブル（表１）の該当する画像形成装置１０１のレコードの状態情報ファイルをメッセージで更新する。
【０２０６】
ステップＳ１１０８において、クライアント管理部３３２は、該更新を画像形成装置１０１に配信する。具体的には、クライアント管理部３３２がステップＳ１１０７で更新した状態情報ファイルをソフトウェアの適用停止を指示するメッセージとして画像形成装置１０１へ配信する。
【０２０７】
ステップＳ１１０９において、画像形成装置１０１のメッセージ解析部３１３は、ステップＳ１１０８で受信したソフトウェアの適用停止を指示するメッセージの解析を行う。メッセージ解析部３１３は、該メッセージの解析後、通信部３１１を介して管理モジュール３２０の制御部３２１へ該メッセージを送信する。
【０２０８】
制御部３２１は、メッセージ解析部３２３に該メッセージの詳細な解析を指示し、適用制御部３２６に該メッセージが示すソフトウェアの適用停止を指示する。さらに、制御部３２１は、管理部３２２において管理する自装置の状態をソフトウェアの「適用停止」状態に更新する。
【０２０９】
このように、複数の画像形成装置１０１に対してソフトウェアの配信指示が一括してなされた場合に、該複数の画像形成装置１０１の全てに対してダウンロード処理が終了するまで適用処理を一時的に停止することが可能となる。適用処理が再開されるタイミングは、一括してなされた配信指示を受けた画像形成装置１０１の中で最も遅くダウンロード処理を終了したときである。
【０２１０】
以下、適用処理が再開されるまでの処理を説明する。配信指示情報テーブル（表５）は、配信指示情報テーブルＡに更新された後、さらに配信先デイバスカラムの値が「ＺＺＺ１２３４５」の画像形成装置１０１にてダウンロード処理を完了することにより以下の配信指示情報テーブルＢに更新される。
【０２１１】
【表８】
2019160082.tif 000010
【０２１２】
ステップＳ１１１０の処理は、複数の画像形成装置１０１に対して一括して配信指示がなされた場合に、該複数の画像形成装置１０１の全ての画像形成装置１０１においてダウンロード処理が終了したときに実行される。詳細には、複数の画像形成装置１０１において、それぞれダウンロード処理が終了する度に、配信指示情報テーブルの該画像形成装置１０１に対応するレコードを処理対象のレコードとして、ステップＳ１１０１が実行される。
【０２１３】
そして、複数の画像形成装置１０１の全てにおいてダウンロード処理が終了していない限り、ステップＳ１１０４の判断において、処理はステップＳ１１０５に進み、処理対象のレコードのステータスカラムの値は「適用停止」に更新される。そして、最も遅くダウンロード処理を終了した画像形成装置１０１に対応するレコードが処理対象となったときに、ステップＳ１１０４の判断において処理はステップＳ１１１０に進む。
【０２１４】
配信指示情報テーブルＢ（表８）を例に説明すると、ステータスカラムの値が「ダウンロード済」に更新されたレコードがステップＳ１１０１の処理対象となった場合に、ステップＳ１１０４の判断において処理はステップＳ１１１０へ進む。ステップＳ１１１０において、配信制御部３４４は、現在時刻が、処理対象のレコードの適用時刻を過ぎているか確認する。現在時刻が処理対象のレコードの適用時刻を過ぎていない場合、処理はステップＳ１１１１に進み、現在時刻が処理対象の適用時刻を過ぎている場合、処理はステップＳ１１１３に進む。
【０２１５】
ステップＳ１１１１において、配信制御部３４４は、処理対象のレコードの配信ＩＤカラムの値と同じ値を持つレコードのうち、ステータスカラムの値が「適用停止」のレコードが存在するか確認する。ステータスカラムの値が「適用停止」のレコードが存在しない場合、配信システム１０３における処理は、ステップＳ１１２３において状態管理サーバ１０２からメッセージの配信を受けるまで待機する。
【０２１６】
なお、ステップＳ１１１１において、ステータスカラムの値が「適用停止」のレコードが存在しない場合とは、同じ配信ＩＤを持つレコードの全てにおいて、ステータスカラムの値が「ダウンロード済」の場合である。一方、ステータスカラムの値が「適用停止」のレコードが存在する場合、処理はステップＳ１１１２に進む。
【０２１７】
なお、ステップＳ１１１１において、ステータスカラムの値が「適用停止」のレコードが存在する場合とは、以下の場合である。すなわち、一括してソフトウェアの配信指示がなされた複数の画像形成装置１０１のうち、ある画像形成装置１０１にてダウンロード処理が終了したときに、ダウンロード処理が終了していない他の画像形成装置１０１が１台でもある場合である。
【０２１８】
このとき、先にダウンロード処理が終了した画像形成装置１０１に対応するレコードのステータスカラムの値が「適用待ち」に更新される。本実施形態では、このような場合に、ステップＳ１１０５〜Ｓ１１０９の処理により、配信システム１０３は、状態管理サーバ１０２を介して先にダウンロード処理が終了した画像形成装置１０１に対して「適用停止」を指示することができる。
【０２１９】
そして、「適用停止」を指示された画像形成装置１０１に対して、最後の画像形成装置１０１においてダウンロード処理が終了したタイミングで、ステップＳ１１１２の処理により適用処理の一時的な停止を解除し、適用処理を再開するための指示がなされる。
【０２２０】
ステップＳ１１１２において、配信制御部３４４は、ステップＳ１１１１にて確認された、ステータスカラムの値が「適用停止」のレコードの該値を「適用再開」に更新する。表８に示す例では、配信先デバイスカラムの値が「ＺＺＺ２３４５６」のレコードが、ステップＳ１１１１の判断にて存在が確認され、ステップＳ１１１２の処理により、ステータスカラムの値が「適用再開」に更新される。
【０２２１】
ステップＳ１１１２の処理が終了した後の更新された配信指示情報テーブルの例を以下の配信指示情報テーブルＣに示す。配信指示情報テーブルＣにおいて、配信先デバイスカラムの値が「ＺＺＺ２３４５６」のレコードのステータスカラムの値が「適用停止」から「適用再開」に更新されたことがわかる。
【０２２２】
【表９】
2019160082.tif 000011
【０２２３】
ステップＳ１１１３において、配信システム１０３の配信制御部３４４は、複数の画像形成装置１０１に対して一括してなされたソフトウェアの配信指示の適用時刻通りにソフトウェアの適用ができない旨をユーザへ通知する。ソフトウェアの適用ができないとされる画像形成装置１０１は、一括してなされた配信指示の対象となった全ての画像形成装置１０１である。
【０２２４】
ステップＳ１１１４において、通知を受信したユーザは、ソフトウェアの適用時刻の再設定を行う。ソフトウェアの適用時刻の再設定は、第１実施形態と同様に、例えば、再設定画面９００を利用して行われる。なお、図１２に示した再設定画面９００は、配信指示情報部９０２に表示された配信先の画像形成装置１０１は１台のみである。これに対して、本実施形態の場合、複数の画像形成装置１０１に対して一括してなされたソフトウェアの配信指示の対象となる全ての画像形成装置１０１の情報が表示される。
【０２２５】
ユーザは、再設定画面９００を利用して、複数の画像形成装置１０１に対して一括してなされたソフトウェアの配信指示の対象となる全ての画像形成装置１０１に対して、同時に一括して適用時刻の再設定を行うことができる。これにより、対象となる全ての画像形成装置１０１に対して足並みをそろえて適用処理に関するリカバリを行うことが可能になる。
【０２２６】
ステップＳ１１１５において、配信制御部３４４は、再設定画面９００にて設定されたソフトウェアの適用時刻に関する情報を用いて配信指示情報テーブルを更新する。更新される内容の詳細は、図１０のステップＳ８０５の処理と同様のため、その説明を省略する。更新後の配信指示情報テーブルの例を以下の配信指示情報テーブルＤに示す。配信指示情報テーブルＤにおいて、同じ配信ＩＤを持つ２つのレコードのステータスカラムの値が、配信指示情報テーブルＣに示した各々の値から「適用時刻再設定」に更新されたことがわかる。
【０２２７】
【表１０】
2019160082.tif 000012
【０２２８】
ステップＳ１１１６において、配信システム１０３は、配信制御部３４４が管理する配信指示情報をメッセージ生成部３４２でメッセージに変換する。そして、配信制御部３４４は、該メッセージを該当の画像形成装置１０１へのメッセージとして通信部３４１を介して状態管理サーバ１０２へ通知する。なお、ステップＳ１１１６にて通知されるメッセージの内容および該メッセージの配信対象とする画像形成装置１０１は以下の２パターンある。
【０２２９】
パターン（１）：配信されるメッセージは、ソフトウェアの適用処理の再開を指示するメッセージである。また、該メッセージの配信対象となる画像形成装置１０１は、ステップＳ１１１２の処理により、配信指示情報テーブルのステータスカラムの値が「適用停止」から「適用再開」に更新されたレコードに対応する画像形成装置１０１である。すなわち、ステップＳ１１１６において、配信システム１０３からソフトウェアの適用停止を解除するための指示がなされる。
【０２３０】
パターン（２）：配信されるメッセージは、ソフトウェアの適用タイミングの再設定を示すメッセージである。また、該メッセージの配信対象となる画像形成装置１０１は、ステップＳ１１１５の処理により、配信指示情報テーブルのステータスカラムの値が「適用時刻再設定」に更新されたレコードに対応する画像形成装置１０１である。すなわち、ステップＳ１１１６において、配信システム１０３からソフトウェアの適用タイミングの再設定するための指示がなされる。
【０２３１】
ステップＳ１１１７において、状態管理サーバ１０２のクライアント管理部３３２は、通信部３３１を介して配信システム１０３からのメッセージを受信すると、自身が管理する、該当の画像形成装置１０１の状態を更新する。具体的には、クライアント管理部３３２は、状態情報テーブル（表１）の該当する画像形成装置１０１のレコードの状態情報ファイルを該メッセージで更新する。
【０２３２】
ステップＳ１１１８において、クライアント管理部３３２は、該更新を画像形成装置１０１に配信する。具体的には、クライアント管理部３３２がステップＳ１１１７で更新した状態情報ファイルをメッセージとして画像形成装置１０１へ配信する。画像形成装置１０１は、該メッセージを受信することによって、ステップＳ７０４で受信したメッセージにおいて指定されたソフトウェアの配信指示を上書きする。
【０２３３】
ステップＳ１１１９において、画像形成装置１０１のメッセージ解析部３１３は、ステップＳ１１１８で受信したメッセージの解析を行う。メッセージ解析部３１３は、メッセージの解析後、通信部３１１を介して管理モジュール３２０の制御部３２１へ該メッセージを送信する。制御部３２１は、メッセージ解析部３２３に該メッセージの詳細な解析を指示する。以降、適用処理が実行されるが、ステップＳ１１２０〜Ｓ１１３３の処理は、第１実施形態の図１０および図１１で示したステップＳ８１０〜Ｓ８２３の処理と同様のため、その説明を省略する。
【０２３４】
（第４実施形態）
第１実施形態〜第３実施形態では、配信指示通りにソフトウェアの適用ができない場合にユーザが適用するタイミングを再設定する場合について説明した。これに対して、本実施形態では、画像形成装置１０１においてダウンロード処理が完了した後に、配信システムからの指示に関わらず、強制的に画像形成装置１０１において適用を実行する場合について説明する。
【０２３５】
図１７は、画像形成装置１０１がユーザからソフトウェアの適用を実行する指示を受け付けるための指示画面の一例を示す図である。
指示画面１２００は、画像形成装置１０１のＣＲＴ２１０に表示される。指示画面１２００は、説明部１２０１、配信指示情報部１２０２、強制適用指示部１２０３、キャンセルボタン１２０４、および登録ボタン１２０５を有する。
【０２３６】
指示画面１２００は、図１０のステップＳ８１０または図１３のステップＳ１０１２にて画像形成装置１０１が「適用待ち」状態に遷移した後に表示される。表示条件については特に言及しないが、「適用待ち」状態に遷移した後に毎回表示するか、または表示条件を画像形成装置１０１にて事前に登録しておき、該条件を満たした場合に表示してもよい。
【０２３７】
説明部１２０１では、配信システム１０３からの配信指示にて指定されたソフトウェアの適用準備ができた旨の説明文を表示する。配信指示情報部１２０２では、配信システム１０３からの配信指示にて指定された情報を表示する。図１７に示す例では、配信指示情報部１２０２には、配信対象のソフトウェアの名称およびバージョンと、該ソフトウェアの適用時刻として設定された値が表示される。しかし、これに限られるものではなく、配信指示情報部１２０２には、その他の情報を表示されてもよい。
【０２３８】
強制適用指示部１２０３では、配信指示情報部１２０２に表示された情報に関わらず、強制的に該当のソフトウェアの適用処理を実行するタイミングを指定することができる。なお、図１７に示す例では、強制的に該当のソフトウェアの適用処理を実行するタイミングとして、今すぐ適用処理を開始する「即時」と、所望の日時を指定可能な「日時指定」とを選択できる。
【０２３９】
キャンセルボタン１２０４が押下されると、強制適用指示部１２０３にて指定されたソフトウェアの適用タイミングに関する情報がクリアされる。登録ボタン１２０５が押下されると、強制適用指示部１２０３にて指定されたソフトウェアの適用処理に関する情報が制御部３２１に通知され図１８および図１９に示す処理が実行される。
【０２４０】
図１８および図１９は、本実施形態に係るシステムにおいて、状態管理サーバ１０２を介したメッセージの送受信により画像形成装置１０１がソフトウェアを適用するまでの処理を示すシーケンス図である。本実施形態では、画像形成装置１０１において、ソフトウェアのダウンロード処理が完了した後、ユーザが図１７に示す指示画面１２００により画像形成装置１０１上で適用処理を実行するタイミングの再設定が行われる。指示画面１２００において登録ボタン１２０５が押下されると図１８および図１９に示す処理が開始される。
【０２４１】
ステップＳ１３０１において、画像形成装置１０１の制御部３２１は、指示画面１２００にて指定された適用タイミングを確認する。詳細には、指示画面１２００の強制適用指示部１２０３にて指定された適用時刻を確認する。適用時刻として「即時」が指定されていた場合、処理はステップＳ１３１２に進み、「日時指定」が指定されていた場合、処理はステップＳ１３０２に進む。
【０２４２】
ステップＳ１３０２において、制御部３２１は、ステップＳ７０４で受信したメッセージにおいて指定されていた適用時刻を強制適用指示部１２０３にて指定された適用時刻に更新する。そして、制御部３２１は、制御部３２１は、管理部３２２において管理する自装置の状態をソフトウェアの「適用時刻更新」状態に更新する。
【０２４３】
さらに、制御部３２１は、自装置の状態が更新されたことを、通信部３１１を介して状態管理サーバ１０２へ通知する。具体的には、メッセージ生成部３１２が、自装置の状態が「適用時刻更新」に更新されたことを示す状態情報ファイルをメッセージとして生成し、制御部３２１は、該メッセージを、通信部３１１を介して状態管理サーバ１０２へ送信する。
【０２４４】
ステップＳ１３０３において、状態管理サーバ１０２のクライアント管理部３３２は、通信部３３１を介して画像形成装置１０１からのメッセージを受信すると、自身が管理する、該当の画像形成装置１０１の状態を更新する。具体的には、クライアント管理部３３２は、状態情報テーブル（表１）の該当する画像形成装置１０１のレコードの状態情報ファイルを受信した該メッセージで更新する。
【０２４５】
ステップＳ１３０４において、クライアント管理部３３２は、該更新を配信システム１０３に配信する。具体的には、クライアント管理部３３２が、ステップＳ１３０３で更新した状態情報ファイルを、画像形成装置１０１の状態が「適用時刻更新」に更新されたことを示すメッセージとして配信システム１０３へ配信する。
【０２４６】
ステップＳ１３０５において、配信システム１０３の配信制御部３４４は、通信部３４１を介して状態管理サーバ１０２からメッセージを受信すると、配信指示情報テーブル（表５）からメッセージ送信元の画像形成装置１０１のレコードを取得する。そして、配信制御部３４４は、取得したレコードの適用時刻カラムの値を受信したメッセージが示す適用時刻に関する情報に更新する。また、該レコードのステータスカラムの値を受信したメッセージが示す画像形成装置１０１の状態、すなわち、「適用時刻更新」に変更する。
【０２４７】
ステップＳ１３０６において、配信制御部３４４は、画像形成装置１０１においてソフトウェアの適用時刻が更新された旨をユーザへ通知する。ステップＳ１３０７以降の処理は、図１０および図１１のステップＳ８１０Ｓ８２３の処理と同様のため、その説明は省略する。
【０２４８】
このように、本実施形態では、ソフトウェアのダウンロード処理が完了した後、画像形成装置において該ソフトウェアの適用タイミングを変更し、配信システム１０３からの指示に関わらず強制的に適用処理を実行することができる。また、画像形成装置においてソフトウェアの適用タイミングを変更した場合に、状態管理サーバを介して配信システムは、その旨の通知を受信することができ、画像形成装置におけるソフトウェアの配信処理の状況をリアルタイムに把握することが可能となる。
【０２４９】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０２５０】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【０２５１】
１０１    画像形成装置
１０２    状態管理サーバ
１０３    配信システム
【図１】
2019160082.tif 000013
【図２】
2019160082.tif 000014
【図３】
2019160082.tif 000015
【図４】
2019160082.tif 000016
【図５】
2019160082.tif 000017
【図６】
2019160082.tif 000018
【図７】
2019160082.tif 000019
【図８】
2019160082.tif 000020
【図９】
2019160082.tif 000021
【図１０】
2019160082.tif 000022
【図１１】
2019160082.tif 000023
【図１２】
2019160082.tif 000024
【図１３】
2019160082.tif 000025
【図１４】
2019160082.tif 000026
【図１５】
2019160082.tif 000027
【図１６】
2019160082.tif 000028
【図１７】
2019160082.tif 000029
【図１８】
2019160082.tif 000030
【図１９】
2019160082.tif 000031