以下に、本発明の第1の実施形態の情報処理システムについて説明する。まず、本実施形態において用いる用語の定義を行う。コンフィグデータとは、画像形成装置の動作を切り替えるデータ(動作設定情報)である。例えば、コピージョブの面付けのデフォルト値などが該当する。コピージョブの面付けのデフォルト値が「1 in 1」に設定されていれば、コピーを行った結果、用紙一枚に1ページが印刷される。コピージョブの面付けのデフォルト値が「2 in 1」に設定されていれば、コピーを行った結果、用紙一枚に2ページが印刷される。
機器構成データとは、画像形成装置が備える機器の構成を示すデータである。機器構成データは、例えば、画像形成装置がファクスユニットを装着しているかを示す。機器構成データは、画像形成装置の機種を一意に識別するための機種コード、動作しているファームウェアバージョンなどを含む。
機種別設定値スキーマとは、画像形成装置が特定の機種で保持するコンフィグデータのスキーマを定義するデータである。スキーマとは、コンフィグデータについての規約や位置づけを定義するデータである。機種別設定値スキーマは、例えば、コンフィグデータ各々の設定値識別子、デフォルト値、値域、データが有効になるための条件を含む。本実施形態においては、機種によって保持するコンフィグデータには差分があり、設定値スキーマを機種別に用意する運用であることを前提とする。
仮想デバイスとは、サーバコンピュータ群が保持する実デバイスのデータ群である。具体的には、仮想デバイスは、少なくとも機器構成データ、コンフィグデータを含む。テナントとは、ユーザが画像形成装置の管理を委託する委託者の単位である。つまり、テナントは、ユーザの管理範囲である。テナント識別子とは、テナントを一意に識別するための識別子である。例えば、ある会社が後述する図1に示すユーザ環境100にある画像形成装置101A、101B、101Cの管理を委託した場合を想定する。その場合、ユーザ環境100に対応するテナント識別子が1つ割り当てられ、画像形成装置101A、101B、101Cは、そのテナントに属する画像形成装置であると認識され、管理される。
仮想デバイスに含まれるデータと、実デバイスが保持するデータと、テナント専用のデータとを区別するために、以下のように定義する。仮想デバイスに含まれる機器構成データを仮想機器構成データ、コンフィグデータを仮想コンフィグデータと呼ぶ。実デバイスが保持する機器構成データを実機器構成データ、コンフィグデータを実コンフィグデータと呼ぶ。また、テナント内で共通に利用されるコンフィグデータをテナント用コンフィグデータと呼ぶ。
図1は、本実施形態の全体構成例を示す図である。図1に示す情報処理システムは、ユーザ環境100、サーバコンピュータ群105、サービスマン環境110、画像形成装置のベンダ環境120を備える。ユーザ環境100乃至画像形成装置のベンダ環境120は、インターネット104を介して互いに通信する。インターネット104は、公衆回線上のデジタル通信が可能なネットワークである。
ユーザ環境100は、画像形成装置のユーザが当該画像形成装置の操作を実行する環境である。ユーザ環境100は、画像形成装置101A、101B、101C、端末装置102Aを備える。画像形成装置101A、101B、101Cは、本実施形態の画像形成装置である。ネットワーク106は、ユーザ環境100においてデジタル通信が可能なネットワークである。画像形成装置101A乃至101Cは、ネットワーク106を介してインターネット104にアクセス可能である。端末装置102Aは、ユーザ環境100のユーザが操作可能なコンピュータである。端末装置102Aも、ネットワーク106を介してインターネット104にアクセス可能である。
サービスマン環境110は、サービスマンが端末装置102Bを使って画像形成装置の管理を行う環境である。サービスマン環境110は、端末装置102Bを備える。端末装置102Bは、画像形成装置101A、101B、101Cを管理するサービスマンが操作するコンピュータである。端末装置102Bは、インターネット104にアクセス可能である。
画像形成装置のベンダ環境120は、画像形成装置を生産するベンダの管理担当者が、画像形成装置の管理に必要なデータのメンテナンスを行う環境である。画像形成装置のベンダ環境120は、端末装置102Cを備える。端末装置102Cは、画像形成装置のベンダに所属する管理担当者が操作するコンピュータである。端末装置102Cは、インターネット104にアクセス可能である。
サーバコンピュータ群105は、画像形成装置のコンフィグデータを管理する設定値管理サービス310(図3を参照)を提供するサーバ群である。サーバコンピュータ群105は、複数のテナントに対して、インターネット104を介してサービスを提供する。本実施形態において、サーバコンピュータ群105が提供する設定値管理サービス310は、画像形成装置のコンフィグデータを管理する管理装置として機能する。設定値管理サービス310は、予め設定された管理範囲であるテナントに対応付けて、画像形成装置を管理する。つまり、設定値管理サービス310は、画像形成装置を上記管理範囲毎に管理する。なお、以下の説明では、画像形成装置101A、101B、101Cを画像形成装置101とも記述する。また、端末装置102B、102Cを端末装置102とも記述する。
図2は、本実施形態の情報処理システムのハードウェア構成の一例を示す図である。サーバコンピュータ群105は、サーバコンピュータ210Aとサーバコンピュータ210Bとを備える。サーバコンピュータ210Bは、サーバコンピュータ210Aと同様の構成を備える。サーバコンピュータ210Aとサーバコンピュータ210Bとは、ネットワーク220を通じて通信する。
サーバコンピュータ210Aは、内部バス216に接続されたCPU201C乃至ネットワーク通信装置207Cを備える。また、画像形成装置101は、内部バス211Aに接続されたCPU201A乃至209を備える。また、端末装置102は、内部バス211Bに接続されたCPU201B乃至ネットワーク通信装置207Bを備える。
以下の説明では、CPU201A、201B、201CをCPU201とも記述する。また、不揮発性メモリ202A、202B、202Cを不揮発性メモリ202とも記述する。また、揮発性メモリ203A、203B、203Cを揮発性メモリ203とも記述する。また、補助記憶装置204A、204B、204Cを補助記憶装置204とも記述する。また、ディスプレイ205A、205Bをディスプレイ205とも記述する。また、入力装置206A、206Bを入力装置206とも記述する。また、ネットワーク通信装置207A、207Bをネットワーク通信装置207とも記述する。また、内部バス211A、211Bを内部バス211とも記述する。
CPU(Central Processing Unit)201は、プログラムの実行や、様々な処理の制御を行う。不揮発性メモリ202は、ROM(Read Only Memory)を備える。不揮発性メモリ202には、機器の起動処理において初期段階に必要なプログラムやデータが格納されている。揮発性メモリ203は、RAM(Random Access Memory)を備える。揮発性メモリ203は、プログラム、データの一時的な格納場所として利用される。
補助記憶装置204は、ハードディスクやRAMドライブ等の大容量記憶装置である。補助記憶装置204は、大容量データの保管、プログラムの実行コードの保持を行う。補助記憶装置204は、揮発性メモリ203よりも長時間保持する必要があるデータを記憶する。ディスプレイ205は、情報の表示処理を行って、情報を利用者に通知する。なお、本実施形態において、利用者とは、ユーザとサービスマンである。
入力装置206は、利用者の選択指示を受け付け、内部バス211を介してプログラムに伝達する。ネットワーク通信装置207は、外部装置とネットワークを介して通信する装置である。ファクスユニット208は、画像形成装置101が形成した画像データか、または補助記憶装置204Aに記憶された画像データを、ネットワーク106を介して外部装置に送信するハードウェアユニットである。ファクスユニット208は、オプションであり、画像形成装置101がファクスユニット208を備えていなくてもよい。プリンタエンジン209は、画像形成装置101が形成した画像データか、または補助記憶装置204Aに記憶された画像データを紙媒体に印刷する。
図3は、本実施形態の情報処理システムの機能ブロック図の一例である。図3に示す情報処理システムは、画像形成装置101と、設定値管理サービス310とを備える。画像形成装置101と設定値管理サービス310とは、インターネット104を介して通信する。本実施形態の管理方法は、図3に示す情報処理システムが備える機能によって実現される。また、本実施形態のコンピュータプログラムは、この管理方法をコンピュータに実行させることを特徴とする。
画像形成装置101は、実コンフィグデータ保持部301、実コンフィグデータ更新部302、仮想コンフィグデータ受信部303、実機器構成データ収集部304、テナント識別子保持部305を備える。また、画像形成装置101は、実機器構成データ通知部306、ユーザ入力画面表示部307、実コンフィグデータ更新通知部308を備える。
実コンフィグデータ保持部301は、画像形成装置のコンフィグデータを保持する。具体的には、実コンフィグデータ保持部301は、補助記憶装置204Aにコンフィグデータを記憶して管理する。画像形成装置は、実コンフィグデータ保持部301が保持する実コンフィグデータに基づいて、動作の振る舞いを切り替える。
実コンフィグデータ更新部302は、実コンフィグデータ保持部301が保持する実コンフィグデータを更新する。具体的には、実コンフィグデータ更新部302は、仮想コンフィグデータ受信部303が取得した仮想コンフィグデータで、実コンフィグデータを更新する。この実コンフィグデータが、画像形成装置101に適用される。すなわち、実コンフィグデータ更新部302は、仮想コンフィグデータ受信部303が取得した仮想コンフィグデータを画像形成装置101に適用する適用手段として機能する。
仮想コンフィグデータ受信部303は、設定値管理サービス310が備える仮想コンフィグデータ取得部320から、仮想コンフィグデータを取得する。仮想コンフィグデータ受信部303は、実コンフィグデータ保持部301が保持する実コンフィグデータに設定されているアドレスを用いて、仮想コンフィグデータ取得部320を呼び出す。
図4は、実コンフィグデータの一例を示す図である。図4(A)は、デバイス識別子が010001である画像形成装置の実コンフィグデータである。図4(B)は、デバイス識別子が010002である画像形成装置の実コンフィグデータである。図4(C)は、デバイス識別子が020001である画像形成装置の実コンフィグデータである。デバイス識別子は、画像形成装置を一意に識別する識別情報である。
実コンフィグデータは、設定値識別子702と値703といったデータ項目を有する。設定値識別子702は、設定項目を一意に識別する識別子である。値703は、設定項目の値である。図4に示す例では、”device_settings.cloud_address”の値(アドレス)として、http://ddd.com/configが設定されている。このアドレスは、画像形成装置101に対してコンフィグデータを配信する設定値管理サービスとして設定された設定値管理サービスのアドレスである。従って、上述した仮想コンフィグデータ受信部303は、このアドレスに対してアクセスする。
なお、仮想コンフィグデータは、図4に示す実コンフィグデータと同様のデータ構成を有する。従って、図4に示す実コンフィグデータを、適宜、仮想コンフィグデータとして説明する。
図3に戻って、実機器構成データ収集部304は、画像形成装置101の機器構成データ(実機器構成データ)を収集する。
図5は、実機器構成データの一例を示す図である。図5(A)、(B)、(C)は、それぞれ異なる画像形成装置の実機器構成データである。実機器構成データは、データ種別602と値603といったデータ項目を有する。データ種別602は、実機器構成データが含むデータの種別である。データ種別602には、機種を識別するための機種コードや、ファームウェアバージョン、デバイスを識別するためのデバイス識別子等が設定される。値603は、当該データの値である。値603には、データ種別に対応する値(例えば、デバイス識別子の値や、ファクスユニットの有無等)が設定される。なお、仮想機器構成データは、実機器構成データと同様のデータ構成を有する。従って、図5に示す実機器構成データを、適宜、仮想機器構成データとして説明する。
図3に戻って、テナント識別子保持部305は、画像形成装置101が属するテナントの識別子であるテナント識別子を保持する。テナント識別子は、画像形成装置101の初期設置時に設定され、電源が切られても失われることがないように補助記憶装置204Aに記憶される。
実機器構成データ通知部306は、実機器構成データ収集部304が収集した実機器構成データと、テナント識別子保持部305が保持するテナント識別子とを、設定値管理サービス310の実機器構成データ受信部318に対して通知する。具体的には、実機器構成データ通知部306は、実機器構成データとテナント識別子とを含むコンフィグデータ生成要求を実機器構成データ受信部318に送信する。コンフィグデータ生成要求は、画像形成装置101に対応する仮想コンフィグデータの生成を求める要求(動作設定生成要求)である。
ユーザ入力画面表示部307は、ユーザが運用中の設定を確認するため画面(設定確認画面)または運用中の設定を変更する画面(設定変更画面)をディスプレイ205などに表示する。
ユーザが設定変更画面上で設定変更を行うと、ユーザ入力画面表示部307は、当該設定変更内容を実コンフィグデータに反映するよう実コンフィグデータ更新部302に依頼する。この依頼に応じた実コンフィグデータ更新部302が実コンフィグデータ保持部301が保持する実コンフィグデータを更新する。そして、実コンフィグデータ更新部302が、実コンフィグデータ更新通知部308に対して、実コンフィグデータの更新内容を設定値管理サービス310に通知するように指示する。
後述するように、コンフィグデータには、図11(A)に示すメタ情報が対応付けられている。ユーザが、例えばコンフィグデータのある設定項目に対応する設定値を初期値から変更すると、実コンフィグデータ更新部302が、このコンフィグデータに対応付けられているメタ情報が含む変更フラグを立てる。具体的には、変更フラグに設定された「0」が「1」に変更される。
設定値管理サービス310は、仮想デバイス保持部311、機種別設定値スキーマ保持部312、機種別設定値スキーマ更新部313、テナント用コンフィグデータ保持部314、テナント用コンフィグデータ更新部315を備える。また、設定値管理サービス310は、仮想コンフィグデータ生成部316、仮想コンフィグデータ更新部317、実機器構成データ受信部318、仮想機器構成データ更新部319を備える。また、設定値管理サービス310は、仮想コンフィグデータ取得部320、仮想コンフィグデータ閲覧部321、仮想コンフィグデータ更新確認部322、実コンフィグデータ更新受信部323を備える。
仮想デバイス保持部311は、仮想デバイスを保持する。仮想デバイスは、少なくとも、仮想機器構成データと、仮想コンフィグデータとを含む。仮想デバイス保持部311は、仮想デバイスを補助記憶装置204Cに記憶して管理する。
図6は、仮想デバイスの一例を示す図である。図6に示す仮想デバイスは、デバイス識別子802、テナント識別子803、仮想機器構成データ804、仮想コンフィグデータ805、通知フラグ806を有する。
デバイス識別子802は、仮想デバイスを一意に識別する識別情報である。デバイス識別子802は、当該仮想デバイスに対応する画像形成装置101を一意に識別する識別情報に相当する。デバイス識別子802は、画像形成装置101が設定値管理サービス310に対して通知する機器構成データに含まれている。テナント識別子803は、仮想デバイスに対応する画像形成装置101が属するテナントを一意に識別する識別情報である。
仮想機器構成データ804は、仮想機器構成データを一意に識別する識別情報である。仮想機器構成データは、仮想デバイスに対応する画像形成装置101の機器構成データ(実機器構成データ)に対応する。仮想コンフィグデータ805は、仮想コンフィグデータを一意に識別する識別情報である。仮想コンフィグデータは、仮想デバイスに対応する画像形成装置101のコンフィグデータ(実コンフィグデータ)に対応する。
通知フラグ806は、画像形成装置に対して仮想コンフィグデータ805を通知済み、未通知のいずれであるかを示す。通知フラグ806に設定された「未」は、画像形成装置に対して仮想コンフィグデータ805を未通知であることを示す。通知フラグ806に設定された「済」は、画像形成装置に対して仮想コンフィグデータ805を通知済みであることを示す。
図3に戻って、機種別設定値スキーマ保持部312は、機種別設定値スキーマを保持する。画像形成装置の各機種に対応して1つの機種別設定値スキーマが用意される。
図7は、機種別設定値スキーマの一例を示す図である。図7(A)は、機種コードが0x01の機種に対応する機種別設定値スキーマである。図7(B)は、機種コードが0x02の機種に対応する機種別設定値スキーマである。機種別設定値スキーマは、設定値識別子402、デフォルト値403、値域404、条件405といったデータ項目を有する。
設定値識別子402は、設定項目を一意に識別する識別情報である。例えば、「copy_settings.nup」は、コピー設定の面付けに関する設定項目を示す。設定値識別子402が同じであることは、違う機種であっても設定項目が同じであることを示す。デフォルト値403は、当該機種におけるデフォルト設定値である。値域404は、当該機種において設定し得る範囲の定義である。例えば、「copy_settings.nup」の値域404を参照すると、当該機種において、コピー設定として「1 in 1,2 in 1,4 in 1」の3種類から選択できることを示す。
条件405は、当該機種において設定値を利用するために必要な条件の定義である。「fax_settings.received_print」という設定項目に対応する条件405には、「ファクスユニット」が設定されている。従って、この設定項目の設定値は、ファクスユニットの装着が確認できた場合のみ有効となる。
図3に戻って、機種別設定値スキーマ更新部313は、機種別設定値スキーマ保持部312が保持する機種別設定値スキーマを更新する。例えば、新しい機種を画像形成装置のベンダが発表した場合には、ベンダの管理責任者の指示によって、新しい機種に対応する機種別設定値スキーマが登録される。また、設定項目に変更があった場合に、機種別設定値スキーマ更新部313は、機種別設定値スキーマを更新する。テナント用コンフィグデータ保持部314は、テナントが画像形成装置に対して設定したいコンフィグデータを保持する。
図8は、テナント用コンフィグデータの一例を示す図である。テナント用コンフィグデータは、設定値識別子502と値503といったデータ項目を有する。設定値識別子502は、図7に示す機種別設定値スキーマが含む設定値識別子402と同様である。値503は、テナントが所望する共通設定の値である。「copy_settings.nup」には、「2 in 1」が設定されている。これは、テナントが保持する画像形成装置全てに「2 in 1」が設定されることを所望していることを示す。
図3に戻って、テナント用コンフィグデータ更新部315は、テナント用コンフィグデータ保持部314が保持するテナント用コンフィグデータを更新する。テナントが保持する画像形成装置の管理を行うサービスマンの操作に従って、サービスマン環境110にある端末装置102Bが、テナント用コンフィグデータの更新指示を行う。テナント用コンフィグデータ更新部315は、この更新指示に従って、テナント用コンフィグデータを更新する。なお、サービスマンは、端末装置102B内で動作するウェブブラウザに表示される設定画面上で操作する。
仮想コンフィグデータ生成部316は、機種別設定値スキーマと、テナント用コンフィグデータと、仮想機器構成データとに基づいて、仮想コンフィグデータを生成する。まず、仮想コンフィグデータ生成部316は、仮想デバイス保持部311から、図5(A)に示す仮想機器構成データを取得する。
次に、仮想コンフィグデータ生成部316は、取得した仮想機器構成データが含む機種コードを参照し、画像形成装置の機種を特定する。図5(A)に示す仮想機器構成データを例にとると、機種コードに対応する値として0x01が設定されている。従って、仮想コンフィグデータ生成部316は、画像形成装置の機種として、機種コードが0x01の機種を特定する。
次に、仮想コンフィグデータ生成部316は、特定した機種コードに対応する機種別設定値スキーマを、機種別設定値スキーマ保持部312から取得する。仮想コンフィグデータ生成部316は、例えば、機種コードが0x01に合致する、図7(A)に示す機種別設定値スキーマを取得する。
次に、仮想コンフィグデータ生成部316は、取得した機種別設定値スキーマに定義された設定値を、仮想コンフィグデータのベースとする。図7(A)に示す機種別設定値スキーマを例にとると、仮想コンフィグデータ生成部316は、「copy_settings.nup」乃至「box_settings.server_address」の5つの設定項目に対応する設定値をベースとする。
次に、仮想コンフィグデータ生成部316は、テナント用コンフィグデータ保持部314から、図8に示すテナント用コンフィグデータを取得する。仮想コンフィグデータ生成部316は、テナント用コンフィグデータが含む設定値が、機種別設定値スキーマに定義された値域に収まるかを判断する。
図8に示すテナント用コンフィグデータと図7(A)に示す機種別設定値スキーマとを例にとって説明する。テナント用コンフィグデータが含む「copy_settings.nup」という設定項目の値(設定値)は「2 in 1」である。一方、機種別設定値スキーマに定義された、当該設定項目に対応する値域は、「1 in 1,2 in
1,4 in 1」である。従って、テナント用コンフィグデータが含む設定値が、機種別設定値スキーマに定義された値域に収まっている。
テナント用コンフィグデータが含む「device_settings.sleep_time」という設定項目の値(設定値)は「10秒」である。一方、機種別設定値スキーマに定義された、当該設定項目に対応する値域は、「1分、10分、1時間」である。従って、テナント用コンフィグデータが含む設定値が、機種別設定値スキーマに定義された値域に収まらない。テナント用コンフィグデータが含む設定値が、機種別設定値スキーマに定義された値域に収まらない場合、仮想コンフィグデータ生成部316は、機種別設定値スキーマに定義されたデフォルト値を取得する。この例では、「10分」というデフォルト値を取得する。仮想コンフィグデータ生成部316は、取得したデフォルト値を、仮想コンフィグデータにおける、当該設定項目の設定値として用いる。
テナント用コンフィグデータが含む設定値が、機種別設定値スキーマに定義された値域に収まっている場合、仮想コンフィグデータ生成部316は、テナント用コンフィグデータが含む設定値を、仮想コンフィグデータの当該設定項目に対応する設定値とする。
次に、仮想コンフィグデータ生成部316は、仮想機器構成データが、機種別設定値スキーマに定義された条件を満たすかを判断する。図7(A)に示す機種別設定値スキーマを参照すると、「copy_settings.nup」に対応する条件は特にない。従って、図5(A)に示す仮想機器構成データは、「copy_settings.nup」に対応する条件を満たす。
しかし、「fax_settings.received_print」に対応する条件は「ファクスユニット」であるのに対し、仮想機器構成データが含む「ファクスユニット」の値として「なし」が設定されている。従って、仮想機器構成データは、当該設定項目に対応する条件を満たさない。
仮想機器構成データが機種別設定値スキーマに定義された条件を満たさない場合、仮想コンフィグデータ生成部316は、機種別設定値スキーマに定義されたデフォルト値403を取得する。この例では、仮想コンフィグデータ生成部316は、「fax_settings.received_print」に対応するデフォルト値である「OFF」を取得する。仮想コンフィグデータ生成部316は、取得したデフォルト値を、仮想コンフィグデータにおける、当該設定項目の設定値として用いる。
図3に戻って、仮想コンフィグデータ更新部317は、仮想コンフィグデータ生成部316が生成した仮想コンフィグデータで、仮想デバイス保持部311が保持する仮想デバイスが有する仮想コンフィグデータを更新する。
具体的には、仮想コンフィグデータ更新部317は、仮想デバイス保持部311が保持する仮想デバイスの中から、生成した仮想コンフィグデータに対応するデバイス識別子を持つ仮想デバイスを取得する。そして、仮想コンフィグデータ更新部317は、取得した仮想デバイスが有する仮想コンフィグデータを、生成した仮想コンフィグデータで更新する。仮想コンフィグデータを更新した仮想コンフィグデータ更新部317は、仮想デバイスの通知フラグ806が「済」である場合、「未」に設定する。通知フラグ806が「未」に設定されていることは、画像形成装置に対応する仮想コンフィグデータの変更があり、画像形成装置は新しい仮想コンフィグデータを参照する必要があることを意味する。
また、仮想コンフィグデータ更新部317は、実コンフィグデータ更新通知受信部323から、画像形成装置101の実コンフィグデータの更新内容を取得する。そして、仮想コンフィグデータ更新部317は、取得した更新内容を仮想コンフィグデータに反映させる。例えば、実コンフィグデータ更新受信部323が、画像形成装置101の実コンフィグデータ更新通知部308から、当該実コンフィグデータに対応付けられているメタ情報が含む変更フラグが立ったことを通知された場合を想定する。
この場合、実コンフィグデータ更新受信部323は、変更フラグが立ったことを仮想コンフィグデータ更新部317に通知する。仮想コンフィグデータ更新部317が、仮想デバイス保持部311が保持する仮想デバイスが含む仮想コンフィグデータに対応付けられているメタ情報を取得する。そして、仮想コンフィグデータ更新部317が、取得したメタ情報が含む変更フラグを立てる。これにより、仮想デバイスが更新される。但し、この場合には、画像形成装置101に対応する実コンフィグデータに対応付けられているメタ情報が含む変更フラグは既に立てられている。従って、この場合には、仮想コンフィグデータ更新部317は、仮想デバイスの通知フラグを「済」のままとする。
実機器構成データ受信部318は、画像形成装置101が備える実機器構成データ通知部306から、機器構成データ(図5)と、テナント識別子とを受信する。仮想機器構成データ更新部319は、実機器構成データ受信部318が受信した機器構成データで、仮想デバイス保持部311が保持する仮想デバイスが有する仮想機器構成データを更新する。
具体的には、仮想機器構成データ更新部319は、仮想デバイス保持部311が保持する仮想デバイスの中から、実機器構成データ受信部318が受信した機器構成データに設定されたデバイス識別子を持つ仮想デバイスを取得する。そして、仮想機器構成データ更新部319は、取得した仮想デバイスが有する仮想機器構成データを、実機器構成データ受信部318が受信した機器構成データで更新し、記憶手段である仮想デバイス保持部311に記憶する。すなわち、実機器構成データ受信部318および仮想機器構成データ更新部319は、画像形成装置から該画像形成装置が備える機器の構成情報をネットワークを介して取得して記憶手段に記憶する構成情報取得手段として機能する。
仮想コンフィグデータ取得部320は、インターネット104を介して、画像形成装置101が備える仮想コンフィグデータ受信部303から仮想コンフィグデータの取得要求を受け取り、仮想デバイス保持部311から仮想コンフィグデータを取得する。
仮想コンフィグデータの取得要求は、少なくとも仮想デバイスを特定するデバイス識別子を含んでいる。従って、仮想コンフィグデータ取得部320は、仮想コンフィグデータの取得要求が含むデバイス識別子を持つ仮想デバイスを探索する。仮想コンフィグデータ取得部320は、探索された仮想デバイスが有する仮想コンフィグデータを取得する。そして、仮想コンフィグデータ取得部320は、インターネット104を介して、取得した仮想コンフィグデータを要求元すなわち仮想コンフィグデータ受信部303に送信する送信手段として機能する。
仮想コンフィグデータ閲覧部321は、インターネット104を介して、外部装置からコンフィグデータの閲覧要求を受ける。コンフィグデータの閲覧要求は、HTTPプロトコル上の要求である。仮想コンフィグデータ閲覧部321は、閲覧要求に対応する仮想コンフィグデータを取得し、取得した仮想コンフィグデータの閲覧用のHTMLページを生成して要求元に返す。
仮想コンフィグデータ更新確認部322は、仮想コンフィグデータが更新されているかを確認する。具体的には、画像形成装置101が備える仮想コンフィグデータ受信部303が、インターネット104を介して、仮想コンフィグデータ更新確認部322に対して該画像形成装置101のデバイス識別子を送信する。仮想コンフィグデータ更新確認部322は、仮想デバイス保持部311が保持する仮想デバイスの中から、受信したデバイス識別子に一致する仮想デバイスを探索する。仮想コンフィグデータ更新確認部322は、探索された仮想デバイスの通知フラグ806を参照する。
通知フラグ806が「未」である場合、仮想コンフィグデータ更新確認部322は、仮想コンフィグデータの更新があったと判断する。通知フラグ806が「済」である場合、仮想コンフィグデータ更新確認部322は、仮想コンフィグデータの更新はないと判断する。仮想コンフィグデータ更新確認部322は、仮想コンフィグデータが更新されているか否かを仮想コンフィグデータ受信部303に返す。そして、仮想コンフィグデータが更新されていることを確認した仮想コンフィグデータ受信部303が、設定値管理サービス310の仮想コンフィグデータ取得部320に対して、コンフィグデータの取得要求を行う。
仮想コンフィグデータ更新確認部322が、仮想コンフィグデータ更新部317によって仮想コンフィグデータが更新されたことを契機として、仮想コンフィグデータが更新されているかを確認するようにしてもよい。そして、仮想コンフィグデータ更新確認部322が仮想コンフィグデータが更新されていることを確認した場合に、仮想コンフィグデータ取得部320が、コンフィグデータを取得し、画像形成装置101の仮想コンフィグデータに送信するようにしてもよい。
図9は、テナント用コンフィグデータの更新処理を説明するフローチャートの一例である。この例では、管理者ユーザが、端末装置102Aを用いて、テナント用コンフィグデータを更新する。フローチャートの各ステップの処理を実現するプログラムは、不揮発性メモリ202C、揮発性メモリ203C、補助記憶装置204Cのいずれかの記憶手段に記憶され、CPU201Cにより実行される。
まず、テナント用コンフィグデータ更新部315が、端末装置102Aから送信された、テナント用コンフィグデータの更新要求を検知する(ステップS901)。次に、テナント用コンフィグデータ更新部315が、テナント用コンフィグデータ保持部314に対して、テナント用コンフィグデータの更新要求に対応するテナント用コンフィグデータが登録済みであるか確認する(ステップS902)。テナント用コンフィグデータの更新要求に対応するテナント用コンフィグデータが登録済みである場合は、ステップS907に進む。テナント用コンフィグデータの更新要求に対応するテナント用コンフィグデータが登録済みでない場合は、ステップS903に進む。
ステップS903において、テナント用コンフィグデータ更新部315が、テナントが保持する仮想デバイスを仮想デバイス保持部311から取得する。テナント用コンフィグデータ更新部315が、取得した仮想デバイスが含む仮想機器構成データを取得する。そして、テナント用コンフィグデータ更新部315が、取得した仮想機器構成データが含む機種コードを取得する(ステップS903)。
次に、テナント用コンフィグデータ更新部315が、取得した機種コードに対応する機種別設定値スキーマを機種別設定値スキーマ保持部312から取得する(ステップS904)。続いて、テナント用コンフィグデータ更新部315が、ステップS904において取得した機種別設定値スキーマの少なくとも1つが持つ設定項目をリストアップする(ステップS905)。そして、テナント用コンフィグデータ更新部315が、ステップS905においてリストアップした設定項目を持つ、空のテナント用コンフィグデータを生成して(ステップS906)、ステップS907に進む。
ステップS907において、テナント用コンフィグデータ更新部315が、テナント用コンフィグデータの具体的な更新指示を検知する(ステップS907)。そして、テナント用コンフィグデータ更新部315が、ステップ907において検知した更新指示に基づいて、テナント用コンフィグデータを更新する(ステップS908)。テナント用コンフィグデータ保持部314は、更新されたテナント用コンフィグデータを記憶する。
次に、仮想コンフィグデータ生成部316が、テナント用コンフィグデータが更新されたことを検知する(ステップS909)。そして、仮想コンフィグデータ生成部316が、仮想デバイス保持部311が保持する仮想デバイスから、更新が検知されたテナント用コンフィグデータのテナント識別子に合致する仮想デバイスを探索する。探索された仮想デバイスに対して順次処理を行うため、仮想コンフィグデータ生成部316は、1つの仮想デバイスを取得する。仮想コンフィグデータ生成部316は、仮想デバイスを取得できたかを判断する(ステップS910)。全ての仮想デバイスに対して順次処理が行われ、次の仮想デバイスを取得できない場合には、処理を終了する。仮想コンフィグデータ生成部316が、次の仮想デバイスを取得できた場合は、ステップS911に進む。
ステップS911において、仮想コンフィグデータ生成部316が、処理対象の仮想デバイスから仮想機器構成データを取得する(ステップS911)。続いて、仮想コンフィグデータ生成部316が、ステップS911において取得された仮想機器構成データから機種コードを取得する。そして、仮想コンフィグデータ生成部316が、取得した機種コードに対応する機種別設定値スキーマを機種別設定値スキーマ保持部312から取得する(ステップS912)。
次に、仮想コンフィグデータ生成部316が、仮想機器構成データと、機種別設定値スキーマと、テナント用コンフィグデータとに基づいて、仮想コンフィグデータを生成する(ステップS913)。そして、仮想コンフィグデータ更新部317が、生成された仮想コンフィグデータを仮想デバイスに登録して(ステップS914)、ステップS910に戻る。ステップS914の処理によって、更新されたテナント用コンフィグデータが仮想デバイスに反映される。
図10は、画像形成装置が仮想コンフィグデータを取得する処理を説明するフローチャートの一例である。図10のステップS1001乃至S1007のステップは、画像形成装置において実行される。これらのステップを実行するためのプログラムは、不揮発性メモリ202A、揮発性メモリ203A、補助記憶装置204Aのいずれかの記憶部に記憶され、CPU201Aにより実行される。また、ステップS1051乃至S1058は、サーバコンピュータ群105において実行される。これらのステップを実行するためのプログラムは、不揮発性メモリ202C、揮発性メモリ203C、補助記憶装置204Cのいずれかの記憶部に記憶され、CPU201Cにより実行される。
まず、画像形成装置101の実機器構成データ通知部306が、画像形成装置101の電源ONを検知する(ステップS1001)。続いて、実機器構成データ収集部304が、機器構成データを収集する(ステップS1002)。
次に、実機器構成データ通知部306が、画像形成装置101が備える機器の構成情報の変更があるかを判断する構成変更判断手段として機能する。具体的には、実機器構成データ通知部306が、ステップ1002で収集した実機器構成データに基づいて、設定値管理サービス310に対して未通知である実機器構成データの変更があるかを判断する(ステップS1003)。
未通知である実機器構成データの変更があった場合は、ステップS1005に進む。未通知である実機器構成データの変更がない場合は、ステップS1004に進む。新規デバイス設置時は、ステップS1005に進むことになる。
ステップ1004において、仮想コンフィグデータ受信部303が、デバイスが最新の仮想コンフィグデータを取得済みか、すなわち、仮想コンフィグデータが更新されているかを判断する(ステップS1004)。具体的には、仮想コンフィグデータ受信部303は、インターネット104を介して、設定値管理サービス310の仮想コンフィグデータ更新確認部322に対して、仮想コンフィグデータが更新されているかを確認する。仮想コンフィグデータ受信部303は、上記確認結果に基づいて、仮想コンフィグデータが更新されているかを判断する。仮想コンフィグデータが更新されていない場合は、処理を終了する。仮想コンフィグデータが更新されている場合は、ステップS1007に進む。
ステップ1005において、実機器構成データ通知部306が、実機器構成データとテナント識別子とを含むコンフィグデータ生成要求を設定値管理サービス310に通知する(ステップS1005)。通知先のアドレスは、実コンフィグデータ保持部301が保持しているアドレスである。
設定値管理サービス310は、ステップ1051において、上記通知を検知して処理を行う。設定値管理サービス310が実行する処理についての詳細は後述する。
次に、仮想コンフィグデータ受信部303が、仮想コンフィグデータの更新が完了するまで処理の実行を待ち合わせる(ステップS1006)。続いて、仮想コンフィグデータ受信部303が、設定値管理サービス310から仮想コンフィグデータを受信する。そして、仮想コンフィグデータ更新部317が、受信された仮想コンフィグデータを実コンフィグデータとして更新する(ステップS1007)。実コンフィグデータは、実コンフィグデータ保持部301によって記憶される。
ステップ1051において、設定値管理サービス310の実機器構成データ受信部318が、画像形成装置101から実機器構成データとテナント識別子とを含むコンフィグデータ生成要求を受け付ける(ステップS1051)。
次に、仮想機器構成データ更新部319が、仮想デバイス保持部311が保持する仮想デバイスの中から、S1051で受信したコンフィグデータ生成要求が含む実機器構成データとテナント識別子とに合致する仮想デバイスを検索する(ステップS1054)。合致する仮想デバイスが検索された場合は、ステップS1054に進む。合致する仮想デバイスが検索されなかった場合は、ステップ1053に進む。新規デバイス設置時など、画像形成装置が初めて設定値管理サービス310と通信を行った時には、仮想デバイスを検索できない場合がある。従って、この場合はステップS1053に進む。
ステップS1053において、仮想機器構成データ更新部319が、空の仮想デバイスを生成して(ステップS1053)、ステップS1054に進む。続いて、仮想機器構成データ更新部319が、S1052において検索された仮想デバイスの仮想機器構成データを、ステップS1051において受信したコンフィグデータ生成要求が含む実機器構成データで更新する(ステップS1054)。また、仮想機器構成データ更新部319は、ステップS1053において生成された仮想デバイスの仮想機器構成データとして、ステップS1051において受信したコンフィグデータ生成要求が含む実機器構成データを設定する。これにより、画像形成装置101に対応する仮想デバイスが更新される。
次に、仮想コンフィグデータ生成部316が、ステップS1056において更新された仮想機器構成データから機種コードを取得する。そして、仮想コンフィグデータ生成部316が、取得した機種コードに該当する機種別設定値スキーマを機種別設定値スキーマ保持部312から取得する(ステップS1055)。
次に、仮想コンフィグデータ生成部316が、テナント用コンフィグデータを取得する(ステップS1056)。具体的には、仮想コンフィグデータ生成部316は、テナント用コンフィグデータ保持部314が保持するテナント用コンフィグデータから、ステップS1051において受信されたテナント識別子に対応するテナント用コンフィグデータを取得する。
次に、仮想コンフィグデータ生成部316が、仮想機器構成データ、機種別設定値スキーマ、テナント用コンフィグデータに基づいて、仮想コンフィグデータを生成する(ステップS1057)。ステップ1057の処理は、図9のステップS913の処理と同様である。すなわち、仮想コンフィグデータ生成部316は、コンフィグデータ生成要求が含む構成情報(機器構成データ)に基づいて画像形成装置101に対応するコンフィグデータを生成する。
次に、仮想コンフィグデータ更新部317が、生成された仮想コンフィグデータを、該当する仮想デバイスに登録、更新する(ステップS1058)。ステップS1058においては、さらに、仮想コンフィグデータ取得部320が、生成された仮想コンフィグデータを画像形成装置101の仮想コンフィグデータ受信部303に対して送信する。
次に、画像形成装置がリプレイスされた場合の、コンフィグデータの引き継ぎ時に行われる処理について説明する。まず、設定値管理サービス310が、リプレイス前の画像形成装置に対応する仮想機器構成データと仮想コンフィグデータの情報をバックアップして保持する(記憶手段に記憶する)。リプレイス前の画像形成装置に対応するコンフィグデータを、以下では第1の動作設定情報とも記述する。その後、新しい画像形成装置を登録するシーケンスと同じように、初期状態の仮想コンフィグデータの作成が行われる。具体的には、図9および図10を参照して説明した処理と同様の処理が実行される。
ただし、コンフィグデータの引き継ぎ時に実行される処理は、図10のステップS1057における処理と、ステップS1007における処理が、新規で画像形成装置を登録する場合の処理と異なる。以下では、新規で画像形成装置を登録する場合の処理と異なる点を中心に、リプレイスに伴う画像形成装置のコンフィグデータの引き継ぎ処理が含む仮想コンフィグデータの生成処理について詳細に述べる。
図11は、コンフィグデータに対応付けられているメタ情報の一例を示す図である。図11(A)は、メタ情報のデータ構成例を示す。図11(A)に示すメタ情報は、実コンフィグデータと仮想コンフィグデータとに対応付けられている。
図11(A)に示すように、メタ情報は、設定値識別子1101、初期値1102、運用値1103、型1104、サイズ1105、引継条件1106、変更フラグ1107といったデータ項目を有する。
設定値識別子1101は、図7(A)、(B)に示すコンフィグデータが有する設定値識別子402と同様である。初期値1102は、当該設定値の初期値である。運用値1103は、当該設定値の現在の値(カレント値)である。型1104は、設定値の型である。サイズ1105は、設定値の型である。引継条件1106は、当該設定の運用値のリプレイス後の画像形成装置への引き継ぎに関する条件、つまり設定項目に対応する設定をリプレイス後の画像形成装置のコンフィグデータに引き継ぐか否かに関する条件である。
引継条件が満たされる場合、当該設定の運用値がリプレイス後の画像形成装置に引き継がれる。設定項目毎に、引継条件に従った処理が実行される。変更フラグ1107は、当該設定について、ユーザが初期値から変更したかを示す変更情報として機能する。変更フラグが立っている(「1」が設定されている)ことは、当該設定について、ユーザが初期値から変更したことを示す。また、変更フラグが立っていない(「0」が設定されている)ことは、当該設定について、ユーザが初期値から変更していないことを示す。
図11(B)は、メタ情報が含む引継条件の定義テーブルを示す。引継条件の定義テーブルは、引継条件と詳細といったデータ項目を有する。引継条件は、図11(A)に示す引継条件1106に対応する。詳細は、引継条件に対応する処理を示す。例えば、”None”は、リプレイス時に一切の引き継ぎを行わないことを示す。つまり、”None”は、機器の構成情報の変更内容にかかわらず再設定が必要な設定項目とすることを指示する第1の指示情報として機能する。”Force”は、どんなリプレイスが発生しても必ず当該設定の引き継ぎを行うことを示す。つまり、”Force”は、機器の構成情報の変更内容にかかわらずリプレイス前のコンフィグデータの設定をリプレイス後のコンフィグデータの設定に引き継ぐことを指示する第2の指示情報として機能する。
”Tray_Bin”は、給排紙段の構成変化があった場合は当該設定を引き継がないことを示す。”Color_Type”は、リプレイスによってカラーモノクロが変更になった場合には当該設定を引き継がないことを示す。つまり、”Tray_Bin”,”Color_Type”は特定の構成情報が変更した場合に再設定が必要な設定項目とすることを指示する第3の指示情報として機能する。
なお、リプレイスに伴って引き継げない設定項目は、例えば、排紙先が複数存在する画像形成装置において排紙トレイの構成が変わった場合の優先排紙先情報である。また、スキャナの読み込み能力が変更になった場合のデフォルトの読み込み解像度設定についても、引き継ぐことができない。また、スキャナのスキャン能力(カラー/モノクロの種別)が変わった場合の、ファイル作成に対するデフォルト設定なども、引き継ぐことができない。すなわち、例えば、画像形成装置をユーザが使いやすさや自身の嗜好で初期状態から変更して利用している設定項目が、引き継ぐことができない設定項目となる。
図11(A)、(B)を参照した説明から、コンフィグデータには、設定項目毎に、画像形成装置のリプレイスに伴う機器の構成情報の変更内容に対応する引継条件と変更フラグとが対応付けられている。
図12は、画像形成装置のリプレイス時のコンフィグデータの引継処理の例を説明するフローチャートである。前述した図9、図10に示すフローチャートが示す処理は、新規画像形成装置導入時における処理フローである。画像形成装置のリプレイス時には、基本的には、図9、図10に示すフローチャート通りの動作が行われるが、コンフィグデータの引き継ぎ処理に関するステップが発生する。
具体的には、設定値管理サービス310は、図10のステップS1057における仮想コンフィグデータの生成処理を拡張した以下の処理を実行する。まず、設定値管理サービス310が、リプレイス後の画像形成装置の仮想コンフィグデータを生成する(ステップS1201)。すなわち、仮想コンフィグデータ生成部316が、リプレイス後の画像形成装置に対応するコンフィグデータを第2の動作設定情報として生成する。
ステップS1207における仮想コンフィグデータの生成処理は、新規画像形成装置導入時における仮想コンフィグデータの生成処理(図10のステップS1057)と同様である。すなわち、仮想コンフィグデータ生成部316が、仮想機器構成データ、機種別設定値スキーマ、テナント用コンフィグデータを用いて、仮想コンフィグデータを生成する。
次に、仮想コンフィグデータ生成部316が、事前に記憶手段にバックアップされたリプレイス前の画像形成装置の仮想機器構成データと、新しく生成されたリプレイス後の画像形成装置の仮想機器構成データとを比較する。そして、仮想コンフィグデータ生成部316が、比較結果に基づいて、機器の構成情報の差分の抽出を行う(ステップS1202)。続いて、仮想コンフィグデータ生成部316が、対象のコンフィグデータの全ての設定項目について、以下の処理を行う。
まず、仮想コンフィグデータ生成部316が、リプレイス前の画像形成装置の仮想コンフィグデータに対応付けられているメタ情報を取得する。仮想コンフィグデータ生成部316が、ステップ1202において抽出された機器の構成情報の差分情報と、上記取得したメタ情報が含む引継条件とに基づいて、自動マージ処理を実行するかを判断する(ステップS1203)。自動マージ処理は、リプレイス前の仮想コンフィグデータの設定を上記ステップS1202において生成されたリプレイス後の仮想コンフィグデータに自動で引き継ぐ処理、すなわち、上書きする処理である。
ステップS1203の具体的処理について説明する。仮想コンフィグデータ生成部316が、上記機器の構成情報の差分情報に基づいて、画像形成装置のリプレイスに伴う該画像形成装置の機器の構成情報の変更内容を特定する。そして、仮想コンフィグデータ生成部316が、特定した機器の構成情報の変更内容と、リプレイス前のコンフィグデータ(第1の動作設定情報)に対応付けられている前記引継条件に基づいて、以下の処理を実行する。仮想コンフィグデータ生成部316は、リプレイス後のコンフィグデータ(第2の動作設定情報)の設定項目毎に、第1の動作設定情報の設定を該第2の動作設定情報の設定に引き継ぐか否か(自動マージ処理を実行するか否か)を判断する。
例えば、上記差分情報が、リプレイスの前後で給排紙段構成が変更されていることを示す場合、仮想コンフィグデータ生成部316は、引継条件”None”および”Tray_Bin”に対応する設定項目については、自動マージ処理を実行しないと判断する。そして、処理がステップS1204に進む。一方、仮想コンフィグデータ生成部316は、例えば、引継条件”Force”に対応する設定項目については、自動マージ処理を実行すると判断する。そして、処理がステップS1207に進む。
ステップS1204において、仮想コンフィグデータ生成部316が、メタ情報が含む変更フラグを参照して、自動マージ処理を実行しないと判断した設定項目について、設定値が初期値から変更されていたかを判断する(ステップS1204)。変更フラグが立っている場合、仮想コンフィグデータ生成部316が、設定値が初期値から変更されていた、つまり再設定が必要であると判断する。そして処理がステップS1205に進む。変更フラグが立っていない場合、仮想コンフィグデータ生成部316が、設定値が初期値から変更されていない、つまり再設定が不要であると判断する。そして、処理がステップS1208に進む。
ステップ1205において、仮想コンフィグデータ生成部316が、設定値が初期値から変更されていた設定項目を再設定リストに追加する(ステップS1205)。続いて、仮想コンフィグデータ生成部316が、該当の設定項目の初期値として、デフォルトの値を適用する(ステップS1206)。
ステップS1207において、仮想コンフィグデータ生成部316が、自動マージ処理を実行する(ステップS1207)。これにより、リプレイス前の仮想コンフィグデータの運用値が、上記ステップS1202において生成されたリプレイス後の仮想コンフィグデータの設定に自動で上書きされて反映される。これにより、リプレイス後に適用されるコンフィグデータが生成される。
次に、仮想コンフィグデータ生成部316が、全ての設定項目のデータについて処理を終了したかを判断する(ステップS1208)。処理が残っている設定項目のデータがある場合は、ステップS1203に戻って、次の設定項目についての処理が実行される(ステップS1209)。全ての設定項目のデータについて処理を終了した場合は、コンフィグデータの引継処理を終了する。
図12を参照して説明した処理を実行することにより、リプレイス前の画像形成装置からリプレイス後の画像形成装置に向けた仮想コンフィグデータの引き継ぎ処理が完了する。この時点で、機器の構成情報の変化の内容と、ユーザが初期値から設定値を変更したか否かに基づいて、再設定が必要であると判断された設定項目が、再設定リストにピックアップされた状態となっている。仮想コンフィグデータ取得部320は、リプレイス後の画像形成装置101に対して、該画像形成装置101に適用するコンフィグデータと再設定リストとを送信する。
なお、リプレイス後の画像形成装置にしか存在しない新しい設定項目が存在する場合や、リプレイス前に設定項目が存在していてもソフト構成等で機能的に利用できないため設定されないままでいた設定項目については、改めて設定を行った方が良い可能性がある。仮想コンフィグデータ生成部316が、これらの設定項目を再設定リストにピックアップするようにしてもよい。また、引き継ぎ元データが存在しないケースや、機器の構成情報の差分が、機能なしから新規機能追加という変化を示す場合に、仮想コンフィグデータ生成部316が、変更フラグの状態に関わらず強制的に再設定リストに追加するようにしてもよい。
図13は、リプレイス時における画像形成装置が実行する処理の例を説明するフローチャートである。具体的には、図13は、リプレイス時における図10のステップS1007における処理に対応する処理を示す。
まず、画像形成装置の仮想コンフィグデータ受信部303が、設定値管理サービス310から仮想コンフィグデータを受信(ダウンロード)する(ステップS1301)。仮想コンフィグデータ受信部303は、設定値管理サービス310から送信されるデータに再設定リストがある場合には、仮想コンフィグデータとともに再設定リストを受信する。すなわち、仮想コンフィグデータ受信部303は、設定値管理サービス310の仮想コンフィグデータ取得部320から画像形成装置101に適用する仮想コンフィグデータと再設定リストとを取得する設定情報取得手段として機能する。
ステップS1301においては、さらに、実コンフィグデータ更新部302が、受信した仮想コンフィグデータで実コンフィグデータを更新する。更新された実コンフィグデータは、実コンフィグデータ保持部301によって記憶される。
次に、実コンフィグデータ更新部302が、再設定リスト上に設定項目があるかを判断する(ステップS1302)。再設定リスト上に設定項目がない場合は、処理を終了する。再設定リスト上に設定項目がある場合は、ステップS1303に進む。
次に、ユーザ入力画面表示部307が、表示手段として機能する。ユーザ入力画面表示部307は、再設定リストに記載された設定項目の再設定を促す画面(再設定画面)をディスプレイ205Aに表示し、ユーザからの入力を待つ(ステップS1303)。その後の処理は、通常のユーザの設定変更作業と同等である。すなわち、実デバイスコンフィグデータの更新処理と共に、実コンフィグデータ更新通知部308から通知が出され、実コンフィグデータ更新受信部323が、この通知を受信し、仮想コンフィグデータが更新される。
図14は、再設定画面の一例を示す図である。図13のステップS1303においては、ユーザ入力画面表示部307が、まず、図14(A)に示す画面を表示する。この画面は、再設定を行うか、一括でデフォルト値を採用するかを選択する画面である。ユーザがボタン1401を押下すると、実コンフィグデータ更新部302が、当該更新対象の実コンフィグデータの再設定対象の設定項目の設定値に対して、一括でデフォルト値を採用する。
ユーザが、ボタン1402を押下すると、ユーザ入力画面表示部307が、図14(B)に示す画面を表示する。この画面は、設定項目に対して個別に再設定するための画面であって、再設定リスト上の設定項目を一覧で表示する。ユーザが、表示された設定項目の一覧の中から再設定を行いたい設定項目を選択し、ボタン1411乃至1414のうちのいずれかを押下することで、個別の詳細設定を行うことができる。
本実施形態の情報処理システムによれば、画像形成装置のリプレイスに伴う機器の構成情報の変更内容に応じてリプレイス後の画像形成装置に引き継ぐことが適当でないコンフィグデータについて再設定を促す画面を表示することでユーザの負担を軽減できる。
なお、第1の実施形態では、サーバコンピュータ群105が設定値管理サービス310を実現することを想定しているが、別の構成であっても良い。例えば、1つのサーバコンピュータが設定値管理サービス310を実現するようにしてもよい。また、設定値管理サービス310が、ユーザ環境100、サービスマン環境110、または画像形成装置のベンダ環境120等の中に実現されていてもよい。
また、第1の実施形態では、サービスマンが、サービスマン環境110に配置された端 末装置102Bを利用することを想定しているが、別の構成であってもよい。例えば、サービスマンが、ユーザの許可のもとでユーザ環境100に配置された端末装置102Aを利用する構成であってもよい。
また、図2では、サーバコンピュータ210Aと210Bとがネットワーク220を介して通信を行っているが、別の構成であってもよい。例えば、サーバコンピュータ210Aと210Bとが、インターネット104を介して通信を行ってもよい。
また、図3では、実コンフィグデータ保持部301が、補助記憶装置204Aに実コンフィグデータを記憶しているが、別の構成であってもよい。例えば、実コンフィグデータ保持部301が、実コンフィグデータを揮発性メモリ203Aに一時的に記憶する構成であってもよい。この場合、電源をOFFにすると実コンフィグデータが失われるので、デバイスの電源をONにする度に仮想コンフィグデータ受信部303が仮想コンフィグデータを受信する必要がある。具体的な処理の流れで示すと、図10のステップ1004で、仮想コンフィグデータの更新判定処理が省略され、常にステップ1007の処理を実行する構成となる。
図3では、実機器構成データ収集部304は、画像形成装置の電源をONにする度に、実機器構成データの収集を行うが、別の構成であってもよい。例えば、画像形成装置が実機器構成データを補助記憶装置204Aに常に記憶する実機器構成データ保持部(図示を省略)を備えるようにしてもよい。この場合、実機器構成データの変更に応じて、実機器構成データ保持部が保持する実機器構成データを速やかに書き換える構成である必要がある。そのため、実機器構成データ収集部304は、実機器構成データの変更を監視し、変更内容を検知した場合には、実機器構成データ保持部に対して変更内容を通知し、この変更内容を実機器構成データに反映させる。また、実機器構成データ通知部306は、実機器構成データ保持部に対して実機器構成データを要求する。
図3では、テナント識別子保持部305が、補助記憶装置204Aにテナント識別子を記憶するが、別の構成であってもよい。例えば、ユーザが入力装置206Aを用いてテナント識別子を毎回入力する構成であってもよい。入力するタイミングは、画像形成装置の起動時であってもよいし、別のタイミングであってもよい。この場合、テナント識別子は揮発性メモリ203Aに記憶される。
図3では、実機器構成データ通知部306は、画像形成装置が電源ONになったことを検知して処理を行うが、別の構成であってもよい。例えば、ユーザが、入力装置206Aを用いて仮想コンフィグデータの取得を指示する構成であってもよい。この場合、図10のステップ1001において、画像形成装置が仮想コンフィグデータの取得指示を検知することでステップ1002以降の処理が実行される。
図3では、仮想デバイス保持部311は、図8に示すように仮想機器構成データと仮想コンフィグデータを識別するための識別子を保持していたが、別の構成であってもよい。例えば、仮想デバイス保持部311が、識別子ではなくデータの実体を保持する構成であってもよい。
図3では、仮想コンフィグデータ生成部316は、機種別設定値スキーマ、テナント用コンフィグデータ、仮想機器構成データから仮想コンフィグデータを生成するが、別の構成であってもよい。例えば、仮想コンフィグデータ生成部316が、機種別設定値スキーマとテナント用コンフィグデータとに基づいて、機種に応じた仮想コンフィグデータを生成するようにしてもよい。この場合、画像形成装置は、実コンフィグデータを参照する際に機器構成に応じた実コンフィグデータを参照する。また、仮想コンフィグデータ生成部316が、更に、所定のライセンスデータを用いて仮想コンフィグデータを生成する構成であってもよい。その場合、画像形成装置が備えるオプション機能に合わせた仮想コンフィグデータが生成される。
次に、第2の実施形態について説明する。第2の実施形態では、サーバとなる設定値管理サービス自体が省略される。すなわち、画像形成装置自体が、画像形成装置のリプレイスに伴う機器の構成情報の変更内容に応じてコンフィグデータを引き継ぐかを判断し、引き継がないと判断した設定項目のうち再設定が必要な設定項目について、再設定を促す画面を表示する。
図15は、第2の実施形態における画像形成装置の機能ブロック図の例である。図15に示す画像形成装置401は、実コンフィグデータ保持部301、実コンフィグデータ更新部302、実機器構成データ収集部304、ユーザ入力画面表示部307、インポート実コンフィグデータ受信部1501を備える。画像形成装置401が備える実コンフィグデータ保持部301、実コンフィグデータ更新部302は、図3を参照して説明した実コンフィグデータ保持部301、実コンフィグデータ更新部302と同様である。また、画像形成装置401が備える実機器構成データ収集部304、ユーザ入力画面表示部307は、図3を参照して説明した実機器構成データ収集部304、ユーザ入力画面表示部307と同様である。
画像形成装置401は、画像形成装置101と異なり、設定値管理サービス310との間で仮想コンフィグデータをやり取りせず、USBメモリ等の外部装置との間で、コンフィグデータのインポート/エクスポートを実行する。
インポート実コンフィグデータ受信部1501は、機器外の外部装置に保持されたコンフィグデータを受け付ける。具体的には、インポート実コンフィグデータ受信部1501は、ネットワーク通信装置207A(図2)を介して、またはUSBメモリなどの着脱可能ストレージメディア230(図2)を介して、インポートデータを受信する。本実施形態では、インポートデータは、画像形成装置401のリプレイス前に当該外部装置にエクスポートされた当該画像形成装置401の実コンフィグデータである。この実コンフィグデータには、第1の実施の形態における実コンフィグデータと同様に、図11に示すメタ情報が対応付けられている。
実コンフィグデータエクスポート部1502は、実コンフィグデータ保持部301から実コンフィグデータを取得し、エクスポートデータを生成する。本実施形態において、エクスポートデータは、リプレイス前の画像形成装置401の実コンフィグデータと、画像形成装置401の実機器構成データとを含む。実コンフィグデータエクスポート部1502は、エクスポートデータを、ネットワーク通信装置207Aを介して外部装置にエクスポートする。実コンフィグデータエクスポート部1502は、エクスポートデータを、USBメモリなどの着脱可能ストレージメディア230にエクスポートする。
すなわち、実コンフィグデータエクスポート部1502は、画像形成装置がリプレイスされる場合に、以下の処理を実行する出力手段として機能する。実コンフィグデータエクスポート部1502は、実機器構成データ収集部304が収集した該画像形成装置のリプレイス前の実機器構成データと、実コンフィグデータ保持部301が保持するリプレイス前の実コンフィグデータとを含む出力情報を外部装置に出力する。また、前述したインポート実コンフィグデータ受信部1501は、画像形成装置のリプレイス後に、外部装置から出力情報を該リプレイス後の画像形成装置に入力する入力手段として機能する。
第2実施の形態では、リプレイス前の画像形成装置401がデータエクスポートを行い、そのデータをリプレイス後の画像形成装置401にインポートするという形で、コンフィグデータの引き継ぎが行われる。
図16は、実コンフィグデータのエクスポートの例を説明するフローチャートである。前提として、画像形成装置401がリプレイス対象となったものとする。まず、実機器構成データ収集部304が、ユーザからのエクスポート指示を受けて、画像形成装置401の実機器構成データを収集する(ステップS1601)。
次に、実コンフィグデータエクスポート部1502が、実コンフィグデータ保持部301から、当該画像形成装置401の実コンフィグデータを収集する(ステップS1602)。そして、実コンフィグデータエクスポート部1502は、収集した実機器構成データと実コンフィグデータとをアーカイブしてエクスポートデータを生成し、外部装置にエクスポートする(ステップS1603)。
図17は、実コンフィグデータのインポートの例を説明するフローチャートである。前提として、図16を参照して説明したエクスポートの実行が完了した画像形成装置401がリプレイスされたものとする。
まず、インポート実コンフィグデータ受信部1501が、図16のステップS1603において外部装置にエクスポートされたエクスポートデータを、外部装置からインポートする。インポート実コンフィグデータ受信部1501は、インポートしたエクスポートデータが含む機器構成データと実コンフィグデータとを取得する(ステップS1701)。取得された機器構成データと実コンフィグデータは、リプレイス前の画像形成装置401の機器構成データと実コンフィグデータである。
次に、実機器構成データ収集部304が、自装置すなわちリプレイス後の画像形成装置401の機器構成データを収集する(ステップS1702)。次に、実コンフィグデータ更新部302が、インポート実コンフィグデータ受信部1501から、リプレイス前の実コンフィグデータを第1の動作設定情報として取得する。また、実コンフィグデータ更新部302が、インポート実コンフィグデータ受信部1501から、リプレイス前の機器構成データを取得する。また、実コンフィグデータ更新部302が、実コンフィグデータ保持部301が保持するリプレイス後の実コンフィグデータを第2の動作設定情報として取得する。そして、実コンフィグデータ更新部302が、リプレイス前後の機器構成データを比較して、機器の構成情報の差分の抽出を行う(ステップS1703)。続いて、実コンフィグデータ更新手段302が、処理対象のコンフィグデータの全ての設定項目について、以下の処理を行う。
まず、実コンフィグデータ更新部302が、リプレイス前の実コンフィグデータに対応付けられているメタ情報を取得する。実コンフィグデータ更新部302が、ステップ1703において抽出された機器の構成情報の差分情報と、上記取得したメタ情報が含む引継条件とに基づいて、自動マージ処理を実行するかを判断する(ステップS1704)。ステップS1704における判断処理は、図12のステップS1203における判断処理と同様である。実コンフィグデータ更新部302が自動マージ処理を実行すると判断した場合は、処理がステップS1708に進む。実コンフィグデータ更新部302が自動マージ処理を実行しないと判断した場合は、処理がステップS1705に進む。
続いて、画像形成装置401は、ステップS1706乃至S1710の処理を実行する。ステップS1706乃至S1711の処理は、図12のステップS1204乃至ステップS1209の処理と同様である。
すなわち、実コンフィグデータ更新部302が、メタ情報が含む変更フラグを参照して、自動マージ処理を実行しないと判断した設定項目について、設定値が初期値から変更されていたかを判断する(ステップS1705)。実コンフィグデータ更新部302が、設定値が初期値から変更されていたと判断した場合は、処理がステップS1707に進む。実コンフィグデータ更新部302が、設定値が初期値から変更されていないと判断した場合は、処理がステップS1706に進む。
ステップ1706において、実コンフィグデータ更新部302が、設定値が初期値から変更されていた設定項目を再設定リストに追加する(ステップS1706)。続いて、実コンフィグデータ更新部302が、該当の設定項目の初期値として、デフォルトの値を適用する(ステップS1707)。
ステップS1708において、実コンフィグデータ更新部302が、自動マージ処理を実行する(ステップS1708)。これにより、リプレイス前の実コンフィグデータの運用値が、リプレイス後の実コンフィグデータの設定に自動で上書きされて反映される。
次に、実コンフィグデータ更新部302が、全ての設定項目のデータについて処理を終了したかを判断する(ステップS1709)。処理が残っている設定項目のデータがある場合は、ステップS1704に戻って、次の設定項目についての処理が実行される(ステップS1710)。全ての設定項目のデータについて処理を終了した場合は、処理がステップS1711に進む。
ステップS1711およびS1712における処理は、図13のステップS1302およびS1303における処理と同様である。すなわち、実コンフィグデータ更新部302が、再設定リスト上に設定項目があるかを判断する(ステップS1711)。再設定リスト上に設定項目がない場合は、処理を終了する。再設定リスト上に設定項目がある場合は、実コンフィグデータ更新部302が、ユーザ入力画面表示部307に、再設定リスト上の設定項目に対する再設定を促す画面を表示するように指示する。そして処理がステップS1712に進む。
次に、ユーザ入力画面表示部307が、再設定リストに記載された設定項目の再設定を促す画面(再設定画面)をディスプレイ205Aに表示し、ユーザからの入力を待つ(ステップS1712)。その後、ユーザが必要に応じて再設定を行う。
画像形成装置401によれば、画像形成装置のリプレイスに伴う機器の構成情報の変更内容に応じてリプレイス後の画像形成装置に引き継ぐことが適当でないコンフィグデータについて再設定を促す画面を表示することでユーザの負担を軽減できる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。