以下、本発明を実施するための形態について図面などを参照して説明する。
(第1実施形態)
図1は、本発明の一実施形態に係るシステムの全体構成例を示す図である。
本実施形態に係るシステムは、ネットワーク100を介して接続されるネットワークデバイスの一例としての画像形成装置101、状態管理サーバ102、および配信システム103等から構成される。
なお、本実施形態では、ネットワークデイバスの一例として画像形成装置(MFP)101を用いて説明するが、これに限られるものではない。ネットワークデバイスは、例えば、プリンタやスキャナ、ネットワーク中継機器(ルータ)やネットワークカメラ等の機器であってもよく、ネットワーク100を介した通信機能を有する機器であればどのようなものでもよい。
なお、本実施形態に係る状態管理サーバ102および配信システム103は、それぞれ複数のサーバコンピュータから構築されてもよく、また、クラウドサービスによって提供されるリソースとしての仮想マシンやストレージを用いて構築されてもよい。仮想マシンとは、仮想化技術によって、データセンタ上のサーバコンピュータ(実コンピュータ)を物理的な構成にとらわれずに論理的な単位で分割し、分割したそれぞれで独立したオペレーティングシステムをもって動作する論理的なコンピュータである。
1台以上のサーバコンピュータ上で動作する1以上の仮想マシンを用いて、状態管理サーバ102および配信システム103が構築される。サーバコンピュータや作成する仮想マシンの数は限定しない。状態管理サーバ102および配信システム103が備える各ソフトウェアモジュールは、それぞれ別の仮想マシンで実行される場合もあれば、同一の仮想マシンで実行される場合もある。
ネットワーク100は、各構成要素間で通信を行うための基盤であって、Wide Area Network(WAN)、Local Area Network(LAN)、またはその他のネットワークシステムであってもかまわない。
画像形成装置101は、本システムのクライアントとなるネットワークデバイスである。画像形成装置101は、ネットワーク100を介して状態管理サーバ102および配信システム103と相互に接続する。なお、ネットワーク100に接続する画像形成装置101の数は、図1に示した例に限定されるものではなく、1以上の画像形成装置101がネットワーク100を介して状態管理サーバ102および配信システム103に接続する構成を採ることができる。
状態管理サーバ102は、画像形成装置101の状態を管理するIoT管理サーバとして機能する。画像形成装置101は、自身の状態に変化があった場合に、状態管理サーバ102にその旨を示す情報を送信する。また、状態管理サーバ102は、配信システム103からの指示を画像形成装置101に送信する。状態管理サーバ102の代表的な例として、AWS IoT等が挙げられるが、これに限定するものではない。
配信システム103は、状態管理サーバ102を介して画像形成装置101の状態を監視する。また、配信システム103は、状態管理サーバ102を介して画像形成装置101の変化に応じた指示を画像形成装置101に送信する。例えば、配信システム103は、ソフトウェアの配信に関わる画像形成装置101の状態を監視し、画像形成装置101の状態の変化に応じた指示を生成し、該画像形成装置101に対して送信する。
図2は、画像形成装置101、状態管理サーバ102、および配信システム103の情報処理機能のハードウェア構成例を示す図である。
なお、状態管理サーバ102または配信システム103が仮想マシンを用いて構築される場合、図2は、該仮想マシンを構築するデータセンタ上の実コンピュータのハードウェア構成を示すものである。この場合、状態管理サーバ102または配信システム103は、仮想化技術によって図2に示す各ハードウェア要素と同等の特徴を有する仮想ハードウェアとして実現される。
CPU201は、ROM203のプログラム用ROMや、外部メモリ211からRAM202に読み込んだオペレーティングシステム(OS)やアプリケーション等のプログラムを実行する。また、CPU201は、システムバス204に接続される各ブロックを制御する。後述する各シーケンスの処理は、CPU201がRAM202に読み込んだプログラムを実行することにより実現される。
RAM202は、CPU201の主メモリ、ワークエリア等として機能する。ROM203は、組込済みプログラムおよびデータが記録されている記憶素子である。CPU201は、操作部I/F205を介して操作部209からの入力を制御する。CPU201は、CRTコントローラ(CRTC)206を介してCRT210の表示を制御する。CPU201は、ディスクコントローラ(DKC)207を介して各種データを記憶するハードディスク(HD)等の外部メモリ211におけるデータアクセスを制御する。
CPU201は、ネットワークコントローラ(NC)208を制御することにより、ネットワーク100を介して接続されたサーバコンピュータや他の機器との通信制御処理を実行する。なお後述の全ての説明において、特に断りのない限りプログラムを実行するハードウェアの主体はCPU201であり、ソフトウェアの主体は外部メモリ211にインストールされたプログラムである。
図3は、本実施形態に係るシステムのソフトウェア構成を示す図である。
図3に示す各ソフトウェアモジュールは、各装置の外部メモリ211に格納され、CPU201によって実行される。
まず、画像形成装置101のソフトウェア構成について説明する。画像形成装置101は、連携モジュール310および管理モジュール320を備える。連携モジュール310は、画像形成装置101の状態を通知するメッセージを状態管理サーバ102に送信するとともに、状態管理サーバ102を介して配信システム103が生成する各種指示を示すメッセージを受信する。なお、後述するように、本実施形態では、画像形成装置101は、状態を通知するメッセージおよび状態の更新を指示するメッセージとして状態情報ファイル(図4~図6)を送受信する。連携モジュール310は、通信部311、メッセージ生成部312、およびメッセージ解析部313から構成される。
通信部311は、NC208を介してネットワーク100により接続される状態管理サーバ102と通信を行う。メッセージ生成部312は、管理モジュール320から取得した画像形成装置101の状態情報に基づき自装置の状態を通知するメッセージを生成する。生成されたメッセージは、通信部311を介して状態管理サーバ102に送信される。メッセージ解析部313は、通信部311を介して状態管理サーバ102から受信した各種メッセージの解析を行い、管理モジュール320に送信する。
管理モジュール320は、配信システム103が生成し、状態管理サーバ102を介してメッセージ解析部313が受信した各種メッセージに従い各種状態や各種設定値などの情報を画像形成装置101へ反映するモジュールである。管理モジュール320は、制御部321、管理部322、メッセージ解析部323、メッセージ実行部324から構成される。また、メッセージ実行部324は、ダウンロード制御部325および適用制御部326から構成される。
制御部321は、管理モジュール320の全体を制御し、管理モジュール320の各構成要素に対する指示および管理を行う。管理部322は、画像形成装置101の各種状態を示す値および各種設定値を管理する。メッセージ解析部323は、通信部311から受信したメッセージの詳細な解析を行い、メッセージ実行部324で実行する処理を確定する。
メッセージ実行部324は、メッセージ解析部323が解析した内容に従い、画像形成装置101の状態や設定の変更等を行う。また、メッセージ実行部324は、処理が完了すると、管理部322が管理する各種状態を示す値および各種設定値を更新する。ダウンロード制御部325は、ソフトウェアのダウンロード処理の制御を行う。適用制御部326は、メッセージソフトウェアの適用処理の制御を行う。
次に、状態管理サーバ102のソフトウェア構成について説明する。状態管理サーバ102は、モジュール330を備える。モジュール330は、画像形成装置101と配信システム103とのメッセージの送受信を管理する。モジュール330は、画像形成装置101の状態を管理し、画像形成装置101において状態に変更があれば、自身が管理する該画像形成装置101の状態を更新し、該更新を配信システム103に配信する。
また、モジュール330は、配信システム103から画像形成装置101に対するメッセージを受信し、画像形成装置101に該メッセージを配信することで、画像形成装置101に状態の更新を指示する。
モジュール330は、通信部331、クライアント管理部332、クライアントデータベース333、接続管理部334、接続管理データベース335、権限管理データベース336、およびメッセージ生成部337から構成される。通信部331は、NC208を介してネットワーク100により接続される画像形成装置101および配信システム103と通信を行う。
クライアント管理部332は、状態管理サーバ102にネットワーク100を介して接続される画像形成装置101の状態を示す情報(状態情報)を管理する。画像形成装置101の状態情報は、クライアントデータベース333に格納される。クライアントデータベース333に格納され、クライアント管理部332が管理する画像形成装置101の状態情報の一例を以下の状態情報テーブルに示す。
状態情報テーブルは、状態情報ID、状態情報名、および状態情報から構成される。状態情報IDカラムには、モジュール330に接続される画像形成装置101を一意に識別するための識別子が格納される。状態情報名カラムには、モジュール330に接続される画像形成装置101の名称が格納される。状態情報カラムには、モジュール330に接続される画像形成装置101の状態情報が格納される。以下、状態情報カラムに格納される画像形成装置101の状態情報について説明する。
図4は、本実施形態における状態管理サーバ102が管理する画像形成装置101の状態情報の一例を示す図である。
状態情報ファイル400は、画像形成装置101の状態情報を管理するファイルであり、状態管理サーバ102が管理する画像形成装置101と対応付けて存在する。
状態情報ファイル400は、状態情報部401、バージョン404、およびタイムスタンプ405から構成される。なお、本実施形態では、状態情報ファイル400のフォーマットをJavaScript(登録商標) Object Notation形式(JSON形式)で記載しているが、フォーマットはこれに限定されるものではない。
状態情報部401は、画像形成装置101の現在の状態を示す状態部403と、配信システム103からの指示を受けて変化する状態を示す指示部402とから構成される。詳細には、指示部402は、配信システム103からの指示内容であり、画像形成装置101の状態を更新するための指示が格納する。すなわち、画像形成装置101が該指示を受けて変化する状態を示す情報が格納される。なお、配信システム103からの指示がない場合、指示部402には値が格納されず空となる。また、状態部403には、画像形成装置101の現在の状態を示す情報が格納される。
バージョン404には、状態情報ファイル400のバージョンが格納される。バージョン404は、画像形成装置101および配信システム103によって状態情報ファイル400が更新されるたびに変更される。タイムスタンプ405には、状態情報ファイル400が画像形成装置101および配信システム103によって更新された際にタイムスタンプ情報が格納される。
図3の説明に戻る。接続管理部334は、状態管理サーバ102にネットワーク100を介して接続される画像形成装置101および配信システム103の接続情報を管理する。状態管理サーバ102に現在接続されている画像形成装置101および配信システム103の接続情報は、接続管理データベース335に格納される。接続管理データベース335に格納され、接続管理部334が管理する接続情報の一例を以下の接続情報テーブルに示す。
接続情報テーブルは、接続クライアントID、出版状態情報ID、および購読状態情報IDから構成される。接続クライアントIDカラムには、状態管理サーバ102に現在接続されている画像形成装置101および配信システム103を一意に識別するための識別子が格納される。なお、本実施形態では、接続クライアントIDカラムの値が「ZZZ12345」および「ZZZ23456」のレコードが画像形成装置101の接続情報を示す。また、本実施形態では、接続クライアントIDカラムの値が「DeliveryServer」のレコードが配信システム103の接続情報を示す。
出版状態情報IDカラムには、状態情報を更新可能な画像形成装置101および配信システム103の識別子が格納される。購読状態情報IDカラムには、状態情報を参照可能な画像形成装置101および配信システム103の識別子が格納される。
接続管理部334は、さらに、状態管理サーバ102にネットワーク100を介して接続された画像形成装置101および配信システム103の状態情報への権限に関する情報(権限情報)を管理する。詳細には、状態管理サーバ102に接続される画像形成装置101および配信システム103がアクセス可能な状態情報に対する実際のアクセス許可の内容である。権限情報は、権限管理データベース336に格納される。権限管理データベース336に格納され、接続管理部334が管理する権限情報の一例を以下の権限情報テーブルに示す。
権限情報テーブルは、接続クライアントID、状態情報ID、および権限から構成される。接続クライアントIDカラムには、状態管理サーバ102が権限情報を管理する画像形成装置101および配信システム103を一意に識別するための識別子が格納される。状態情報IDカラムには、接続クライアントIDカラムの値に該当する画像形成装置101または配信システム103がアクセス可能な状態情報がどの画像形成装置101に対するものかを示す、該画像形成装置101を一意に識別するための識別子が格納される。
権限カラムには、状態情報IDカラムの値に該当する画像形成装置101の状態情報ファイルに対するアクセス権限に対応する値を格納される。なお、接続情報テーブルの状態情報IDカラムの値に基づき、状態情報テーブル(表1)の状態情報IDカラムにおいて同じ値を有する状態情報ファイルを特定することができる。
権限カラムの値に「Publish」を含むレコードの場合、接続クライアントIDカラムが示す画像形成装置101または配信システム103が、状態情報IDカラムから特定される状態情報ファイルに対して更新権限を有することを表す。また、権限カラムの値に「Subscribe」を含むレコードの場合、接続クライアントIDカラムが示す画像形成装置101または配信システム103が、状態情報IDカラムから特定される状態情報ファイルに対して参照権限を有することを表す。
上記の権限情報テーブルの例では、接続クライアントIDカラムの値が画像形成装置101であることを示す「ZZZ12345」や「ZZZ23456」のレコードから、以下のことがわかる。すなわち、画像形成装置101は、それぞれ自身の状態情報ファイルに対して更新権限および参照権限を有する。
また、接続クライアントIDカラムの値が配信システム103であることを示す「DeliveryServer」のレコードから、以下のことがわかる。すなわち、配信システム103は、接続クライアントIDカラムの値が「ZZZ12345」および「ZZZ23456」の画像形成装置101の状態情報ファイルに対して更新権限および参照権限を有する。
図3の説明に戻る。メッセージ生成部337は、配信システム103から受信した指示に従い、画像形成装置101に対して状態の更新を指示するメッセージを生成する。生成されたメッセージは、通信部331を介して該当する画像形成装置101に送信される。
次に、配信システム103のソフトウェア構成について説明する。配信システム103は、モジュール340を備える。モジュール340は、画像形成装置101へ配信するソフトウェアを管理する。また、配信システム103は、自身が管理するソフトウェアに関する情報と画像形成装置101から受信するメッセージに応じて、画像形成装置101の状態を更新する必要が有るか判断する。そして、画像形成装置101の状態を更新する必要があると判断した場合、状態管理サーバ102を介して画像形成装置101に対して状態の更新を指示するメッセージを送信する。
モジュール340は、通信部341、メッセージ生成部342、ソフトウェア管理部343、配信制御部344、およい管理データベース345から構成される。通信部341は、NC208を介してネットワーク100により接続される画像形成装置101および状態管理サーバ102と通信を行う。メッセージ生成部342は、画像形成装置101から受信するメッセージに応じて各種指示を通知するメッセージを生成する。
生成されたメッセージは、通信部341を介して状態管理サーバ102に送信される。ソフトウェア管理部343は、画像形成装置101へ配信するソフトウェアに関する情報(ソフトウェア情報)を管理する。ソフトウェア情報は、管理データベース345に格納される。管理データベース345に格納され、ソフトウェア管理部343が管理するソフトウェア情報の一例を以下のソフトウェア情報テーブルに示す。
ソフトウェア情報テーブルは、ソフトID、ソフト名、バージョン、種別、登録日、およびURIから構成される。ソフトIDカラムには、ソフトウェア管理部343が管理するソフトウェアを一意に識別するための識別子が格納される。ソフト名カラムには、ソフトウェア管理部343が管理するソフトウェアの名称が格納される。バージョンカラムには、ソフトウェア管理部343が管理するソフトウェアのバージョンが格納される。
種別カラムには、ソフトウェア管理部343が管理するソフトウェアの種別が格納される。なお、上記のソフトウェア情報テーブルの例では、ソフトウェアの種別としてファームウェアとアプリケーションとを示したが、種別はこれに限定されるものではない。登録日カラムには、ソフトウェア管理部343が管理するソフトウェアとして該当のソフトウェアを登録した日が格納される。
URIカラムには、ソフトウェア管理部343が管理するソフトウェアの実体を取得するためのURIまたは実体を取得するためにキーとなる情報が格納される。なお、ソフトIDから一意にソフトウェアの実体を取得するためのURIが作成できるのであれば、URIカラムはなくてもよい。また、本実施形態では、ソフトウェアの実体はモジュール340内の管理データベース345に格納されることを想定しているが、これに限られるものではなく、例えば、外部のストレージサーバ等に格納されてもよい。
図3の説明に戻る。配信制御部344は、画像形成装置101へのソフトウェアの配信指示をユーザから受け付け、配信指示の内容を管理する。また、配信制御部344は、状態管理サーバ102を介してメッセージを送信することにより画像形成装置101へソフトウェアの配信指示を行う。配信指示の内容は、管理データベース345に格納される。以下、配信システム103が、画像形成装置101へのソフトウェアの配信指示をユーザから受け付ける方法について説明する。
図7は、配信システム103がソフトウェアの配信指示をユーザから受け付けるための配信設定画面の一例を示す図である。
配信設定画面500は、配信システム103のCRT210に表示される。なお、配信システム103は、配信設定画面500を表示するためのデータを任意の装置に送信し、ユーザは、任意の装置に表示させた配信設定画面500においてソフトウェアの配信指示を行ってもよい。
配信設定画面500は、ソフトウェア指定部501、配信時刻指定部502、および適用時刻指定部503、画像形成装置指定部504、キャンセルボタン505、および登録ボタン506を有する。ソフトウェア指定部501では、配信対象とするソフトウェアを指定する。詳細には、ソフトウェア指定部501では、ソフトウェア管理部343が管理するソフトウェアの中から配信対象とするソフトウェアを特定するためのソフトウェアの名称およびバージョンを指定する。
なお、図7に示す例では、すでに選択されたソフトウェアの情報を表示しているが、配信設定画面500においてソフトウェア管理部343が管理するソフトウェアの情報を検索するための機能を設けてもよい。また、配信対象とするソフトウェアは1つに限定するものではなく、複数のソフトウェアを指定することができる。
配信時刻指定部502では、ソフトウェア指定部501で指定したソフトウェアの配信時刻、すなわち、該ソフトウェアを画像形成装置101がダウンロードする日時を指定する。なお、図7に示す例では、ダウンロードする日時として、「即時」または「日時指定」を指定することができる。
「即時」が指定された場合、画像形成装置101が配信システム103から状態管理サーバ102を介して状態の更新を指示するメッセージを受信した直後に該当のソフトウェアのダウンロードを開始するように配信指示が行われる。また、「日時指定」が指定された場合、ユーザがさらに指定した具体的なダウンロードの開始時刻に該当のソフトウェアのダウンロードを開始するように配信指示が行われる。
適用時刻指定部503では、ソフトウェア指定部501で指定したソフトウェアのダウンロードが完了した後に、該ソフトウェアを画像形成装置101に適用(インストール)する日時を指定する。なお、図7に示す例では、適用する日時として、「即時」または「日時指定」を指定することができる。
「即時」が指定された場合、該当のソフトウェアのダウンロードが完了した直後に該ソフトウェアの適用を開始するように配信指示が行われる。また、「日時指定」が指定された場合、ユーザがさらに指定した具体的な適用時刻に該当のソフトウェアの適用を開始するように配信指示が行われる。
画像形成装置指定部504では、ソフトウェア指定部501で指定したソフトウェアの配信先とする画像形成装置101を指定する。なお、図7に示す例では、配信先とする画像形成装置として1台の画像形成装置の識別子を指定しているが、該配信設定画面500において、例えば、顧客単位で管理される画像形成装置101を検索するための機能を設けてもよい。
また、配信先とする画像形成装置101は、1台に限定されるものではなく、複数台の画像形成装置を指定してもよい。例えば、上述した顧客単位で管理される画像形成装置101を検索するための機能を利用して、一括して配信先の画像形成装置101を指定できるようにしてもよい。また、配信先とする画像形成装置101の指定は、画像形成装置101の識別子を利用する方法に限定されるものではなく、例えば、画像形成装置101の名称など、他の情報を利用してもよい。
キャンセルボタン505が押下されると、配信設定画面500にて設定されたソフトウェアの配信指示に関する情報(配信指示情報)がクリアされる。具体的には、キャンセルボタン505が押下されると、ソフトウェア指定部501、配信時刻指定部502、適用時刻指定部503、および画像形成装置指定部504にて指定された各設定内容がクリアされる。
登録ボタン506が押下されると、配信設定画面500にて設定されたソフトウェアの配信指示に関する情報(配信指示情報)が配信制御部344に登録される。具体的には、登録ボタン506が押下されると、ソフトウェア指定部501、配信時刻指定部502、適用時刻指定部503、および画像形成装置指定部504にて指定された各設定内容が配信制御部344に登録される。
配信設定画面500にて設定された配信指示情報は、配信制御部344が管理し、管理データベース345に格納される。管理データベース345に格納され、配信制御部344が管理する配信指示情報の一例を以下の配信指示情報テーブルに示す。
配信指示情報テーブルは、配信ID、ソフトID、配信時刻、適用時刻、配信先デバイス、およびステータスから構成される。配信IDカラムには、配信制御部344が管理する配信指示情報を一意に識別するための識別子が格納される。配信IDは、配信設定画面500にてソフトウェアの配信指示情報が登録されるたびに発番される。
また、本実施形態では、ソフトウェアの配信指示が、複数の画像形成装置101に対して一括して登録された場合、配信IDとして同じ値が割り振られる。しかし、これに限られるものではなく、配信ID以外の情報によりソフトウェアの配信指示が一括して登録されたことを管理してもよい。
ソフトIDカラムには、配信対象とするソフトウェアを一意に識別するための識別子が格納される。なお、ソフトIDカラムは、ソフトウェア管理部343が管理するソフトウェア情報テーブル(表4)のソフトIDと同じである。配信時刻カラムには、配信設定画面500の配信時刻指定部502にて指定された配信時刻が格納される。すなわち、配信時刻として、「即時」または、「日時指定」された具体的な日時情報が格納される。
適用時刻カラムには、配信設定画面500の適用時刻指定部503にて指定された適用時刻が格納される。すなわち、適用時刻として、「即時」または「日時指定」された具体的な日時情報が格納される。配信先デバイスカラムには、配信設定画面500の画像形成装置指定部504にて指定されたソフトウェアの配信先とする画像形成装置101を一意に識別するための識別子が格納される。
ステータスカラムには、配信設定画面500にて登録された配信指示に従うダウンロード処理および適用処理の状態が格納される。上記の配信指示情報テーブルの例では、ステータスカラムには、「ダウンロード中」、「ダウンロード済」、または「完了」が格納されている。「ダウンロード中」は、画像形成装置101が該当の配信指示に従いソフトウェアのダウンロード処理を実行し、該処理が実行中であることを示す。
また、「ダウンロード済」は、画像形成装置101が該当の配信指示に従いソフトウェアのダウンロード処理を実行し、該処理が完了したことを示す。また、「完了」は、画像形成装置101が該当の配信指示に従う処理をすべて完了したことを示す。なお、ステータスカラムに格納される値は、これら3つの値に限定されるものではない。例えば、ステータスカラムに格納されるその他の値として、以下のような値がある。
例えば、配信設定画面500にて登録された配信指示情報が状態管理サーバ102を介して画像形成装置101へ配信され、該当のソフトウェアのダウンロード待ち状態であることを示す「ダウンロード待ち」がある。また、該当のソフトウェアを画像形成装置101においてインストール中であることを示す「適用中」がある。
このように、配信指示に従うダウンロード処理および適用処理の状態として、配信システム103から画像形成装置101へソフトウェアの配信指示を行う上で管理すべき任意の状態が配信指示情報テーブルにおいて管理される。配信指示情報テーブルにおいて、ダウンロード処理および適用処理の状態をリアルタイムに管理することによって、配信システム103は、画像形成装置101に対して該状態に応じた指示を行うことができる。
図8は、本実施形態に係るシステムにおいて、「出版-購読型モデル」に基づくメッセージの送受信を行うための処理を説明するためのシーケンス図である。
画像形成装置101は、ソフトウェアの配信指示に従って該ソフトウェアのダウンロード処理およびお適用処理等を含む配信処理を進める過程で自身の状態を更新した場合、状態管理サーバ102に状態の更新を通知するメッセージを送信する。
具体的には、後述するように、状態の更新を通知するメッセージとして状態情報ファイル(図4~図6)が送信される。状態管理サーバ102は、画像形成装置101から状態の更新を通知するメッセージを受信すると、自身が管理する該画像形成装置101の状態情報を更新する。
また、状態管理サーバ102は、該画像形成装置101に関連する配信システム103に受信したメッセージを転送する。ここで、画像形成装置101に関連する配信システム103とは、図8に示す処理を実行することにより画像形成装置101の状態を購読するまたは出版する関係にある配信システム103のことである。
また一方、配信システム103が自身と関連する画像形成装置101に対してソフトウェアの配信指示を配信する場合、または何等かの処理を実行させたい場合、状態管理サーバ102に該画像形成装置の状態の更新を指示するメッセージを通知する。具体的には、後述するように、状態の更新を指示するメッセージとして状態情報ファイル(図4~図6)が送信される。
状態管理サーバ102は、配信システム103から画像形成装置101の状態の更新を指示するメッセージを受信すると、自身が管理する該画像形成装置の状態を更新する。また、状態管理サーバ102は、配信システム103に関連する画像形成装置101に受信したメッセージを転送する。
画像形成装置101と配信システム103とが直接接続され、通信を行う場合、配信システム103が関連する全ての画像形成装置101との通信を管理する必要があった。これに対して、出版-購読型モデルに基づく通信方式では、配信システム103が画像形成装置101との通信を管理する負荷が軽減され、双方向に情報の送受信を行うことが可能となる。
出版-購読型モデルに基づきメッセージをやり取りするには、事前準備として、画像形成装置101と配信システム103とがそれぞれ状態管理サーバ102に対してクライアント登録を行う。クライアント登録は、接続要求と出版購読要求の2つのステップで行われる。以下、クライアント登録について図8を用いて説明する。
まず、1つ目のステップとして画像形成装置101および配信システム103がそれぞれ状態管理サーバ102に対して状態情報への接続要求を送信する。状態管理サーバ102の接続管理部334は、通信部331を介して接続要求を受信すると、接続管理データベース335の接続情報テーブル(表2)に、接続要求を送信したクライアントとして画像形成装置101および配信システム103を登録する。
次に、2つ目のステップとして画像形成装置101および配信システム103がそれぞれ状態管理サーバ102に対して出版購読要求を送信する。出版購読要求の一例を以下の出版購読要求テーブルに示す。
出版購読要求テーブルは、要求元クライアントID、出版状態情報ID、および購読状態情報IDから構成される。要求元クライアントIDカラムには、出版購読要求を送信した画像形成装置101または配信システム103を一意に識別するための識別子が格納される。
出版状態情報IDカラムには、更新可能な状態情報を一意に識別するための識別子が格納される。上記の表では、状態情報を一意に識別するための識別子として画像形成装置101を一意に識別する識別子が格納され、更新可能な状態情報がどの画像形成装置101のものかを示している。
購読状態情報IDカラムには、参照可能な状態情報を一意に識別するための識別子が格納される。上記の表では、出版状態情報IDカラムと同様に、状態情報を一意に識別するための識別子として画像形成装置101を一意に識別する識別子が格納され、参照可能な状態情報がどの画像形成装置101のものかを示している。
図8の説明に戻る。状態管理サーバ102の接続管理部334は、通信部331を介して出版購読要求を受信すると、該要求を行った画像形成装置101または配信システム103が、該要求にて指定された状態情報へのアクセス権限を有するかを確認する。詳細には、接続管理部334は、権限情報テーブル(表3)において、接続クライアントIDカラムの値が、出版購読要求テーブル(表6)の要求元クライアントIDカラムの値と一致するレコードを取得する。
そして、接続管理部334は、取得したレコード(権限情報)の状態情報IDカラムの値と権限カラムの値を取得し、出版購読要求レコード(表6)の出版状態情報IDカラムおよび購読状態情報IDカラムの値と比較する。これにより、出版購読要求を行った装置が該要求に対応する状態情報への参照または購読の権限を有するかが確認できる。状態情報への参照または購読の権限を有する場合、接続管理データベース335の接続情報テーブル(表2)に出版購読要求に基づいてレコードを登録する。
具体的には、接続要求により接続情報テーブル(表2)の接続クライアントIDカラムには、出版購読要求(表6)に含まれる要求元クライアントIDカラムの値が格納されている。このレコードの出版状態情報IDカラムおよび購読状態情報IDカラムに、それぞれ出版購読要求(表6)に含まれる出版状態情報IDカラムおよび購読状態情報IDカラムの値を格納する。
このように、画像形成装置101および配信システム103がそれぞれ状態管理サーバ102に対して接続要求および出版購読要求を行い、これら要求に伴う処理が終了すると、クライアント登録が完了する。そして、画像形成装置101と配信システム103との間で状態管理サーバ102を介した出版-購読型モデルに基づくメッセージの送受信が可能となる。以下、クライアント登録後のメッセージの送受信に関わる処理について説明する。
ステップS601において、画像形成装置101は、自身の状態情報が変化すると、自身の管理する状態情報ファイルを更新し、状態管理サーバ102に対して該更新を通知するメッセージとして更新した状態情報ファイルを送信する。ステップS602において、状態管理サーバ102のクライアント管理部332は、通信部331を介して画像形成装置101からメッセージを受信する。
そして、クライアント管理部332は、クライアントデータベース333の状態情報テーブル(表1)から状態情報IDカラムの値と、画像形成装置101の識別子とが一致するレコードの内容を更新する。具体的には、該レコードの状態情報カラムに格納された状態情報ファイルを、受信したメッセージの内容、すなわち受信した状態情報ファイルで更新する。
ステップS603において、状態管理サーバ102の接続管理部334は、接続情報テーブル(表2)において、以下のレコードを検索する。すなわち、接続管理部334は、購読状態情報IDカラムの値が、ステップS602で更新された状態情報テーブル(表1)のレコードの状態情報IDカラムの値と一致するレコードを検索する。
そして、メッセージ生成部337は、該当したレコードの接続クライアントIDカラムの値に対応する配信システム103に対して、状態が更新されたことを示すメッセージとして状態情報ファイルを配信する。このように、ステップS601~S603の処理により、配信システム103は、状態管理サーバ102を介して画像形成装置101の状態が更新されたことをリアルタイムに監視することが可能となる。
なお、図8に示した処理では、画像形成装置101が、自身の状態の更新を、状態管理サーバ102を介して配信システム103に通知することを説明したが、配信システム103から画像形成装置101へ状態の更新を指示する場合も同様である。つまり、配信システム103がソフトウェアの配信を指示するメッセージを状態管理サーバ102に通知し、状態管理サーバ102がメッセージの内容に従い自身で管理する配信対象の画像形成装置101の状態を更新する。
そして、状態管理サーバ102は、さらに該更新を画像形成装置101に対して配信する。状態管理サーバ102を介したメッセージの送受信による具体的な処理として、ソフトウェアの配信に関わる処理について、図9~図11を用いて後述する。
なお、図8に示した処理では、メッセージの送信に対する応答については言及していないが、例えば、メッセージを受け付けたことを状態管理サーバ102が応答しても良い。また、例えば、配信システム103から状態管理サーバ102を介して画像形成装置101に対して状態の更新を指示するメッセージが配信された場合、該画像形成装置101が該メッセージを正常に受け付けたことを状態管理サーバ102に応答しても良い。また、この場合、状態管理サーバ102が、画像形成装置101へのメッセージが正しく配信されたことを配信システム103に対して応答しても良い。
図9は、本実施形態に係るシステムにおいて、状態管理サーバ102を介したメッセージの送受信により画像形成装置101がソフトウェアをダウンロードするまでの処理を示すシーケンス図である。
ステップS701において、ユーザは、配信設定画面500(図7)を利用して、ソフトウェアの配信指示を行う。配信設定画面500における設定に従い、ソフトウェアの配信指示情報は、配信システム103が備える管理データベース345の配信指示情報テーブル(表5)に登録(格納)される。
ステップS702において、配信システム103は、配信制御部344が管理する配信指示情報をメッセージ生成部342でメッセージに変換する。そして、配信制御部344は、該メッセージをソフトウェアの配信対象とする画像形成装置101へのメッセージとして通信部341を介して状態管理サーバ102へ通知する。なお、配信対象とする画像形成装置101は、配信指示情報テーブル(表5)の配信先デバイスカラムに格納された値から特定される。
ステップS703において、状態管理サーバ102のクライアント管理部332は、通信部331を介して配信システム103からのメッセージを受信すると、自身が管理する、該当の画像形成装置101の状態を更新する。具体的には、クライアント管理部332は、状態情報テーブル(表1)の該当する画像形成装置101のレコードの状態情報ファイルを該メッセージで更新する。
ステップS704において、クライアント管理部332は、該更新を画像形成装置101に配信する。具体的には、クライアント管理部332がステップS703で更新した状態情報ファイルをソフトウェアの配信を指示するメッセージとして画像形成装置101へ配信する。
図4に示す状態情報ファイル410は、画像形成装置101に配信されるメッセージの一例である。状態情報ファイル410の主な構成要素は、状態情報ファイル400と同様のためその説明を省略する。配信システム103から画像形成装置101の状態を更新するための何等かの指示がある場合、指示部411のように指示の内容が挿入される。
ステップS704で配信されるメッセージの場合、指示部411にはソフトウェアの配信を指示する内容(配信指示)が挿入される。具体的には、配信指示情報テーブル(表5)で管理される情報に基づき、配信対象のソフトウェア情報、配信時刻、適用時刻等が指示部411に挿入される。
ステップS705において、画像形成装置101のメッセージ解析部313は、受信したメッセージの解析を行い、通信部311を介して管理モジュール320の制御部321へ該メッセージを送信する。制御部321は、メッセージ解析部323に該メッセージの詳細な解析を指示し、該メッセージが示すソフトウェアの配信指示において指定された配信時刻を確認する。
配信時刻として「日時指定」が行われていた場合、処理はステップS706に進み、配信時刻として「即時」が指定されていた場合、処理はステップS711に進む。ステップS706において、制御部321は、ダウンロード制御部325に指定された配信時刻までソフトウェアのダウンロードを待機するように指示する。そして、制御部321は、管理部322において管理する自装置の状態をソフトウェアの「ダウンロード待ち」状態に更新する。
ステップS707において、制御部321は、自装置の状態が更新されたことを、通信部311を介して状態管理サーバ102へ通知する。具体的には、メッセージ生成部312が、自装置の状態が「ダウンロード待ち」に更新されたことを示す状態情報ファイルをメッセージとして生成し、制御部321は、該メッセージを、通信部311を介して状態管理サーバ102へ送信する。
ステップS708において、状態管理サーバ102のクライアント管理部332は、通信部331を介して画像形成装置101からのメッセージを受信すると、自身が管理する、該当の画像形成装置101の状態を更新する。具体的には、クライアント管理部332は、状態情報テーブル(表1)の該当する画像形成装置101のレコードの状態情報ファイルを受信した該メッセージで更新する。
ステップS709において、クライアント管理部332は、該更新を配信システム103に配信する。具体的には、クライアント管理部332がステップS708で更新した状態情報ファイルを、画像形成装置101の状態が「ダウンロード待ち」に更新されたことを示すメッセージとして配信システム103へ配信する。
ステップS710において、配信システム103の配信制御部344は、通信部341を介して状態管理サーバ102からメッセージを受信すると、配信指示情報テーブル(表5)からメッセージ送信元の画像形成装置101のレコードを取得する。具体的には、配信制御部344は、配信指示情報テーブル(表5)から、配信先デバイスカラムの識別子がメッセージ送信元の画像形成装置101の識別子と一致するレコードを取得する。そして、配信制御部344は、取得したレコードのステータスカラムの値を受信したメッセージが示す画像形成装置101の状態、すなわち「ダウンロード待ち」に更新する。
ステップS711において、画像形成装置101のダウンロード制御部325は、ステップS704にて受信したメッセージが示すソフトウェアのダウンロード処理を実行する。なお、ステップS711の処理は、ステップS704にて受信したメッセージにおいてソフトウェアの配信時刻として「即時」が指定されていた場合、ステップS704にてメッセージを受信した直後に開始される。
また一方、ステップS711の処理は、ステップS704にて受信したメッセージにおいてソフトウェアの配信時刻として「日時指定」が行われていた場合、現在時刻が指定された日時になったときに開始される。制御部321は、ダウンロード処理が開始されると、管理部322において管理する自装置の状態をソフトウェアの「ダウンロード中」状態に更新する。
ステップS712において、制御部321は、自装置の状態が更新されたことを、通信部311を介して状態管理サーバ102へ通知する。具体的には、メッセージ生成部312が、自装置の状態が「ダウンロード中」に更新されたことを示す状態情報ファイルをメッセージとして生成し、制御部321は、該メッセージを、通信部311を介して状態管理サーバ102へ送信する。
ステップS713において、状態管理サーバ102のクライアント管理部332は、通信部331を介して画像形成装置101からのメッセージを受信すると、自身が管理する、該当の画像形成装置101の状態を更新する。具体的には、クライアント管理部332は、状態情報テーブル(表1)の該当する画像形成装置101のレコードの状態情報ファイルを受信した該メッセージで更新する。
ステップS714において、クライアント管理部332は、該更新を配信システム103に配信する。具体的には、クライアント管理部332はがステップS713で更新した状態情報ファイルを、画像形成装置101の状態が「ダウンロード中」に更新されたことを示すメッセージとして配信システム103へ配信する。
ステップS715において、配信システム103の配信制御部344は、通信部341を介して状態管理サーバ102からメッセージを受信すると、配信指示情報テーブル(表5)からメッセージ送信元の画像形成装置101のレコードを取得する。レコード取得の詳細は、ステップS710の処理と同様である。そして、配信制御部344は、取得したレコードのステータスカラムの値を受信したメッセージが示す画像形成装置101の状態、すなわち「ダウンロード中」に更新する。
ステップS716において、画像形成装置101の制御部321は、ダウンロード制御部325の処理が終了したことを検知すると、管理部322において管理する自装置の状態をソフトウェアの「ダウンロード済」状態に更新する。そして、制御部321は、自装置の状態が更新されたことを、通信部311を介して状態管理サーバ102に通知する。具体的には、メッセージ生成部312が、自装置の状態が「ダウンロード済」に更新されたことを示す状態情報ファイルをメッセージとして生成し、制御部321は、該メッセージを、通信部311を介して状態管理サーバ102へ送信する。
図5に示す状態情報ファイル420は、状態管理サーバ102に送信されるメッセージの一例である。状態情報ファイル420の主な構成要素は、状態情報ファイル400と同様のためその説明を省略する。
配信システム103から画像形成装置101への状態を更新する指示のうち、該画像形成装置101において未対応の指示がある場合、指示部421のように未対応の指示の内容が挿入される。ステップS716で通知されるメッセージの場合、指示部421のように、ステップS704で受信したメッセージが示すソフトウェアの配信指示のうち、画像形成装置101において未対応のソフトウェアの適用を指示する内容(適用指示)が挿入される。
また、状態部422には、画像形成装置101の現在の状態を示す情報が格納される。ステップS716で通知されるメッセージの場合、ソフトウェアの配信指示のうち、ソフトウェアのダウンロードを指示する内容(ダウンロード指示)にて指定されたソフトウェアのダウンロード処理が完了したことを示す内容が挿入される。
つまり、ステップS704において受信したメッセージに含まれていたソフトウェアの配信指示のうち、画像形成装置101において完了した処理の情報が状態部422に挿入され、未完了の処理の情報が指示部421に挿入される。
なお、本実施形態では、画像形成装置101が、ダウンロード処理の開始と終了に関わる状態(「ダウンロード中」および「ダウンロード済」状態)を状態管理サーバ102へ通知する例を示したが、これに限られるものではない。例えば、画像形成装置101がダウンロード処理の状態をより細かく状態管理サーバ102へ通知しても良い。
ステップS717において、状態管理サーバ102のクライアント管理部332は、通信部331を介して画像形成装置101からのメッセージを受信すると、自身が管理する、該当の画像形成装置101の状態を更新する。具体的には、クライアント管理部332は、状態情報テーブル(表1)の該当する画像形成装置101のレコードの状態情報ファイルを受信した該メッセージで更新する。
ステップS718において、クライアント管理部332は、該更新を配信システム103に配信する。具体的には、クライアント管理部332がステップS717で更新した状態情報ファイルを、画像形成装置101の状態が「ダウンロード済」に更新されたことを示すメッセージとして配信システム103へ配信する。
ステップS719において、配信システム103の配信制御部344は、通信部341を介して状態管理サーバ102からメッセージを受信すると、配信指示情報テーブル(表5)からメッセージ送信元の画像形成装置101のレコードを取得する。レコード取得の詳細は、ステップS710の処理と同様である。
そして、配信制御部344は、取得したレコードのステータスカラムの値を受信したメッセージが示す画像形成装置101の状態、すなわち「ダウンロード済」に更新する。画像形成装置101は、ソフトウェアのダウンロード処理が終了すると、ステップS704において受信したメッセージに含まれていたソフトウェアの配信指示に従い、図10および図11に示す適用処理を実行する。
図10および図11は、本実施形態に係るシステムにおいて、状態管理サーバ102を介したメッセージの送受信により画像形成装置101がソフトウェアを適用するまでの処理を示すシーケンス図である。
配信システム103において、図9のステップS719の処理により管理データベース345の配信指示情報テーブル(表5)のレコードのステータスカラムの値が「ダウンロード済」に更新されると、配信制御部344は、ステップS801の処理を実行する。ステップS801において、配信制御部344は、配信指示情報テーブルの更新されたレコードの適用時刻カラムの値を確認する。
すなわち、ユーザが登録したソフトウェアの配信指示のうち、対象の画像形成装置101においてダウンロード処理が完了した配信指示の適用時刻が確認される。適用時刻カラムの値が「即時」である場合、配信システム103における処理は、ステップS813またはS818において状態管理サーバ102からメッセージの配信を受けるまで待機する。一方、適用時刻カラムの値が「日時指定」である場合、処理はステップS802に進む。
ステップS802において、配信制御部344は、ソフトウェアの配信指示に含まれる適用条件で指定されたタイミングでの適用が画像形成装置において行えるかを判定する。具体的には、配信制御部344は、現在時刻が適用時刻カラムにて指定された日時を過ぎているか判定する。現在時刻が指定された適用時刻を過ぎていない場合、配信システム103における処理は、ステップS813またはS818において状態管理サーバ102からメッセージの配信を受けるまで待機する。一方、現在時刻が指定さえた適用時刻を過ぎている場合、処理はステップS803に進む。
ステップS803において、配信制御部344は、指定された適用時刻通りにソフトウェアの適用ができない旨をユーザへ通知する。通知する手段については特に限定しないが、例えば、ユーザにメールで通知する方法がある。また、通知対象となるユーザは、配信指示の設定を行ったユーザや、あらかじめ通知対象として登録されたユーザである。ステップS804において、通知を受信したユーザは、ソフトウェアの適用時刻の再設定を行う。以下、ユーザがソフトウェアの適用時刻の再設定を行う際に利用する方法について説明する。
図12は、配信システム103がソフトウェアの適用時刻の再設定をユーザから受け付けるための再設定画面の一例を示す図である。
再設定画面900は、配信システム103のCRT210に表示される。なお、配信システム103は、再設定画面900を表示するためのデータを任意の装置に送信し、ユーザは、任意の装置に表示させた再設定画面900においてソフトウェアの適用時刻の再設定を行ってもよい。
再設定画面900は、説明部901、配信指示情報部902、適用時刻再設定部903、キャンセルボタン904、および登録ボタン905を有する。説明部901では、ユーザが登録した配信指示通りにソフトウェアの適用ができないため、適用時刻を再設定する必要がある旨の説明文を表示する。配信指示情報部902では、ユーザが登録したソフトウェアの配信指示に関する情報を表示する。
図12に示す例では、配信指示情報部902には、配信対象のソフトウェアの名称およびバージョンと、配信先の画像形成装置101の識別子と、該ソフトウェアの適用時刻として設定された値が表示される。しかし、これに限られるものではなく、配信指示情報部902には、例えば、ユーザが登録したソフトウェアの配信指示を一意に特定するための識別子やその他の情報を表示されてもよい。適用時刻再設定部903では、配信指示情報部902に表示された配信指示の適用時刻を再度指定する。
なお、図12に示す例では、適用時刻の再設定として、「即時」または「日時指定」を指定することができる。「即時」が指定された場合、画像形成装置101が配信システム103から状態管理サーバ102を介してソフトウェアの適用タイミングの再設定を示すメッセージを受信した直後に該当のソフトウェアの適用を開始するように状態更新の指示が行われる。また、「日時指定」が指定された場合、ユーザがさらに指定した具体的な適用時刻に該当のソフトウェアの適用を開始するように状態更新の指示が行われる。
キャンセルボタン904が押下されると、適用時刻再設定部903にて設定されたソフトウェアの適用タイミングに関する情報がクリアされる。登録ボタン905が押下されると、適用時刻再設定部903にて設定されたソフトウェアの適用処理に関する情報が、配信制御部344が管理する配信指示情報テーブル(表5)に登録(格納)される。具体的には、図10のステップS805の処理が実行される。
図10の説明に戻る。ステップS805において、配信システム103の配信制御部344は、配信指示情報テーブル(表5)の再設定対象の該当レコードの適用時刻カラムの値を、再設定画面900にて設定された適用時刻で上書きする。また、配信制御部344は、ステータスカラムの値を、「適用時刻再設定」に変更する。
ステップS806において、配信システム103は、配信制御部344が管理する配信指示情報をメッセージ生成部342でメッセージに変換する。該メッセージは、ソフトウェアの適用タイミングの再設定を示すメッセージである。そして、配信制御部344は、該メッセージを該当の画像形成装置101へのメッセージとして通信部341を介して状態管理サーバ102へ通知する。なお、該当の画像形成装置101は、配信指示情報テーブル(表5)の配信先デバイスカラムに格納された値から特定される。
ステップS807において、状態管理サーバ102のクライアント管理部332は、通信部331を介して配信システム103からのメッセージを受信すると、自身が管理する、該当の画像形成装置101の状態を更新する。具体的には、クライアント管理部332は、状態情報テーブル(表1)の該当する画像形成装置101のレコードの状態情報ファイルを該メッセージで更新する。
ステップS808において、クライアント管理部332は、該更新を画像形成装置101に配信する。具体的には、クライアント管理部332がステップS807で更新した状態情報ファイルをソフトウェアの適用タイミングの再設定を示すメッセージとして画像形成装置101へ配信する。画像形成装置101は、ソフトウェアの適用タイミングの再設定を示すメッセージを受信することによって、ステップS704で受信したメッセージにおいて指定されていた適用時刻をステップS804にて再設定された適用時刻に上書きする。
なお、ステップS803~S808の処理は、ステップS802にて、ユーザが登録したソフトウェアの配信指示のうち、画像形成装置101において配信指示の適用時刻を過ぎてもまだ適用が実行されていないと判断された場合に実行される。すなわち、ステップS803~S808の処理は、配信指示の通りに適用が実行可能な場合には実行されず、画像形成装置101では、ダウンロード処理の完了を示すメッセージを通知後(S716)に、ステップS809以降の処理が実行されることになる。
ステップS809において、画像形成装置101のメッセージ解析部313は、ステップS704で受信したソフトウェアの配信を指示するメッセージの解析を行う。なお、ステップS808にて適用タイミングの再設定を示すメッセージを受信している場合、ステップS704で受信したソフトウェアの配信を指示するメッセージの適用時刻は、適用タイミングの再設定を示すメッセージにより上書きされている。
メッセージ解析部313は、ソフトウェアの配信を指示するメッセージの解析後、通信部311を介して管理モジュール320の制御部321へ該メッセージを送信する。制御部321は、メッセージ解析部323に該メッセージの詳細な解析を指示し、該メッセージが示すソフトウェアの配信指示において指定された適用時刻を確認する。
適用時刻として「日時指定」が行われていた場合、処理はステップS810に進み、適用時刻として「即時」が指定されていた場合、処理はステップS815に進む。ステップS810において、制御部321は、適用制御部326に指定された適用時刻までソフトウェアの適用を待機するように指示する。そして、制御部321は、管理部322において管理する自装置の状態をソフトウェアの「適用待ち」状態に更新する。
ステップS811において、制御部321は、自装置の状態が更新されたことを、通信部311を介して状態管理サーバ102へ通知する。具体的には、メッセージ生成部312が、自装置の状態が「適用待ち」に更新されたことを示す状態情報ファイルをメッセージとして生成し、制御部321は、該メッセージを、通信部311を介して状態管理サーバ102へ送信する。
ステップS812において、状態管理サーバ102のクライアント管理部332は、通信部331を介して画像形成装置101からのメッセージを受信すると、自身が管理する、該当の画像形成装置101の状態を更新する。具体的には、クライアント管理部332は、状態情報テーブル(表1)の該当する画像形成装置101のレコードの状態情報ファイルを受信した該メッセージで更新する。
ステップS813において、クライアント管理部332は、該更新を配信システム103に配信する。具体的には、クライアント管理部332が、ステップS812で更新した状態情報ファイルを、画像形成装置101の状態が「適用待ち」に更新されたことを示すメッセージとして配信システム103へ配信する。
ステップS814において、配信システム103の配信制御部344は、通信部341を介して状態管理サーバ102からメッセージを受信すると、配信指示情報テーブル(表5)からメッセージ送信元の画像形成装置101のレコードを取得する。レコード取得の詳細は、ステップS710の処理と同様である。そして、配信制御部344は、取得したレコードのステータスカラムの値を受信したメッセージが示す画像形成装置101の状態、すなわち、「適用待ち」に更新する。
ステップS815において、画像形成装置101の適用制御部326は、ステップS704にて受信したメッセージが示すソフトウェアの適用処理を実行する。なお、ステップS815の適用処理は、ステップS704にて受信したメッセージにおいてソフトウェアの適用時刻として「即時」が指定されていた場合、ソフトウェアのダウンロード処理(図9)が完了した直後に開始される。
また、ステップS808にて受信したメッセージにおいてソフトウェアの適用タイミングの再設定がなされ、該メッセージにおいて「即時」が指定されたいた場合、ステップS815の適用処理は該メッセージを受信した直後に開始される。また一方、ステップS704にて受信したメッセージにおいてソフトウェアの適用時刻として「日時指定」が行われていた場合、現在時刻が指定された日時になったときに、ステップS815の適用処理は開始される。
また、ステップS808にて受信したメッセージにおいてソフトウェアの適用タイミングの再設定がなされ、該メッセージにおいて「日時指定」が行われていた場合、現在時刻が指定された日時になったときに、ステップS815の適用処理は開始される。制御部321は、適用処理が開始されると、管理部322において管理する自装置の状態をソフトウェアの「適用中」状態に更新する。
ステップS816において、制御部321は、自装置の状態が更新されたことを、通信部311を介して状態管理サーバ102へ通知する。具体的には、メッセージ生成部312が、自装置の状態が「適用中」に更新されたことを示す状態情報ファイルをメッセージとして生成し、制御部321は、該メッセージを、通信部311を介して状態管理サーバ102へ送信する。
ステップS817において、状態管理サーバ102のクライアント管理部332は、通信部331を介して画像形成装置101からのメッセージを受信すると、自身が管理する、該当の画像形成装置101の状態を更新する。具体的には、クライアント管理部332は、状態情報テーブル(表1)の該当する画像形成装置101のレコードの状態情報ファイルを受信した該メッセージで更新する。
ステップS818において、クライアント管理部332は、該更新を配信システム103に配信する。具体的には、クライアント管理部332はがステップS817で更新した状態情報ファイルを、画像形成装置101の状態が「適用中」に更新されたことを示すメッセージとして配信システム103へ配信する。
ステップS819において、配信システム103の配信制御部344は、通信部341を介して状態管理サーバ102からメッセージを受信すると、配信指示情報テーブル(表5)からメッセージ送信元の画像形成装置101のレコードを取得する。レコード取得の詳細は、ステップS710の処理と同様である。そして、配信制御部344は、取得したレコードのステータスカラムの値を受信したメッセージが示す画像形成装置101の状態、すなわち「適用中」に更新する。
ステップS820において、画像形成装置101の制御部321は、適用制御部326の処理が終了したことを検知すると、管理部322において管理する自装置の状態をソフトウェアの適用が完了したことを示す「完了」状態に更新する。そして、制御部321は、自装置の状態が更新されたことを、通信部311を介して状態管理サーバ102に通知する。
具体的には、メッセージ生成部312が、自装置の状態が「完了」に更新されたことを示す状態情報ファイルをメッセージとして生成し、制御部321は、該メッセージを、通信部311を介して状態管理サーバ102へ送信する。
図6に示す状態情報ファイル430は、状態管理サーバ102に送信されるメッセージの一例である。状態情報ファイル430の主な構成要素は、状態情報ファイル400と同様のためその説明を省略する。状態情報ファイル420のように、配信システム103から画像形成装置101への状態を更新する指示のうち、該画像形成装置101において未対応の指示がある場合、指示部421に未対応の指示の内容が挿入される。
ステップS820で通知されるメッセージの場合、ステップS704で受信したメッセージが示すソフトウェアの配信指示に従う処理が全て完了したため、指示部431には値が格納されず空となる。また、状態部432には、画像形成装置101の現在の状態を示す情報が格納される。ステップS820で通知されるメッセージの場合、ソフトウェアの配信指示にて指定されたソフトウェアの適用処理が完了したことを示す内容が挿入される。
ステップS821において、状態管理サーバ102のクライアント管理部332は、通信部331を介して画像形成装置101からのメッセージを受信すると、自身が管理する、該当の画像形成装置101の状態を更新する。具体的には、クライアント管理部332は、状態情報テーブル(表1)の該当する画像形成装置101のレコードの状態情報ファイルを受信した該メッセージで更新する。
ステップS822において、クライアント管理部332は、該更新を配信システム103に配信する。具体的には、クライアント管理部332がステップS821で更新した状態情報ファイルを、画像形成装置101の状態が「完了」に更新されたことを示すメッセージとして配信システム103へ配信する。
ステップS823において、配信システム103の配信制御部344は、通信部341を介して状態管理サーバ102からメッセージを受信すると、配信指示情報テーブル(表5)からメッセージ送信元の画像形成装置101のレコードを取得する。レコード取得の詳細は、ステップS710の処理と同様である。そして、配信制御部344は、取得したレコードのステータスカラムの値を受信したメッセージが示す画像形成装置101の状態、すなわち「完了」に更新する。
図9~図11に示した一連の処理によって、本実施形態に係るシステムにおけるソフトウェアの配信処理が完了する。図10および図11の適用処理に係るシーケンス図にて説明したように、配信システム103が、ソフトウェアの配信処理において、画像形成装置101のステータスをリアルタイムに監視する。
そして、配信システム103は、画像形成装置101においてソフトウェアのダウンロード処理完了した後に、指定された適用時刻にソフトウェアの適用処理が行えるか判断する。また、指定された適用時刻にソフトウェアの適用処理が行えないと判断した場合、ユーザへその旨を通知し、適用時刻が再度設定されるように促すことができる。
以上のように、本実施形態では、配信システムからのソフトウェアの配信に関わる画像形成装置の状態をリアルタイムに把握し、必要に応じてリカバリを行うことが可能となる。例えば、ダウンロード処理に時間がかかった場合や、想定した適用タイミングに画像形成装置101の電源が入っていなかった場合等、様々な要因で、指定された適用条件で適用処理が実行できない状況が起こり得る。
このような状況を、配信システム側でリアルタイムに把握し、リモートから早期に適用タイミングを再度指示することができる。また、適用タイミングを再度指示する際に、画像形成装置101の利用頻度が低い時間帯を指定することができる。
(第2実施形態)
第1実施形態では、ソフトウェアの配信指示の通りに適用処理が実行できないことを配信システム103が判断し、ソフトウェアの適用タイミングの再設定を行う場合について説明した。
これに対して、本実施形態では、ソフトウェアの配信指示の通りに適用処理が実行できないことを画像形成装置101が判断し、ソフトウェアの適用タイミングの再設定が行われる場合について説明する。なお、本実施形態に係るシステムの構成自体、第1実施形態と同一とする。そこで、以下、本実施形態に係るシステムでは、第1実施形態と同一構成のものには同一の符号を付し、説明を省略する。
図13および図14は、本実施形態に係るシステムにおいて、状態管理サーバ102を介したメッセージの送受信により画像形成装置101がソフトウェアを適用するまでの処理を示すシーケンス図である。
画像形成装置101において、図9のステップS716の処理により、管理部322において管理する自装置の状態がソフトウェアの「ダウンロード済」状態に更新されると、制御部321は、ステップS1001の処理を実行する。ステップS1001において、制御部321は、ステップS704にて受信したメッセージが示すソフトウェアの配信指示において指定された適用時刻を確認する。
適用時刻として「日時指定」が行われていた場合、処理はステップS1002に進み、適用時刻として「即時」が指定されていた場合、処理はステップS1017に進む。 ステップS1002において、制御部321は、現在時刻がステップS704にて受信したメッセージが示すソフトウェアの配信指示において指定された適用時刻を過ぎているか確認する。
現在時刻が配信指示において指定された適用時刻を過ぎている場合、処理はステップS1003に進む。一方、現在時刻が配信指示において指定された適用時刻を過ぎていない場合、所定はステップS1012に進む。ステップS1012において、制御部321は、適用制御部326に指定された適用時刻までソフトウェアの適用を待機するように指示する。そして、制御部321は、管理部322において管理する自装置の状態をソフトウェアの「適用待ち」状態に更新する。
ステップS1003において、制御部321は、管理部322において管理する自装置の状態をソフトウェアの「適用時刻超過」状態に更新する。そして、制御部321は、自装置の状態が更新されたことを、通信部311を介して状態管理サーバ102へ通知する。具体的には、メッセージ生成部312が、自装置の状態が「適用時刻超過」に更新されたことを示す状態情報ファイルをメッセージとして生成し、制御部321は、該メッセージを、通信部311を介して状態管理サーバ102へ送信する。
ステップS1004において、状態管理サーバ102のクライアント管理部332は、通信部331を介して画像形成装置101からのメッセージを受信すると、自身が管理する、該当の画像形成装置101の状態を更新する。具体的には、クライアント管理部332は、状態情報テーブル(表1)の該当する画像形成装置101のレコードの状態情報ファイルを受信したメッセージで更新する。
ステップS1005において、クライアント管理部332は、該更新を配信システム103に配信する。具体的には、クライアント管理部332はがステップS1004で更新した状態情報ファイルを、画像形成装置101の状態が「適用時刻超過」に更新されたことを示すメッセージとして配信システム103へ配信する。
ステップS1006において、配信システム103の配信制御部344は、通信部を介して状態管理サーバ102からメッセージを受信すると、指定された適用時刻通りにソフトウェアの適用ができない旨をユーザへ通知する。ステップS1007において、通知を受信したユーザは、ソフトウェアの適用時刻の再設定を行う。ソフトウェアの適用時刻の再設定は、第1実施形態と同様に、例えば、再設定画面900を利用して行われる。
ステップS1008において、配信制御部344は、再設定画面900にて設定されたソフトウェアの適用時刻に関する情報を配信指示情報テーブル(表5)に登録する。登録される内容の詳細は、図10のステップS805の処理と同様のため、その説明を省略する。
ステップS1009~S1011の処理は、図10のステップS806~S808の処理と同様のため、その説明を省略する。ステップS100で画像形成装置101がソフトウェアの適用タイミングの再設定を示すメッセージを受信することで、ステップS704で受信したメッセージにおいて指定されていた適用時刻がステップ1007にて再設定された適用時刻に上書きされる。ステップS1011の処理の後、制御部321は、再度ステップS1001の処理を実行する。
なお、ステップS1003~S1011の処理は、ステップS1002にて、ユーザが登録したソフトウェアの配信指示のうち、画像形成装置101において配信指示の適用時刻を過ぎてもまだ適用が実行されていないと判断された場合に実行される。すなわち、ステップS1003~S1011の処理は、配信指示の通りに適用が実行可能な場合には実行されない。ステップ1012以降の処理は、図10のステップS810以降の処理と同様のため、その説明は省略する。
このように、ソフトウェアのダウンロード処理が完了した後に指定された適用時刻に適用処理が実行できないことを画像形成装置101において検知した場合であっても、配信システム103から適用タイミングの再設定を行うことができる。
(第3実施形態)
第1実施形態および第2実施形態では、ソフトウェアの配信指示の対象とする画像形成装置が1台の場合について説明した。これに対して、例えば、顧客先に設置された複数の画像形成装置101のファームウェアをアップデートするタイミングを合わせたい場合がある。これは、アップデートのタイミングを合わせることにより、顧客単位で一括して画像形成装置101の状態を管理することができ、画像形成装置101のメンテナンスにかかるコストを削減することが可能になるためである。
このような場合に、顧客先に設置された複数の画像形成装置101に対して一括して同時にソフトウェアの配信指示を行うことが考えられる。本実施形態では、このようなソフトウェアの配信指示の対象とする画像形成装置が複数の場合について説明する。
図15および図16は、本実施形態に係るシステムにおいて、状態管理サーバ102を介したメッセージの送受信により画像形成装置101がソフトウェアを適用するまでの処理を示すシーケンス図である。
なお、本実施形態では、配信設定画面500(図7)の画像形成装置指定部504において複数の画像形成装置101が指定されたものとする。また、適用時刻指定部503において、複数の画像形成装置101が同じ日時に適用処理を実行するように設定されたものとする。すなわち、複数の画像形成装置101の状態が同じタイミングで更新されるように指示がなされたものとする。
なお、ダウンロード処理については、同じタイミングで実行なされなくてもよい。配信設定画面500において、例えば、配信時刻指定部502や適用時刻指定部503が配信指示の対象とする画像形成装置101の各々に対して設定可能に画面を構成してもよい。
配信システム103において、図9のステップS719の処理にて管理データベース345の配信指示情報テーブル(表5)のレコードのステータスカラムの値が「ダウンロード済」に更新されると、配信制御部344は、ステップS1101の処理を実行する。なお、ステップS1101の処理開始の契機となった、ステータスカラムの値が「ダウンロード済」に更新されたこのレコードを、以下の説明では「処理対象のレコード」と呼ぶことにする。
ステップS1101において、配信制御部344は、処理対象のレコードが示すソフトウェアの配信指示が、複数の画像形成装置101に対して一括してなされた配信指示かを確認する。具体的には、配信制御部は、処理対象のレコードの配信IDカラムの値と同じ配信IDを持つレコードが配信指示情報テーブル(表5)に存在するか確認する。
同じ配信IDを持つレコードが存在しない場合、配信制御部344は、処理対象のレコードが示すソフトウェアの配信指示が、複数の画像形成装置101に対して一括してなされた配信指示ではないと判断する。そして、処理はステップS1102に進み、配信制御部344は、第1実施形態または第2実施形態で説明した適用処理(図10/図13)を実行する。
一方、処理対象のレコードの配信IDと同じ配信IDを持つレコードが存在する場合、処理はステップS1103に進む。以下、ここまでの処理を、表5に示す配信指示情報テーブルに例示された値で具体的に説明する。図9のステップS719の処理により、配信先デバイスカラムの値が「ZZZ23456」のレコードにおいて、ステータスカラムの値が「ダンロード済」に更新されたとする。
このとき、ステップS1101の処理が開始され、配信先デバイスカラムの値が「ZZZ23456」のレコードの配信IDカラムの値が「1」であることから、ステップS1101では、他に配信IDカラムの値が「1」のレコードが存在するか確認される。表5に示す例では、配信先デバイスカラムの値が「ZZZ12345」のレコードの配信IDカラムの値が「1」である。したがって、処理はステップS1103に進む。
ステップS1103において、配信制御部344は、配信指示情報テーブルにおいて、処理対象のレコードと同じ配信IDを持つ全てのレコードのステータスカラムの値を確認する。表5に示す例では、配信先デバイスの値が「ZZZ12345」のレコードがステップS1103の確認対象であり、該レコードのステータスカラムの値が「ダウンロード中」であることが確認される。
ステップS1104において、配信制御部344は、ステップS1103において確認対象としたレコードのステータスカラムの値が「ダウンロード済」でも「適用停止」でもないレコードが存在するか確認する。確認対象のレコードのステータスカラムの値が全て「ダウンロード済」または「適用停止」の場合、処理はステップS1110に進む。一方、確認対象の全てのレコードにおいて、ステータスカラムの値が「ダウンロード済」でも「適用停止」でもない場合、処理はステップS1105に進む。
ステップS1105において、配信制御部344は、処理対象のレコードのステータスカラムの値を「適用停止」に更新する。更新後の配信指示情報テーブルの例を以下の配信指示情報テーブルAに示す。配信指示情報テーブルAの各カラムは、配信指示情報テーブル(表5)と同様のためその説明を省略する。配信指示情報テーブルAにおいて、配信先デバイスカラムの値が「ZZZ23456」のレコードのステータスカラムの値が「ダウンロード済」から「適用停止」に更新されたことがわかる。
ステップS1106において、配信システム103は、配信制御部344が管理する配信指示情報をメッセージ生成部342でメッセージに変換する。該メッセージは、ソフトウェアの適用停止を指示するメッセージである。そして、配信制御部344は、該メッセージを該当の画像形成装置101へのメッセージとして通信部341を介して状態管理サーバ102へ通知する。なお、ソフトウェアの適用停止が指示される画像形成装置101は、配信指示情報テーブル(表5)の処理対象のレコードの配信先デバイスカラムに格納された値から特定される。
ステップS1107において、状態管理サーバ102のクライアント管理部332は、通信部331を介して配信システム103からのメッセージを受信すると、自身が管理する、該当の画像形成装置101の状態を更新する。具体的には、クライアント管理部332は、状態情報テーブル(表1)の該当する画像形成装置101のレコードの状態情報ファイルをメッセージで更新する。
ステップS1108において、クライアント管理部332は、該更新を画像形成装置101に配信する。具体的には、クライアント管理部332がステップS1107で更新した状態情報ファイルをソフトウェアの適用停止を指示するメッセージとして画像形成装置101へ配信する。
ステップS1109において、画像形成装置101のメッセージ解析部313は、ステップS1108で受信したソフトウェアの適用停止を指示するメッセージの解析を行う。メッセージ解析部313は、該メッセージの解析後、通信部311を介して管理モジュール320の制御部321へ該メッセージを送信する。
制御部321は、メッセージ解析部323に該メッセージの詳細な解析を指示し、適用制御部326に該メッセージが示すソフトウェアの適用停止を指示する。さらに、制御部321は、管理部322において管理する自装置の状態をソフトウェアの「適用停止」状態に更新する。
このように、複数の画像形成装置101に対してソフトウェアの配信指示が一括してなされた場合に、該複数の画像形成装置101の全てに対してダウンロード処理が終了するまで適用処理を一時的に停止することが可能となる。適用処理が再開されるタイミングは、一括してなされた配信指示を受けた画像形成装置101の中で最も遅くダウンロード処理を終了したときである。
以下、適用処理が再開されるまでの処理を説明する。配信指示情報テーブル(表5)は、配信指示情報テーブルAに更新された後、さらに配信先デイバスカラムの値が「ZZZ12345」の画像形成装置101にてダウンロード処理を完了することにより以下の配信指示情報テーブルBに更新される。
ステップS1110の処理は、複数の画像形成装置101に対して一括して配信指示がなされた場合に、該複数の画像形成装置101の全ての画像形成装置101においてダウンロード処理が終了したときに実行される。詳細には、複数の画像形成装置101において、それぞれダウンロード処理が終了する度に、配信指示情報テーブルの該画像形成装置101に対応するレコードを処理対象のレコードとして、ステップS1101が実行される。
そして、複数の画像形成装置101の全てにおいてダウンロード処理が終了していない限り、ステップS1104の判断において、処理はステップS1105に進み、処理対象のレコードのステータスカラムの値は「適用停止」に更新される。そして、最も遅くダウンロード処理を終了した画像形成装置101に対応するレコードが処理対象となったときに、ステップS1104の判断において処理はステップS1110に進む。
配信指示情報テーブルB(表8)を例に説明すると、ステータスカラムの値が「ダウンロード済」に更新されたレコードがステップS1101の処理対象となった場合に、ステップS1104の判断において処理はステップS1110へ進む。ステップS1110において、配信制御部344は、現在時刻が、処理対象のレコードの適用時刻を過ぎているか確認する。現在時刻が処理対象のレコードの適用時刻を過ぎていない場合、処理はステップS1111に進み、現在時刻が処理対象の適用時刻を過ぎている場合、処理はステップS1113に進む。
ステップS1111において、配信制御部344は、処理対象のレコードの配信IDカラムの値と同じ値を持つレコードのうち、ステータスカラムの値が「適用停止」のレコードが存在するか確認する。ステータスカラムの値が「適用停止」のレコードが存在しない場合、配信システム103における処理は、ステップS1123において状態管理サーバ102からメッセージの配信を受けるまで待機する。
なお、ステップS1111において、ステータスカラムの値が「適用停止」のレコードが存在しない場合とは、同じ配信IDを持つレコードの全てにおいて、ステータスカラムの値が「ダウンロード済」の場合である。一方、ステータスカラムの値が「適用停止」のレコードが存在する場合、処理はステップS1112に進む。
なお、ステップS1111において、ステータスカラムの値が「適用停止」のレコードが存在する場合とは、以下の場合である。すなわち、一括してソフトウェアの配信指示がなされた複数の画像形成装置101のうち、ある画像形成装置101にてダウンロード処理が終了したときに、ダウンロード処理が終了していない他の画像形成装置101が1台でもある場合である。
このとき、先にダウンロード処理が終了した画像形成装置101に対応するレコードのステータスカラムの値が「適用待ち」に更新される。本実施形態では、このような場合に、ステップS1105~S1109の処理により、配信システム103は、状態管理サーバ102を介して先にダウンロード処理が終了した画像形成装置101に対して「適用停止」を指示することができる。
そして、「適用停止」を指示された画像形成装置101に対して、最後の画像形成装置101においてダウンロード処理が終了したタイミングで、ステップS1112の処理により適用処理の一時的な停止を解除し、適用処理を再開するための指示がなされる。
ステップS1112において、配信制御部344は、ステップS1111にて確認された、ステータスカラムの値が「適用停止」のレコードの該値を「適用再開」に更新する。表8に示す例では、配信先デバイスカラムの値が「ZZZ23456」のレコードが、ステップS1111の判断にて存在が確認され、ステップS1112の処理により、ステータスカラムの値が「適用再開」に更新される。
ステップS1112の処理が終了した後の更新された配信指示情報テーブルの例を以下の配信指示情報テーブルCに示す。配信指示情報テーブルCにおいて、配信先デバイスカラムの値が「ZZZ23456」のレコードのステータスカラムの値が「適用停止」から「適用再開」に更新されたことがわかる。
ステップS1113において、配信システム103の配信制御部344は、複数の画像形成装置101に対して一括してなされたソフトウェアの配信指示の適用時刻通りにソフトウェアの適用ができない旨をユーザへ通知する。ソフトウェアの適用ができないとされる画像形成装置101は、一括してなされた配信指示の対象となった全ての画像形成装置101である。
ステップS1114において、通知を受信したユーザは、ソフトウェアの適用時刻の再設定を行う。ソフトウェアの適用時刻の再設定は、第1実施形態と同様に、例えば、再設定画面900を利用して行われる。なお、図12に示した再設定画面900は、配信指示情報部902に表示された配信先の画像形成装置101は1台のみである。これに対して、本実施形態の場合、複数の画像形成装置101に対して一括してなされたソフトウェアの配信指示の対象となる全ての画像形成装置101の情報が表示される。
ユーザは、再設定画面900を利用して、複数の画像形成装置101に対して一括してなされたソフトウェアの配信指示の対象となる全ての画像形成装置101に対して、同時に一括して適用時刻の再設定を行うことができる。これにより、対象となる全ての画像形成装置101に対して足並みをそろえて適用処理に関するリカバリを行うことが可能になる。
ステップS1115において、配信制御部344は、再設定画面900にて設定されたソフトウェアの適用時刻に関する情報を用いて配信指示情報テーブルを更新する。更新される内容の詳細は、図10のステップS805の処理と同様のため、その説明を省略する。更新後の配信指示情報テーブルの例を以下の配信指示情報テーブルDに示す。配信指示情報テーブルDにおいて、同じ配信IDを持つ2つのレコードのステータスカラムの値が、配信指示情報テーブルCに示した各々の値から「適用時刻再設定」に更新されたことがわかる。
ステップS1116において、配信システム103は、配信制御部344が管理する配信指示情報をメッセージ生成部342でメッセージに変換する。そして、配信制御部344は、該メッセージを該当の画像形成装置101へのメッセージとして通信部341を介して状態管理サーバ102へ通知する。なお、ステップS1116にて通知されるメッセージの内容および該メッセージの配信対象とする画像形成装置101は以下の2パターンある。
パターン(1):配信されるメッセージは、ソフトウェアの適用処理の再開を指示するメッセージである。また、該メッセージの配信対象となる画像形成装置101は、ステップS1112の処理により、配信指示情報テーブルのステータスカラムの値が「適用停止」から「適用再開」に更新されたレコードに対応する画像形成装置101である。すなわち、ステップS1116において、配信システム103からソフトウェアの適用停止を解除するための指示がなされる。
パターン(2):配信されるメッセージは、ソフトウェアの適用タイミングの再設定を示すメッセージである。また、該メッセージの配信対象となる画像形成装置101は、ステップS1115の処理により、配信指示情報テーブルのステータスカラムの値が「適用時刻再設定」に更新されたレコードに対応する画像形成装置101である。すなわち、ステップS1116において、配信システム103からソフトウェアの適用タイミングの再設定するための指示がなされる。
ステップS1117において、状態管理サーバ102のクライアント管理部332は、通信部331を介して配信システム103からのメッセージを受信すると、自身が管理する、該当の画像形成装置101の状態を更新する。具体的には、クライアント管理部332は、状態情報テーブル(表1)の該当する画像形成装置101のレコードの状態情報ファイルを該メッセージで更新する。
ステップS1118において、クライアント管理部332は、該更新を画像形成装置101に配信する。具体的には、クライアント管理部332がステップS1117で更新した状態情報ファイルをメッセージとして画像形成装置101へ配信する。画像形成装置101は、該メッセージを受信することによって、ステップS704で受信したメッセージにおいて指定されたソフトウェアの配信指示を上書きする。
ステップS1119において、画像形成装置101のメッセージ解析部313は、ステップS1118で受信したメッセージの解析を行う。メッセージ解析部313は、メッセージの解析後、通信部311を介して管理モジュール320の制御部321へ該メッセージを送信する。制御部321は、メッセージ解析部323に該メッセージの詳細な解析を指示する。以降、適用処理が実行されるが、ステップS1120~S1133の処理は、第1実施形態の図10および図11で示したステップS810~S823の処理と同様のため、その説明を省略する。
(第4実施形態)
第1実施形態~第3実施形態では、配信指示通りにソフトウェアの適用ができない場合にユーザが適用するタイミングを再設定する場合について説明した。これに対して、本実施形態では、画像形成装置101においてダウンロード処理が完了した後に、配信システムからの指示に関わらず、強制的に画像形成装置101において適用を実行する場合について説明する。
図17は、画像形成装置101がユーザからソフトウェアの適用を実行する指示を受け付けるための指示画面の一例を示す図である。
指示画面1200は、画像形成装置101のCRT210に表示される。指示画面1200は、説明部1201、配信指示情報部1202、強制適用指示部1203、キャンセルボタン1204、および登録ボタン1205を有する。
指示画面1200は、図10のステップS810または図13のステップS1012にて画像形成装置101が「適用待ち」状態に遷移した後に表示される。表示条件については特に言及しないが、「適用待ち」状態に遷移した後に毎回表示するか、または表示条件を画像形成装置101にて事前に登録しておき、該条件を満たした場合に表示してもよい。
説明部1201では、配信システム103からの配信指示にて指定されたソフトウェアの適用準備ができた旨の説明文を表示する。配信指示情報部1202では、配信システム103からの配信指示にて指定された情報を表示する。図17に示す例では、配信指示情報部1202には、配信対象のソフトウェアの名称およびバージョンと、該ソフトウェアの適用時刻として設定された値が表示される。しかし、これに限られるものではなく、配信指示情報部1202には、その他の情報を表示されてもよい。
強制適用指示部1203では、配信指示情報部1202に表示された情報に関わらず、強制的に該当のソフトウェアの適用処理を実行するタイミングを指定することができる。なお、図17に示す例では、強制的に該当のソフトウェアの適用処理を実行するタイミングとして、今すぐ適用処理を開始する「即時」と、所望の日時を指定可能な「日時指定」とを選択できる。
キャンセルボタン1204が押下されると、強制適用指示部1203にて指定されたソフトウェアの適用タイミングに関する情報がクリアされる。登録ボタン1205が押下されると、強制適用指示部1203にて指定されたソフトウェアの適用処理に関する情報が制御部321に通知され図18および図19に示す処理が実行される。
図18および図19は、本実施形態に係るシステムにおいて、状態管理サーバ102を介したメッセージの送受信により画像形成装置101がソフトウェアを適用するまでの処理を示すシーケンス図である。本実施形態では、画像形成装置101において、ソフトウェアのダウンロード処理が完了した後、ユーザが図17に示す指示画面1200により画像形成装置101上で適用処理を実行するタイミングの再設定が行われる。指示画面1200において登録ボタン1205が押下されると図18および図19に示す処理が開始される。
ステップS1301において、画像形成装置101の制御部321は、指示画面1200にて指定された適用タイミングを確認する。詳細には、指示画面1200の強制適用指示部1203にて指定された適用時刻を確認する。適用時刻として「即時」が指定されていた場合、処理はステップS1312に進み、「日時指定」が指定されていた場合、処理はステップS1302に進む。
ステップS1302において、制御部321は、ステップS704で受信したメッセージにおいて指定されていた適用時刻を強制適用指示部1203にて指定された適用時刻に更新する。そして、制御部321は、制御部321は、管理部322において管理する自装置の状態をソフトウェアの「適用時刻更新」状態に更新する。
さらに、制御部321は、自装置の状態が更新されたことを、通信部311を介して状態管理サーバ102へ通知する。具体的には、メッセージ生成部312が、自装置の状態が「適用時刻更新」に更新されたことを示す状態情報ファイルをメッセージとして生成し、制御部321は、該メッセージを、通信部311を介して状態管理サーバ102へ送信する。
ステップS1303において、状態管理サーバ102のクライアント管理部332は、通信部331を介して画像形成装置101からのメッセージを受信すると、自身が管理する、該当の画像形成装置101の状態を更新する。具体的には、クライアント管理部332は、状態情報テーブル(表1)の該当する画像形成装置101のレコードの状態情報ファイルを受信した該メッセージで更新する。
ステップS1304において、クライアント管理部332は、該更新を配信システム103に配信する。具体的には、クライアント管理部332が、ステップS1303で更新した状態情報ファイルを、画像形成装置101の状態が「適用時刻更新」に更新されたことを示すメッセージとして配信システム103へ配信する。
ステップS1305において、配信システム103の配信制御部344は、通信部341を介して状態管理サーバ102からメッセージを受信すると、配信指示情報テーブル(表5)からメッセージ送信元の画像形成装置101のレコードを取得する。そして、配信制御部344は、取得したレコードの適用時刻カラムの値を受信したメッセージが示す適用時刻に関する情報に更新する。また、該レコードのステータスカラムの値を受信したメッセージが示す画像形成装置101の状態、すなわち、「適用時刻更新」に変更する。
ステップS1306において、配信制御部344は、画像形成装置101においてソフトウェアの適用時刻が更新された旨をユーザへ通知する。ステップS1307以降の処理は、図10および図11のステップS810S823の処理と同様のため、その説明は省略する。
このように、本実施形態では、ソフトウェアのダウンロード処理が完了した後、画像形成装置において該ソフトウェアの適用タイミングを変更し、配信システム103からの指示に関わらず強制的に適用処理を実行することができる。また、画像形成装置においてソフトウェアの適用タイミングを変更した場合に、状態管理サーバを介して配信システムは、その旨の通知を受信することができ、画像形成装置におけるソフトウェアの配信処理の状況をリアルタイムに把握することが可能となる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。