画像形成装置及びその処理方法
【課題】 ユーザのオペレーションや機器の状態に基づいて最適なデータ同期の仕組みを提供できる装置及び方法を提供する。
【解決手段】 画像形成装置において、規定された条件が発生した際に、その条件に関連付けられた設定値のダウンロードを設定値管理装置に要求すると、設定値管理装置が管理している設定値の中から要求された設定値を画像形成装置にダウンロードする。そして、画像形成装置は、設定値管理装置からダウンロードされた設定値を、その条件に関連付けられた設定値として利用する。
【解決手段】 画像形成装置において、規定された条件が発生した際に、その条件に関連付けられた設定値のダウンロードを設定値管理装置に要求すると、設定値管理装置が管理している設定値の中から要求された設定値を画像形成装置にダウンロードする。そして、画像形成装置は、設定値管理装置からダウンロードされた設定値を、その条件に関連付けられた設定値として利用する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置の動作を切り替えるための設定値(コンフィグデータ)を一括管理する技術に関する。
【背景技術】
【0002】
従来、画像形成装置の動作を切り替えるための設定値(コンフィグデータ)を記憶している画像形成装置がある。ここで、コンフィグデータは各画像形成装置が備える記憶装置に記憶されているため、全ての画像形成装置のコンフィグデータを変更するには画像形成装置の台数だけ設定を行う必要がある。
【0003】
この手間を省くため、ある情報処理装置から複数の画像形成装置にコンフィグデータの一括設定を行う技術が存在する。また、コンフィグデータをネットワーク参照可能な場所に配置し、複数の画像形成装置がコンフィグデータを参照することで、コンフィグデータの一括管理を行う技術が存在する(例えば、特許文献1)。
【0004】
また、ネットワーク越しに設定データを参照する際には、その負荷を軽減するために、予め設定した時刻などで設定データを同期する技術などが存在する(例えば、特許文献2)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−130838号公報
【特許文献2】特開2009−033706号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記従来技術では、画像形成装置の機種や画像形成装置が備えるハードウェアオプションなどに影響を受け、値に制約が発生するコンフィグデータに対して運用できないという問題があった。また、データの同期については、ユーザのオペレーションや機器上で行われる作業と設定データの同期処理が競合するなどの問題があった。
【0007】
本発明は、ユーザのオペレーションや機器の状態に基づいて最適なデータ同期の仕組みを提供できる装置及び方法を提供する。
【課題を解決するための手段】
【0008】
本発明は、画像形成装置の設定値を設定値管理装置が管理する画像形成装置であって、
規定された条件が発生した際に、当該条件に関連付けられた設定値のダウンロードを前記設定値管理装置に要求する手段と、
前記設定値管理装置で管理されている設定値の中から前記要求された設定値がダウンロードされ、当該ダウンロードされた設定値を前記条件に関連付けられた設定値として利用する手段と、
を有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、ユーザのオペレーションや機器の状態に基づいて最適なデータ同期の仕組みを提供することができる。
【図面の簡単な説明】
【0010】
【図1】複数の画像形成装置のネットワーク構成の一例を示す図。
【図2】図1に示す各装置のハードウェア構成の一例を示す図。
【図3】設定値管理サービス及び画像形成装置のソフトウェア構成の一例を示す図。
【図4】機種別設定値スキーマの一例を示す図。
【図5】テナント用コンフィグデータの一例を示す図。
【図6】実機器構成データの一例を示す図。
【図7】実コンフィグデータ保持部の構成の一例を示す図。
【図8】仮想デバイス保持部の構成の一例を示す図。
【図9】テナント用コンフィグデータの更新処理を示すフローチャート。
【図10】仮想コンフィグデータの取得処理を示すフローチャート。
【図11】ダウンロードされるデータの構造を示す図。
【図12】ロード制御テーブルの構成を示す図。
【図13】ダウンロードされた設定値を上書きする処理を示すフローチャート。
【図14】別の実施形態におけるロード規則テーブルの構成を示す図。
【図15】別の実施形態における設定値をダウンロードする際のフローチャート。
【図16】ワンタイムクラスタの破棄に関する処理を示すフローチャート。
【図17】Temp動作モードの詳細を説明するための図。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。
【0012】
まず、以下の実施形態で使用する用語の定義を行う。設定値(コンフィグデータ)とは、画像形成装置の動作を切り替えるためのデータである。例えば、コピージョブの面付けのデフォルト値などが該当する。「1in1」に設定されていれば、コピーを行った結果、用紙一枚に1ページが印刷される。「2in1」に設定されていれば、コピーを行った結果、用紙一枚に2ページが印刷される。
【0013】
機器構成データとは、画像形成装置が備える機器の構成を示すデータである。例えば、ファクスユニットを装着しているかを表すデータなどが該当する。更に、画像形成装置の機種を一意に識別するための機種コード、動作しているファームウェアのバージョンなどを含む。
【0014】
機種別設定値スキーマとは、画像形成装置が特定の機種で保持するコンフィグデータのスキーマを定義するデータである。ここで、スキーマとは、コンフィグデータについての規約や位置付けを定義するデータである。例えば、各コンフィグデータの設定値識別子、デフォルト値、値域、データが有効になるための条件が機種別設定値スキーマに含まれる。尚、機種によって保持するコンフィグデータには差分があり、設定値スキーマを機種別に用意する運用であることを前提とする。
【0015】
仮想デバイスとは、サーバコンピュータ群が保持する実デバイスのデータ群である。具体的には、機器構成データ、コンフィグデータを少なくとも含む。
【0016】
テナントとは、ユーザが画像形成装置の管理を委託する委託者の単位である。また、テナント識別子とは、テナントを一意に識別するための識別子である。例えば、ある会社がユーザ環境にある3台の画像形成装置の管理をテナントに委託したと仮定する。その場合、ユーザ環境に対応するテナント識別子が1つ割り当てられ、3台の画像形成装置はそのテナントに属する画像形成装置であると認識され、一括管理される。
【0017】
ここで、仮想デバイスに含まれるデータ、実デバイスが保持するデータ、テナント専用のデータを区別して呼ぶために、次のように定義する。仮想デバイスに含まれる機器構成データを仮想機器構成データと呼び、仮想デバイスの設定値(コンフィグデータ)を仮想設定値(仮想コンフィグデータ)と呼ぶ。実デバイスが保持する機器構成データを実機器構成データと呼び、実デバイスの設定値(コンフィグデータ)を実設定値(実コンフィグデータ)と呼ぶ。テナント内で共通で利用したい設定値(コンフィグデータ)をテナント用設定値(テナント用コンフィグデータ)と呼ぶ。尚、ここで説明した以外にも適宜用語の説明を行う。
【0018】
次に、複数の画像形成装置のネットワーク構成の一例を、図1を用いて説明する。画像形成装置101(101A〜101C)は、詳細は後述する設定値管理サービス310によって一括管理され、それぞれネットワーク106を介してインターネット104にアクセス可能である。
【0019】
端末装置102Aは、ユーザ環境100のユーザが操作可能なコンピュータであって、ネットワーク106を介してインターネット104にアクセス可能である。また、端末装置102Bは、画像形成装置101を管理するサービスマンが操作可能なコンピュータであって、インターネット104にアクセス可能である。更に、端末装置102Cは、画像形成装置101のベンダに所属する管理担当者が操作可能なコンピュータであって、インターネット104にアクセス可能である。インターネット104は、インターネットプロトコル技術を利用して相互接続されたコンピュータネットワークである。
【0020】
サーバコンピュータ群105は、インターネット104を介して複数のサービスを提供するサーバ群である。ネットワーク106は、ユーザ環境100においてデジタル通信が可能なネットワークである。サービスマン環境110は、サービスマンが端末装置102Bを使って画像形成装置の管理を行う環境である。画像形成装置のベンダ環境120は、画像形成装置を生産するベンダの管理担当者が、端末装置102Cを使って画像形成装置の管理に必要なデータのメンテナンスを行う環境である。
【0021】
ここで、画像形成装置101、端末装置102、サーバコンピュータ群105のハードウェア構成の一例を、図2を用いて説明する。まず、画像形成装置101のCPU211は、プログラムの実行や様々な処理の制御を行う。不揮発性メモリ212は、ROMから構成され、機器の起動処理において初期段階に必要なプログラムやデータ等が格納されている。揮発性メモリ213は、RAMから構成され、プログラム、データの一時的な格納場所として利用される。補助記憶装置214は、ハードディスクやRAMドライブ等の大容量記憶装置から構成され、大容量データの保管、プログラムの実行コードの保持を行う。揮発性メモリ213と比較して長時間保持する必要があるデータを記憶する。補助記憶装置214は不揮発性の記憶装置であるため、電源が切られてもデータを記憶し続けることができる。
【0022】
ディスプレイ215は、利用者に情報を伝えるための装置である。ここで、利用者とは、ユーザとサービスマンを想定する。入力装置216は、利用者から選択指示を受け付けて内部バス210を介してプログラムに伝達するための装置である。ネットワーク通信装置217は、別の情報処理装置とネットワークを介して通信するための装置である。ファクスユニット218は、画像形成装置101が形成した画像データか、もしくは補助記憶装置に記憶された画像データを、ネットワーク106を介して別の情報機器に送付するためのハードウェアユニットである。ファクスユニット218はオプションであり、個体によって装着されてない可能性がある。
【0023】
プリンタエンジン219は、画像形成装置101で形成された画像データか、もしくは補助記憶装置に記憶された画像データを、紙媒体に印刷する機能を有する。そして、内部バス210は、CPU211、不揮発性メモリ212、揮発性メモリ213、補助記憶装置214、ディスプレイ215、入力装置216、ネットワーク通信装置217を画像形成装置101内で通信可能な状態に接続する通信バスである。
【0024】
サーバコンピュータ群105は、ネットワーク260を介して接続された複数のサーバコンピュータ205、206で構成されている。内部バス250は、サーバコンピュータ205の備えるCPU251、不揮発性メモリ252、揮発性メモリ253、補助記憶装置254、ネットワーク通信装置257をサーバコンピュータ205内で通信可能な状態に接続する通信バスである。ネットワーク260は、サーバコンピュータ群105を構成するサーバコンピュータ同士の高速通信を可能とするネットワークである。
【0025】
尚、端末装置102のハードウェア構成は、画像形成装置101のハードウェア構成において、ファクスユニット218及びプリンタエンジン219を除いた構成であり、その説明は省略する。
【0026】
次に、サーバコンピュータ群105の1つのサーバコンピュータにて実行される設定値管理サービス310及び画像形成装置101のソフトウェア構成の一例を、図3を用いて説明する。
【0027】
まず、画像形成装置101が有するソフトウェア構成について説明する。実コンフィグデータ保持部301は、画像形成装置101のコンフィグデータを補助記憶装置214に保持し、画像形成装置101は保持された実コンフィグデータに基づいて動作の振る舞いを切り替える。実コンフィグデータ更新部302は、実コンフィグデータ保持部301によって保持された実コンフィグデータを更新する。実コンフィグデータは、後述する仮想コンフィグデータ受信部303で受信された仮想コンフィグデータを用いて更新される。また、実コンフィグデータを更新する条件は、後述する仮想コンフィグデータ更新確認部322によって仮想コンフィグデータが更新されている場合に限る。
【0028】
仮想コンフィグデータ受信部303は、後述する仮想コンフィグデータ取得部320を呼び出して仮想コンフィグデータを受信する。仮想コンフィグデータ取得部320を呼びだすためのアドレスは、実コンフィグデータ保持部301に保持されるアドレスを用いる。具体的には、図7Aを例に挙げると、設定値識別子702が「device_settings.cloud_address」の値703である「http://canon.com/config」に対してアクセスする。
【0029】
実機器構成データ収集部304は、画像形成装置101の機器構成データを収集する。実機器構成データの例を図6に示す。データ種別602に対してそれぞれ値603が記憶される。機種を識別するための機種コードやファームウェアバージョン、デバイスを識別するためのデバイス識別子、ファクスユニットの有無が挙げられる。
【0030】
テナント識別子保持部305は、画像形成装置101が属するテナント識別子を記憶する。このテナント識別子は画像形成装置101の初期設置時に設定され、電源が切られても失われることがないように補助記憶装置214に記憶される。実機器構成データ通知部306は、実機器構成データ収集部304によって収集した実機器構成データとテナント識別子保持部305によって記憶されたテナント識別子とを合わせて通知する。通知先は、後述する実機器構成データ受信部318である。
【0031】
次に、設定値管理サービス310が有するソフトウェア構成について説明する。設定値管理サービス310は、複数の画像形成装置101A〜101Cの各設定値(コンフィグデータ)を一括管理する機能を提供するサービスである。この設定値管理サービス310は上述のサーバコンピュータ群105上で提供され、複数の部を保持している。以下各部について説明する。
【0032】
仮想デバイス保持部311は、仮想デバイスが保持するデータを記憶する。図8に仮想デバイス保持部311が記憶する仮想デバイスの例を示す。仮想デバイスリスト801は、仮想デバイス保持部311が保持する仮想デバイス全体である。
【0033】
デバイス識別子802は、仮想デバイスリスト801にある複数の仮想デバイスの中の1つを特定するための識別子である。デバイス識別子802は、元々画像形成装置101が記憶する識別子であって、画像形成装置101を一意に識別することができる識別子である。機器構成データの1つとして画像形成装置101から通知される。
【0034】
テナント識別子803は、仮想デバイスに対応する画像形成装置101が属するテナントを特定するための識別子である。仮想機器構成データ804は、仮想デバイスに対応する画像形成装置101の機器構成データである。仮想機器構成データは、図6に示す情報が仮想デバイス保持部311によって別途保持される。仮想機器構成データ804には、図6への参照となる識別子が保持される。
【0035】
仮想コンフィグデータ805は、仮想デバイスに対応する画像形成装置101が参照すべきコンフィグデータである。仮想コンフィグデータは、図7に示す情報が仮想デバイス保持部311によって別途保持される。仮想コンフィグデータ805には、図7への参照となる識別子が保持される。
【0036】
通知フラグ806は、仮想コンフィグデータの更新が行われてから画像形成装置101に通知したかを示すフラグである。仮想コンフィグデータ取得部320により、対応する仮想コンフィグデータが参照されると「済」となる。また、仮想コンフィグデータ更新部317により、対応する仮想コンフィグデータが更新されると「未」となる。
【0037】
機種別設定値スキーマ保持部312は、機種別設定値スキーマを記憶する。画像形成装置101の各機種に対応して1つの機種別設定値スキーマが用意されている。機種別設定値スキーマの例を図4に示す。図4Aは、機種コードが0x01の機種別設定値スキーマの例である。また、図4Bは、機種コードが0x02の機種別設定値スキーマの例である。
【0038】
設定値識別子402は、設定値を一意に識別するための識別子である。ここで、「copy_settings.nup」はコピー設定の面付けに関する設定であることを示す。この設定値識別子402が同じであれば、違う機種であっても同じ種類の設定値であることを示す。
【0039】
デフォルト値403は、その機種におけるデフォルト設定値の定義である。値域404は、その機種における設定可能な範囲の定義である。「copy_settings.nup」の値域404であれば、「1 in 1, 2 in 1, 4 in 1」の3種類から選択できることを示す。
【0040】
条件405は、その機種において設定値を利用するために必要な条件の定義である。「fax_settings.received_print」の条件405には、「ファクスユニット」とあるため、ファクスユニットの装着が確認できた場合のみ有効な設定値であることを示している。
【0041】
機種別設定値スキーマ更新部313は、機種別設定値スキーマ保持部312が保持する機種別設定値スキーマを更新する。新しい機種を画像形成装置のベンダが発表した場合には、ベンダの管理責任者の指示によって新しい機種に対応する機種別設定値スキーマが登録される。また、設定値に変更があった場合は、同様に機種別設定値スキーマを更新する。
【0042】
テナント用コンフィグデータ保持部314は、テナントが保持する画像形成装置101に設定したいコンフィグデータを保持する。テナント用コンフィグデータの例を、図5に示す。設定値識別子502は、図4で説明した機種別設定値スキーマにある設定値識別子402と同等である。値503は、このテナントが所望する共通設定の値である。「copy_settings.nup」には、「2 in 1」が設定されている。これは、テナントが保持する画像形成装置全てに「2 in 1」が設定されることを所望していることを示す。
【0043】
テナント用コンフィグデータ更新部315は、テナント用コンフィグデータ保持部314が保持するテナント用コンフィグデータを更新する。テナント用コンフィグデータを更新するのは、テナントが保持する画像形成装置の管理を行うサービスマンである。更新指示は、サービスマン環境110にある端末装置102Bで動作するウェブブラウザに表示される設定画面から行う。
【0044】
仮想コンフィグデータ生成部316は、機種別設定値スキーマとテナント用コンフィグデータと仮想機器構成データとを用いて仮想コンフィグデータを生成する。その処理内容をステップ毎に説明する。
【0045】
まず、仮想コンフィグデータ生成部316は、仮想デバイス保持部311から仮想機器構成データを取得する。ここで取得した仮想機器構成データに含まれる機種コードを参照し、画像形成装置の機種を特定する。図6Aを例に挙げると、機種コードが0x01の機種であると判定される。
【0046】
次に、機種別設定値スキーマ保持部312から、取得した機種コードに合致する機種別設定値スキーマを取得する。図6Aを例に挙げると、機種コードが0x01に合致する図4Aを取得する。
【0047】
次に、機種別設定値スキーマに定義された設定値を、仮想コンフィグデータのベースとする。図4Aを例に挙げると、次の5つの設定値がベースとなる。「copy_settings.nup」。「device_settings.cloud_address」。「device_settings.sleep_time」。「fax_settings.received_print」。「box_settings.server_address」。
【0048】
次に、テナント用コンフィグデータに登録された値を取得し、機種別設定値スキーマに定義された値域に収まるかを判定する。図4Aと図5を例に挙げると、「copy_settings.nup」は「2 in 1」であり、値域が「1 in 1, 2 in 1, 4 in 1」であるため、値域に収まっている。しかし、「device_settings.sleep_time」は、「10秒」であり、値域が「1分、10分、1時間」であるため、値域に収まらない。値域に収まらない場合は、機種別設定値スキーマに定義されたデフォルト値を取得する。この例では、「10分」となる。
【0049】
次に、機種別設定値スキーマに定義された条件が満たされるか否かを判定する。判定は、機器構成データを用いて行う。図6Aを例に挙げると、「copy_settings.nup」の条件は特にないため、「copy_settings.nup」の条件は満たされる。しかし、「fax_settings.received_print」の条件は「ファクスユニット」であり、機器構成データは「なし」であるため、条件を満たさない。条件を満たす場合は、これまでのステップで決定された値を用いる。一方、条件を満たさない場合は、機種別設定値スキーマに定義されたデフォルト値403を取得する。この例では、「OFF」となる。
【0050】
以上のステップで決定された値が仮想コンフィグデータである。仮想コンフィグデータの例を図7A乃至図7Cに示す。図7Aは、デバイス識別子が010001の画像形成装置に対する仮想コンフィグデータである。また、図7Bは、デバイス識別子が010002の画像形成装置に対する仮想コンフィグデータである。更に、図7Cは、デバイス識別子が020001の画像形成装置に対する仮想コンフィグデータである。
【0051】
仮想コンフィグデータ更新部317は、仮想コンフィグデータ生成部316で生成された仮想コンフィグデータを、仮想デバイス保持部311に登録する。仮想デバイス保持部311が保持する仮想デバイスの中から、デバイス識別子が一致する仮想デバイスを探索して仮想コンフィグデータを更新する。更に、仮想デバイスの通知フラグ806が「済」であれば、「未」に設定する。これは、仮想コンフィグデータが変更され、画像形成装置が新しい仮想コンフィグデータを参照する必要があることを示す。
【0052】
実機器構成データ受信部318は、実機器構成データ通知部306からの通知を受信する。通知される情報は、図6に示す機器構成データと、テナント識別子である。仮想機器構成データ更新部319は、実機器構成データ受信部318で受信した機器構成データを該当する仮想デバイスに仮想機器構成データとして登録する。仮想デバイス保持部311が保持する仮想デバイスの中からデバイス識別子が一致する仮想デバイスを探索して仮想機器構成データを更新する。
【0053】
仮想コンフィグデータ取得部320は、画像形成装置101からインターネット104を介して要求を受け、仮想コンフィグデータを取得する。ここで要求は、少なくとも仮想デバイスを特定するためのデバイス識別子を含んでおり、デバイス識別子が一致する仮想デバイスを探索する。探索された仮想デバイスが保持する仮想コンフィグデータを探索し、仮想コンフィグデータを要求元に渡す。
【0054】
仮想コンフィグデータ閲覧部321は、インターネット104を介して要求を受け、仮想コンフィグデータを閲覧する部である。要求はHTTPプロトコル上の要求であり、仮想コンフィグデータ閲覧部321によって生成されたHTMLページ上で仮想コンフィグデータの閲覧を行う。
【0055】
仮想コンフィグデータ更新確認部322は、仮想コンフィグデータが更新されているか確認する部である。仮想コンフィグデータ受信部303は、インターネット104を介して仮想コンフィグデータ更新確認部322にデバイス識別子を送信する。仮想コンフィグデータ更新確認部322は、仮想デバイス保持部311が保持する仮想デバイスの中から受信したデバイス識別子に一致する仮想デバイスを探索する。探索された仮想デバイスの通知フラグ806が「未」であれば、仮想コンフィグデータの更新があったと判定する。逆に、通知フラグ806が「済」であれば、仮想コンフィグデータの更新はないと判定する。
【0056】
図9は、端末装置102Aを用いて管理者ユーザがテナント用コンフィグデータを更新する処理を説明するためのフローチャートである。フローチャートの各ステップを実行する各部は、不揮発性メモリ252、揮発性メモリ253、補助記憶装置254の何れかの記憶部に記憶され、CPU251により実行される。
【0057】
S901において、テナント用コンフィグデータ更新部315はテナント用コンフィグデータの更新要求を検知する。S902において、テナント用コンフィグデータ更新部315はテナント用コンフィグデータ保持部314にS901で更新要求があったテナント用コンフィグデータが存在するか否かを確認する。存在する場合はS907を実行する。存在しない場合はS903を実行する。
【0058】
S903において、テナント用コンフィグデータ更新部315はテナントが保持する仮想デバイスを仮想デバイス保持部311から探索する。S904において、テナント用コンフィグデータ更新部315はS903で探索した仮想デバイスの仮想機器構成データにある機種コードを参照する。更に、機種コードに合致する機種別設定値スキーマを機種別設定値スキーマ保持部312から探索する。
【0059】
S905において、テナント用コンフィグデータ更新部315はS904で探索した機種別設定値スキーマの少なくとも1つが持つ設定をリストアップする。S906において、テナント用コンフィグデータ更新部315はS905でリストアップした設定を持つテナント用コンフィグデータを生成する。
【0060】
S907において、テナント用コンフィグデータ更新部315はテナント用コンフィグデータの具体的な更新指示を検知する。S908において、テナント用コンフィグデータ更新部315はS907で検知した更新指示に基づいてテナント用コンフィグデータ保持部314が保持するテナント用コンフィグデータを更新する。そして、S909において、仮想コンフィグデータ生成部316はテナント用コンフィグデータの更新を検知する。
【0061】
S910において、仮想コンフィグデータ生成部316は仮想デバイス保持部311が保持する仮想デバイスから更新を検知したテナント用コンフィグデータのテナント識別子に合致する仮想デバイスを探索する。探索された仮想デバイスに対して順次処理を行うため、1つの仮想デバイスを取得する。仮想デバイスを取得したら、S911を実行する。全ての仮想デバイスに対して順次処理が行われ、次の仮想デバイスを取得できない場合には処理を終了する。
【0062】
S911において、仮想コンフィグデータ生成部316は仮想デバイスから仮想機器構成データを取得する。S912において、仮想コンフィグデータ生成部316は仮想機器構成データから機種コードを取得する。更に、機種別設定値スキーマ保持部312が保持する機種別設定値スキーマから機種コードに該当する機種別設定値スキーマを探索する。
【0063】
S913において、仮想コンフィグデータ生成部316は仮想機器構成データ、機種別設定値スキーマ、テナント用コンフィグデータを用いて仮想コンフィグデータを生成する。そして、S914において、仮想コンフィグデータ更新部317はS913で生成した仮想コンフィグデータを仮想デバイスに登録する。
【0064】
図10は、画像形成装置から仮想コンフィグデータを取得する処理を説明するフローチャートである。S1001〜S1008は、画像形成装置で行われるステップである。これらのステップを実行する各部は、不揮発性メモリ212、揮発性メモリ213、補助記憶装置214のいずれかの記憶部に記憶され、CPU211により実行される。
【0065】
S1051〜S1058は、サーバコンピュータ群105で行われるステップである。これらのステップを実行する各部は、不揮発性メモリ252、揮発性メモリ253、補助記憶装置254のいずれかの記憶部に記憶され、CPU251により実行される。
【0066】
S1001において、実機器構成データ通知部306は画像形成装置の電源ONを検知する。S1002において、実機器構成データ収集部304が機器構成データを収集する。S1003において、実機器構成データ通知部306はS1002で収集した実機器構成データを用いて、設定値管理サービス310に未通知の実機器構成データの変更があったか否かを判定する。変更があった場合はS1005を実行する。変更がなかった場合はS1004を実行する。
【0067】
S1004において、仮想コンフィグデータ受信部303はデバイスが最新の仮想コンフィグデータを取得済みか否かを判定する。仮想コンフィグデータ受信部303は、仮想コンフィグデータ更新確認部322を呼びだして判定を行う。S1005において、実機器構成データ通知部306は実機器構成データとテナント識別子を設定値管理サービス310に通知する。設定値管理サービス310側はS1051でこれを検知して処理を行う。詳細は後述する。
【0068】
S1006において、仮想コンフィグデータ受信部303は仮想コンフィグデータの更新が完了するまで処理の実行を待ち合わせる。S1007において、仮想コンフィグデータ受信部303は設定値管理サービス310から仮想コンフィグデータを受信する。更に、実コンフィグデータ更新部302は受信した仮想コンフィグデータを実コンフィグデータとして更新する。実コンフィグデータは、実コンフィグデータ保持部301によって記憶される。
【0069】
S1051において、実機器構成データ受信部318は画像形成装置から通知された実機器構成データとテナント識別子を受信する。S1052において、仮想機器構成データ更新部319が、S1051において受信した実機器構成データとテナント識別子に合致する仮想デバイスを探索する。仮想デバイス保持部311によって保持された仮想デバイスの中から探索を行う。画像形成装置が初めて設定値管理サービス310と通信を行ったケースでは、仮想デバイスが探索できない場合がある。合致する仮想デバイスが探索された場合、S1054を実行する。合致する仮想デバイスが探索できなかった場合、S1053を実行する。
【0070】
S1053において、仮想機器構成データ更新部319が、空の仮想デバイスを生成する。S1054において、仮想機器構成データ更新部319が、S1052において探索されるか、もしくはS1053において生成された、仮想デバイスの仮想機器構成データを更新する。S1051において受信した実機器構成データの内容が、新しい仮想機器構成データとなる。
【0071】
S1055において、仮想コンフィグデータ生成部316は、更新された仮想機器構成データから機種コードを取得する。更に、機種コードに該当する機種別設定値スキーマを機種別設定値スキーマ保持部312から取得する。S1056において、仮想コンフィグデータ生成部316は、テナント用コンフィグデータを取得する。テナント用コンフィグデータは、テナント用コンフィグデータ保持部314が保持するテナント用コンフィグデータから、テナント識別子が合致するものを探索する。
【0072】
S1057において、仮想コンフィグデータ生成部316は、仮想コンフィグデータを生成する。仮想コンフィグデータの生成は、仮想機器構成データ、機種別設定値スキーマ、テナント用コンフィグデータを用いて行う。S1058において、仮想コンフィグデータ更新部317は、S1057において生成された仮想コンフィグデータを、該当する仮想デバイスに登録する。
【0073】
次に、サーバコンピュータの設定値管理サービス310から画像形成装置101へ設定値をダウンロードする処理を説明する。まず、ダウンロードされる設定値のデータ構造を、図11を用いて説明する。図11に示すように、設定値管理サービス310の仮想デバイス保持部311の中にはデータが階層化されてクラスタリングされた状態で保持されている。この例では、木(Tree)構造の階層構造を持っている状態として示す。図5で説明した個別のコンフィグデータは「意味のある塊」毎に階層化されて規定されている。
【0074】
実際に、機器を運用する画像形成装置101内には、実コンフィグデータ保持部301があり、仮想デバイス保持部311と同一な階層管理がなされたデータベースとして保持されている。仮想デバイス保持部311に対してコンフィグデータの更新があった際には、画像形成装置101内の実コンフィグデータ保持部301にも反映させる。
【0075】
この反映作業の際に、全てのデータを全て同期させることは性能面での劣化につながる可能性が高くなる。これを回避するために必要なタイミングで必要なデータのみをロードし、データの同期制御を行うことが必要になる。
【0076】
図11に示す例では、印刷に関する設定項目だけをダウンロードし、同期するイメージを示している。このクラスタ1101は実コンフィグデータ保持部301が保持する設定値群のサブセットであり、「print_settings」という最上位階層で規定される印刷設定のデータクラスタである。上述のように、このクラスタ1101と同じ階層構造のクラスタ1102が仮想デバイス保持部311の中のサブセットとして保持されている。
【0077】
仮想デバイス保持部311内のデータが書き換えられるなどの更新があった場合、その更新に同期して画像形成装置101内の実コンフィグデータ保持部301にも反映させる処理を行う。具体的には、ダウンロード対象がクラスタ1102の場合、仮想コンフィグデータ取得部320が仮想デバイス保持部311からクラスタ1102を取得する。尚、仮想デバイス保持部311が保持する設定値を実コンフィグデータ保持部301へダウンロードするロード条件については、図12を用いて更に後述する。
【0078】
この際に、クラスタ1102の中で通知フラグ806(図8)が「未」の状態のデータが含まれているものをロードクラスタ1103として取り出す。そして、インターネット104を介して仮想コンフィグデータ受信部303がロードクラスタ1103を受信し、実コンフィグデータ保持部301に保存する。これにより、設定値管理サービス310と画像形成装置101との間で印刷設定に関するコンフィグデータを同期させることが可能となる。
【0079】
ここで、ロードタイミング及びロードクラスタを決定する方法を、図12を用いて説明する。図12のロード制御テーブル1201は、ロード条件とロード対象のクラスタとを関連付けたロード規則である。本実施形態では、最低限、ロード条件1202と、ロード対象1203とが含まれていることが必須である。
【0080】
ロード条件1202には、ユーザによる操作やジョブの投入終了などのステータス変化による画像形成装置101内の状態遷移のトリガが記載されている。そして、ロード条件1202に関連付けてロード対象1203が規定されている。このロード対象1203が図11に示すロードクラスタ1103である。
【0081】
ロード制御テーブル1201に従えば、例えばサービスマンがサービスモードの画面に入る操作を行った際に「service_settings」というロードクラスタをロードするトリガとする。印刷ジョブを受け付けると、「pdl_settings」というロードクラスタをロードするトリガとする。ユーザがログインした際には、ユーザのお気に入り設定である「favorite_settings”」というロードクラスタをロードするトリガとする。このように、状態遷移とロードクラスタの規定が記載されている。
【0082】
次に、画像形成装置101において、ロード条件が発生した際に、ロード制御テーブル1201に基づいてダウンロードされたロード対象のクラスタを実コンフィグデータ保持部301に上書きする処理を、図13を用いて説明する。
【0083】
まず、S1301において、画像形成装置101の仮想コンフィグデータ受信部303がロード制御テーブル1201に規定されているロード条件1202の発生を監視し、発生を検知すると、S1302へ処理を進める。S1302では、仮想コンフィグデータ受信部303はロード制御テーブル1201に従って、ロード対象1203のクラスタを決定する。
【0084】
次に、S1303において、仮想コンフィグデータ受信部303は決定されたクラスタのロード要求を設定値管理サービス310側に要求する。そして、S1304において、設定値管理サービス310側の仮想コンフィグデータ取得部320が対象のクラスタ内において通知フラグが「未」の状態のデータをクラスタリングする。
【0085】
尚、図8に示す例では、仮想コンフィグデータ1つにつき通知フラグ806を1つだけ持つ構成として示しているが、クラスタ単位や項目単位に制御する構成でもよい。また、仮想コンフィグデータに対して1つの通知フラグの形態の場合は全てのクラスタがダウンロードされた時点で仮想コンフィグデータ取得部320が通知フラグを「未」から「済」に更新する。そして、クラスタ単位の場合はそのクラスタがダウンロードされた時点で、項目単位の場合はその項目がダウンロードされた時点で、通知フラグを「未」から「済」に更新する。
【0086】
次に、S1305において、仮想コンフィグデータ受信部303が仮想コンフィグデータ取得部320からダウンロードされたクラスタを受信する。そして、S1306において、実コンフィグデータ更新部302が実コンフィグデータ保持部301にそのクラスタを上書きすることで画像形成装置101の設定値として利用することが可能となる。
【0087】
上述のように、ユーザやデバイスが必要とするタイミングで必要最小限の設定値を設定値管理サービス310から受信して同期させることが可能となり、最適なパフォーマンスを出すことができる。
【0088】
尚、図12に示すロード制御テーブル1201自体は、画像形成装置101内の不揮発性メモリ212やサーバコンピュータ205内の不揮発性メモリ252などに保持され、他の設定値と同様に同期反映される。
【0089】
また、ロード制御テーブル1201は、初期状態では不揮発メモリ212に保持されておらず、仮想デバイス保持部311にのみ保持されているものとする。そして、画像形成装置101が初めて設定値管理サービス310と接続した際に、無条件にロード制御テーブル1201をダウンロードし、実コンフィグデータ保持部301の一部として保存する。以降、画像形成装置101はロード制御テーブル1201に従って、設定値をロードし同期する。ロード制御テーブル1201のロード規則そのものもロード制御テーブル自体に記載され、これに従ってロード規則そのもののアップデートを行うことができる。これによりロードの仕組みを柔軟に変更することが可能になる。
【0090】
次に、本発明に係る別の実施の形態について説明する。別の実施の形態として基本的なシステム構成は上述した実施の形態と同一であるが、図12に示したロード制御テーブル1201の代わりに図14に示す別のロード規則テーブル1401を利用する。
【0091】
ロード規則テーブル1401には、ロード制御テーブル1201と同様に、ロード条件1402とロード対象1403とが含まれる。これに加えてクラスタ利用種別1404とクラスタ破棄タイミング1405の項目が規定されている。
【0092】
図14に示す例では、クラスタ利用種別1404に「同期」と「ワンタイム」の情報が示されている。「同期」は上述した実施形態と同様に、ダウンロードした設定値を機器内の実コンフィグデータ保持部301に同期、つまり上書きして利用することを意味する。また、「ワンタイム」は実コンフィグデータ保持部301に対して同期を行わずにダウンロードした設定値データをテンポラリに利用する。この「ワンタイム」の場合、クラスタ破棄タイミング1405に記載されたタイミングで破棄対象のデータを破棄する。
【0093】
このワンタイム利用時における処理を、図15、図16に示すフローチャート、図17に示すモジュール構造図を用いて説明する。図15は、別の実施の形態における設定値をダウンロードする際のフローチャートであり、上述した実施の形態における図13に示すフローチャートの代わりに実行される。
【0094】
まず、S1501において、画像形成装置101の仮想コンフィグデータ受信部303がロード規則テーブル1401に示されるロード条件の発生を監視し、発生を検知するとS1502へ処理を進める。このS1502では、仮想コンフィグデータ受信部303はロード規則テーブル1401に従って、ロードクラスタを決定する。
【0095】
次に、S1503において、仮想コンフィグデータ受信部303は対象クラスタのロード要求を設定値管理サービス310側に要求する。そして、S1504において、設定値管理サービス310側の仮想コンフィグデータ取得部320が対象のクラスタ内において通知フラグ806が「未」の状態のデータをクラスタリングする。尚、通知フラグ806については上述した実施形態と同様であり、その説明は省略する。
【0096】
次に、S1505において、仮想コンフィグデータ取得部320からダウンロードされたクラスタを画像形成装置101の仮想コンフィグデータ受信部303が受信する。次に、S1506において、実コンフィグデータ更新部302がロード規則テーブル1401に基づいて対象クラスタのクラスタ利用種別1404を確認する。確認の結果、「同期」であればS1508へ処理を進め、実コンフィグデータ更新部302はクラスタを実コンフィグデータとして上書きする。
【0097】
また、上述の確認の結果、対象クラスタのクラスタ利用種別1404が「ワンタイム」のクラスタであればS1507へ処理を進める。S1507では、実コンフィグデータ更新部302はクラスタを実コンフィグデータにマージせず、Temp動作モードをON状態にする。このTemp動作モードの詳細については更に後述する。
【0098】
ここで、ワンタイムクラスタの破棄に関する処理を、図16のフローチャートを用いて説明する。まず、S1601において、画像形成装置101の実コンフィグデータ更新部302がロード規則テーブル1401のクラスタ破棄タイミングの発生を監視しており、発生を検知すると、S1602へ処理を進める。S1602では、実コンフィグデータ更新部302はロード規則テーブル1401に従って破棄クラスタを決定する。
【0099】
次に、S1603において、実コンフィグデータ更新部302は対象クラスタに対するTemp動作モードがONでなければS1601へ処理を戻すが、ONであればS1604へ処理を進め、対象クラスタ自体を破棄する。そして、S1605において、実コンフィグデータ更新部302は対象クラスタのTemp動作モードをOFFに戻す。
【0100】
次に、上述のTemp動作モードの詳細を、図17を用いて説明する。画像形成装置101内の実コンフィグデータ保持部301は、初期状態では内部に単一のデータベースであるMainDB1703を保持している。また、画像形成装置101内の各設定値利用モジュール1701は、実コンフィグデータ保持部301が提供する機器内インターフェース1702を介して設定値を取得する。
【0101】
上述したロード規則テーブル1401のクラスタ利用種別1404が「同期」の場合はこのロードした設定データをMainDB1703にマージして利用する。また、クラスタ利用種別1404が「ワンタイム」の場合は図16に示すフローチャートのように、データをMainDB1703にマージせず、そのままSubsetDB1704の状態で保持する。この状態で実コンフィグデータ保持部301はこのクラスタに対してTemp動作モードがONの状態で動作するようになる。
【0102】
このTemp動作モードがONの場合、MainDB1703に対象のデータが存在していたとしても、各設定値利用モジュール1701からのアクセスに対してはSubsetDB1704からデータを引き出してデータを参照させるという動きで実装される。
【0103】
これにより、各設定値利用モジュール1701からは、クラスタ利用種別1404が「ワンタイム」であっても「同期」であっても区別なく同様に、アクセスすることが可能になる。「ワンタイム」の情報は図17に示すように、破棄タイミングになれば破棄されて元のMainDB1703の値を参照する状態に戻るため、以降は元々デバイス内に存在していた値を参照する状態になる。
【0104】
従って、ユーザ毎に異なる設定を利用したいユースケースシーンなどでは画像形成装置101のデフォルト設定をキープしつつ、各ユーザが自分の所望の設定状態で利用することなどが実現できる。
【0105】
次に、本発明に係る実施形態の変形例を説明する。図1に示すネットワークにおいて、設定値管理サービス310はサーバコンピュータ群105の何れかのサーバコンピュータが実行することを想定しているが、別の構成でも良い。例えば、サーバコンピュータ群が、ただ1つのサーバコンピュータ205のみによって構成されていてもよい。もしくは、ユーザ環境100、サービスマン環境110、画像形成装置のベンダ環境120などの中に構成されていてもよい。
【0106】
図1に示すネットワーク図において、サービスマンはサービスマン環境110に配置された端末装置102Bを利用することを想定しているが、別の構成であってもよい。例えば、サービスマンがユーザの許可のもとでユーザ環境100に配置された端末装置102Aを利用する構成であってもよい。
【0107】
図2に示すハードウェア構成図において、サーバコンピュータ205、206がネットワーク260で通信を行っているが、別の構成であってもよい。例えば、インターネット104を介して通信を行ってもよい。
【0108】
図3に示すソフトウェア構成図において、実コンフィグデータ保持部301が補助記憶装置214に実コンフィグデータを記憶しているが、別の構成であってもよい。例えば、揮発性メモリ213に一時的に記憶する構成であってもよい。この場合、電源をOFFにすると実コンフィグデータが失われるため、デバイスの電源をONにするたびに仮想コンフィグデータ受信部303が仮想コンフィグデータを受信する必要がある。具体的な処理の流れで示すと、図10のS1004で、仮想コンフィグデータの更新判定を行う必要がなく、常にS1007を実行する構成となる。
【0109】
図3に示すソフトウェア構成図において、実機器構成データ収集部304は画像形成装置の電源をONにするたびに、実機器構成データの収集を行うが、別の構成であってもよい。例えば、実機器構成データ保持部を備え、その実機器構成データ保持部が実機器構成データを補助記憶装置214に常に記憶する構成であってもよい。この場合、実機器構成データの変更に応じて、実機器構成データ保持部が保持する実機器構成データを速やかに書き換える構成である必要がある。そのため、実機器構成データ収集部304は、実機器構成データの変更を見張り、変更内容を検知したら実機器構成データ保持部に対して変更内容を更新する必要がある。更に、実機器構成データ通知部306は、実機器構成データ保持部に対して実機器構成データを要求する構成となる。
【0110】
図3に示すソフトウェア構成図において、テナント識別子保持部305は補助記憶装置214にテナント識別子を記憶するが、別の構成であってもよい。例えば、ユーザが入力装置216を用いてテナント識別子を毎回入力する構成であってもよい。入力するタイミングは、画像形成装置の起動時であってもよいし、別のタイミングであってもよい。この場合、テナント識別子は揮発性メモリ213に記憶される。
【0111】
図3に示すソフトウェア構成図において、実機器構成データ通知部306は画像形成装置が電源ONになったことを検知して処理を行うが、別の構成であってもよい。例えば、ユーザが入力装置216を用いて仮想コンフィグデータの取得を指示する構成であってもよい。この場合、図10のS1001において、仮想コンフィグデータの取得指示を検知することでS1002以降を実行する構成となる。
【0112】
図3に示すソフトウェア構成図において、仮想デバイス保持部311は図8に示すように仮想機器構成データと仮想コンフィグデータを識別するための識別子を保持していたが、別の構成であってもよい。例えば、識別子ではなくデータの実体を保持する構成であってもよい。
【0113】
図3に示すソフトウェア構成図において、仮想コンフィグデータ生成部316は機種別設定値スキーマ、テナント用コンフィグデータ、仮想機器構成データから仮想コンフィグデータを生成するが、別の構成であってもよい。例えば、機種別設定値スキーマとテナント用コンフィグデータの2点から、機種に合わせた仮想コンフィグデータを生成する構成であってもよい。この場合、画像形成装置は実コンフィグデータを参照する際に機器構成に合わせて参照する構成となる。
【0114】
別の例として、更にライセンスデータを用いて仮想コンフィグデータを生成する構成であってもよい。その場合、画像形成装置が備えるオプション機能に合わせた仮想コンフィグデータが生成される構成となる。
【0115】
[他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、画像形成装置の動作を切り替えるための設定値(コンフィグデータ)を一括管理する技術に関する。
【背景技術】
【0002】
従来、画像形成装置の動作を切り替えるための設定値(コンフィグデータ)を記憶している画像形成装置がある。ここで、コンフィグデータは各画像形成装置が備える記憶装置に記憶されているため、全ての画像形成装置のコンフィグデータを変更するには画像形成装置の台数だけ設定を行う必要がある。
【0003】
この手間を省くため、ある情報処理装置から複数の画像形成装置にコンフィグデータの一括設定を行う技術が存在する。また、コンフィグデータをネットワーク参照可能な場所に配置し、複数の画像形成装置がコンフィグデータを参照することで、コンフィグデータの一括管理を行う技術が存在する(例えば、特許文献1)。
【0004】
また、ネットワーク越しに設定データを参照する際には、その負荷を軽減するために、予め設定した時刻などで設定データを同期する技術などが存在する(例えば、特許文献2)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−130838号公報
【特許文献2】特開2009−033706号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記従来技術では、画像形成装置の機種や画像形成装置が備えるハードウェアオプションなどに影響を受け、値に制約が発生するコンフィグデータに対して運用できないという問題があった。また、データの同期については、ユーザのオペレーションや機器上で行われる作業と設定データの同期処理が競合するなどの問題があった。
【0007】
本発明は、ユーザのオペレーションや機器の状態に基づいて最適なデータ同期の仕組みを提供できる装置及び方法を提供する。
【課題を解決するための手段】
【0008】
本発明は、画像形成装置の設定値を設定値管理装置が管理する画像形成装置であって、
規定された条件が発生した際に、当該条件に関連付けられた設定値のダウンロードを前記設定値管理装置に要求する手段と、
前記設定値管理装置で管理されている設定値の中から前記要求された設定値がダウンロードされ、当該ダウンロードされた設定値を前記条件に関連付けられた設定値として利用する手段と、
を有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、ユーザのオペレーションや機器の状態に基づいて最適なデータ同期の仕組みを提供することができる。
【図面の簡単な説明】
【0010】
【図1】複数の画像形成装置のネットワーク構成の一例を示す図。
【図2】図1に示す各装置のハードウェア構成の一例を示す図。
【図3】設定値管理サービス及び画像形成装置のソフトウェア構成の一例を示す図。
【図4】機種別設定値スキーマの一例を示す図。
【図5】テナント用コンフィグデータの一例を示す図。
【図6】実機器構成データの一例を示す図。
【図7】実コンフィグデータ保持部の構成の一例を示す図。
【図8】仮想デバイス保持部の構成の一例を示す図。
【図9】テナント用コンフィグデータの更新処理を示すフローチャート。
【図10】仮想コンフィグデータの取得処理を示すフローチャート。
【図11】ダウンロードされるデータの構造を示す図。
【図12】ロード制御テーブルの構成を示す図。
【図13】ダウンロードされた設定値を上書きする処理を示すフローチャート。
【図14】別の実施形態におけるロード規則テーブルの構成を示す図。
【図15】別の実施形態における設定値をダウンロードする際のフローチャート。
【図16】ワンタイムクラスタの破棄に関する処理を示すフローチャート。
【図17】Temp動作モードの詳細を説明するための図。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。
【0012】
まず、以下の実施形態で使用する用語の定義を行う。設定値(コンフィグデータ)とは、画像形成装置の動作を切り替えるためのデータである。例えば、コピージョブの面付けのデフォルト値などが該当する。「1in1」に設定されていれば、コピーを行った結果、用紙一枚に1ページが印刷される。「2in1」に設定されていれば、コピーを行った結果、用紙一枚に2ページが印刷される。
【0013】
機器構成データとは、画像形成装置が備える機器の構成を示すデータである。例えば、ファクスユニットを装着しているかを表すデータなどが該当する。更に、画像形成装置の機種を一意に識別するための機種コード、動作しているファームウェアのバージョンなどを含む。
【0014】
機種別設定値スキーマとは、画像形成装置が特定の機種で保持するコンフィグデータのスキーマを定義するデータである。ここで、スキーマとは、コンフィグデータについての規約や位置付けを定義するデータである。例えば、各コンフィグデータの設定値識別子、デフォルト値、値域、データが有効になるための条件が機種別設定値スキーマに含まれる。尚、機種によって保持するコンフィグデータには差分があり、設定値スキーマを機種別に用意する運用であることを前提とする。
【0015】
仮想デバイスとは、サーバコンピュータ群が保持する実デバイスのデータ群である。具体的には、機器構成データ、コンフィグデータを少なくとも含む。
【0016】
テナントとは、ユーザが画像形成装置の管理を委託する委託者の単位である。また、テナント識別子とは、テナントを一意に識別するための識別子である。例えば、ある会社がユーザ環境にある3台の画像形成装置の管理をテナントに委託したと仮定する。その場合、ユーザ環境に対応するテナント識別子が1つ割り当てられ、3台の画像形成装置はそのテナントに属する画像形成装置であると認識され、一括管理される。
【0017】
ここで、仮想デバイスに含まれるデータ、実デバイスが保持するデータ、テナント専用のデータを区別して呼ぶために、次のように定義する。仮想デバイスに含まれる機器構成データを仮想機器構成データと呼び、仮想デバイスの設定値(コンフィグデータ)を仮想設定値(仮想コンフィグデータ)と呼ぶ。実デバイスが保持する機器構成データを実機器構成データと呼び、実デバイスの設定値(コンフィグデータ)を実設定値(実コンフィグデータ)と呼ぶ。テナント内で共通で利用したい設定値(コンフィグデータ)をテナント用設定値(テナント用コンフィグデータ)と呼ぶ。尚、ここで説明した以外にも適宜用語の説明を行う。
【0018】
次に、複数の画像形成装置のネットワーク構成の一例を、図1を用いて説明する。画像形成装置101(101A〜101C)は、詳細は後述する設定値管理サービス310によって一括管理され、それぞれネットワーク106を介してインターネット104にアクセス可能である。
【0019】
端末装置102Aは、ユーザ環境100のユーザが操作可能なコンピュータであって、ネットワーク106を介してインターネット104にアクセス可能である。また、端末装置102Bは、画像形成装置101を管理するサービスマンが操作可能なコンピュータであって、インターネット104にアクセス可能である。更に、端末装置102Cは、画像形成装置101のベンダに所属する管理担当者が操作可能なコンピュータであって、インターネット104にアクセス可能である。インターネット104は、インターネットプロトコル技術を利用して相互接続されたコンピュータネットワークである。
【0020】
サーバコンピュータ群105は、インターネット104を介して複数のサービスを提供するサーバ群である。ネットワーク106は、ユーザ環境100においてデジタル通信が可能なネットワークである。サービスマン環境110は、サービスマンが端末装置102Bを使って画像形成装置の管理を行う環境である。画像形成装置のベンダ環境120は、画像形成装置を生産するベンダの管理担当者が、端末装置102Cを使って画像形成装置の管理に必要なデータのメンテナンスを行う環境である。
【0021】
ここで、画像形成装置101、端末装置102、サーバコンピュータ群105のハードウェア構成の一例を、図2を用いて説明する。まず、画像形成装置101のCPU211は、プログラムの実行や様々な処理の制御を行う。不揮発性メモリ212は、ROMから構成され、機器の起動処理において初期段階に必要なプログラムやデータ等が格納されている。揮発性メモリ213は、RAMから構成され、プログラム、データの一時的な格納場所として利用される。補助記憶装置214は、ハードディスクやRAMドライブ等の大容量記憶装置から構成され、大容量データの保管、プログラムの実行コードの保持を行う。揮発性メモリ213と比較して長時間保持する必要があるデータを記憶する。補助記憶装置214は不揮発性の記憶装置であるため、電源が切られてもデータを記憶し続けることができる。
【0022】
ディスプレイ215は、利用者に情報を伝えるための装置である。ここで、利用者とは、ユーザとサービスマンを想定する。入力装置216は、利用者から選択指示を受け付けて内部バス210を介してプログラムに伝達するための装置である。ネットワーク通信装置217は、別の情報処理装置とネットワークを介して通信するための装置である。ファクスユニット218は、画像形成装置101が形成した画像データか、もしくは補助記憶装置に記憶された画像データを、ネットワーク106を介して別の情報機器に送付するためのハードウェアユニットである。ファクスユニット218はオプションであり、個体によって装着されてない可能性がある。
【0023】
プリンタエンジン219は、画像形成装置101で形成された画像データか、もしくは補助記憶装置に記憶された画像データを、紙媒体に印刷する機能を有する。そして、内部バス210は、CPU211、不揮発性メモリ212、揮発性メモリ213、補助記憶装置214、ディスプレイ215、入力装置216、ネットワーク通信装置217を画像形成装置101内で通信可能な状態に接続する通信バスである。
【0024】
サーバコンピュータ群105は、ネットワーク260を介して接続された複数のサーバコンピュータ205、206で構成されている。内部バス250は、サーバコンピュータ205の備えるCPU251、不揮発性メモリ252、揮発性メモリ253、補助記憶装置254、ネットワーク通信装置257をサーバコンピュータ205内で通信可能な状態に接続する通信バスである。ネットワーク260は、サーバコンピュータ群105を構成するサーバコンピュータ同士の高速通信を可能とするネットワークである。
【0025】
尚、端末装置102のハードウェア構成は、画像形成装置101のハードウェア構成において、ファクスユニット218及びプリンタエンジン219を除いた構成であり、その説明は省略する。
【0026】
次に、サーバコンピュータ群105の1つのサーバコンピュータにて実行される設定値管理サービス310及び画像形成装置101のソフトウェア構成の一例を、図3を用いて説明する。
【0027】
まず、画像形成装置101が有するソフトウェア構成について説明する。実コンフィグデータ保持部301は、画像形成装置101のコンフィグデータを補助記憶装置214に保持し、画像形成装置101は保持された実コンフィグデータに基づいて動作の振る舞いを切り替える。実コンフィグデータ更新部302は、実コンフィグデータ保持部301によって保持された実コンフィグデータを更新する。実コンフィグデータは、後述する仮想コンフィグデータ受信部303で受信された仮想コンフィグデータを用いて更新される。また、実コンフィグデータを更新する条件は、後述する仮想コンフィグデータ更新確認部322によって仮想コンフィグデータが更新されている場合に限る。
【0028】
仮想コンフィグデータ受信部303は、後述する仮想コンフィグデータ取得部320を呼び出して仮想コンフィグデータを受信する。仮想コンフィグデータ取得部320を呼びだすためのアドレスは、実コンフィグデータ保持部301に保持されるアドレスを用いる。具体的には、図7Aを例に挙げると、設定値識別子702が「device_settings.cloud_address」の値703である「http://canon.com/config」に対してアクセスする。
【0029】
実機器構成データ収集部304は、画像形成装置101の機器構成データを収集する。実機器構成データの例を図6に示す。データ種別602に対してそれぞれ値603が記憶される。機種を識別するための機種コードやファームウェアバージョン、デバイスを識別するためのデバイス識別子、ファクスユニットの有無が挙げられる。
【0030】
テナント識別子保持部305は、画像形成装置101が属するテナント識別子を記憶する。このテナント識別子は画像形成装置101の初期設置時に設定され、電源が切られても失われることがないように補助記憶装置214に記憶される。実機器構成データ通知部306は、実機器構成データ収集部304によって収集した実機器構成データとテナント識別子保持部305によって記憶されたテナント識別子とを合わせて通知する。通知先は、後述する実機器構成データ受信部318である。
【0031】
次に、設定値管理サービス310が有するソフトウェア構成について説明する。設定値管理サービス310は、複数の画像形成装置101A〜101Cの各設定値(コンフィグデータ)を一括管理する機能を提供するサービスである。この設定値管理サービス310は上述のサーバコンピュータ群105上で提供され、複数の部を保持している。以下各部について説明する。
【0032】
仮想デバイス保持部311は、仮想デバイスが保持するデータを記憶する。図8に仮想デバイス保持部311が記憶する仮想デバイスの例を示す。仮想デバイスリスト801は、仮想デバイス保持部311が保持する仮想デバイス全体である。
【0033】
デバイス識別子802は、仮想デバイスリスト801にある複数の仮想デバイスの中の1つを特定するための識別子である。デバイス識別子802は、元々画像形成装置101が記憶する識別子であって、画像形成装置101を一意に識別することができる識別子である。機器構成データの1つとして画像形成装置101から通知される。
【0034】
テナント識別子803は、仮想デバイスに対応する画像形成装置101が属するテナントを特定するための識別子である。仮想機器構成データ804は、仮想デバイスに対応する画像形成装置101の機器構成データである。仮想機器構成データは、図6に示す情報が仮想デバイス保持部311によって別途保持される。仮想機器構成データ804には、図6への参照となる識別子が保持される。
【0035】
仮想コンフィグデータ805は、仮想デバイスに対応する画像形成装置101が参照すべきコンフィグデータである。仮想コンフィグデータは、図7に示す情報が仮想デバイス保持部311によって別途保持される。仮想コンフィグデータ805には、図7への参照となる識別子が保持される。
【0036】
通知フラグ806は、仮想コンフィグデータの更新が行われてから画像形成装置101に通知したかを示すフラグである。仮想コンフィグデータ取得部320により、対応する仮想コンフィグデータが参照されると「済」となる。また、仮想コンフィグデータ更新部317により、対応する仮想コンフィグデータが更新されると「未」となる。
【0037】
機種別設定値スキーマ保持部312は、機種別設定値スキーマを記憶する。画像形成装置101の各機種に対応して1つの機種別設定値スキーマが用意されている。機種別設定値スキーマの例を図4に示す。図4Aは、機種コードが0x01の機種別設定値スキーマの例である。また、図4Bは、機種コードが0x02の機種別設定値スキーマの例である。
【0038】
設定値識別子402は、設定値を一意に識別するための識別子である。ここで、「copy_settings.nup」はコピー設定の面付けに関する設定であることを示す。この設定値識別子402が同じであれば、違う機種であっても同じ種類の設定値であることを示す。
【0039】
デフォルト値403は、その機種におけるデフォルト設定値の定義である。値域404は、その機種における設定可能な範囲の定義である。「copy_settings.nup」の値域404であれば、「1 in 1, 2 in 1, 4 in 1」の3種類から選択できることを示す。
【0040】
条件405は、その機種において設定値を利用するために必要な条件の定義である。「fax_settings.received_print」の条件405には、「ファクスユニット」とあるため、ファクスユニットの装着が確認できた場合のみ有効な設定値であることを示している。
【0041】
機種別設定値スキーマ更新部313は、機種別設定値スキーマ保持部312が保持する機種別設定値スキーマを更新する。新しい機種を画像形成装置のベンダが発表した場合には、ベンダの管理責任者の指示によって新しい機種に対応する機種別設定値スキーマが登録される。また、設定値に変更があった場合は、同様に機種別設定値スキーマを更新する。
【0042】
テナント用コンフィグデータ保持部314は、テナントが保持する画像形成装置101に設定したいコンフィグデータを保持する。テナント用コンフィグデータの例を、図5に示す。設定値識別子502は、図4で説明した機種別設定値スキーマにある設定値識別子402と同等である。値503は、このテナントが所望する共通設定の値である。「copy_settings.nup」には、「2 in 1」が設定されている。これは、テナントが保持する画像形成装置全てに「2 in 1」が設定されることを所望していることを示す。
【0043】
テナント用コンフィグデータ更新部315は、テナント用コンフィグデータ保持部314が保持するテナント用コンフィグデータを更新する。テナント用コンフィグデータを更新するのは、テナントが保持する画像形成装置の管理を行うサービスマンである。更新指示は、サービスマン環境110にある端末装置102Bで動作するウェブブラウザに表示される設定画面から行う。
【0044】
仮想コンフィグデータ生成部316は、機種別設定値スキーマとテナント用コンフィグデータと仮想機器構成データとを用いて仮想コンフィグデータを生成する。その処理内容をステップ毎に説明する。
【0045】
まず、仮想コンフィグデータ生成部316は、仮想デバイス保持部311から仮想機器構成データを取得する。ここで取得した仮想機器構成データに含まれる機種コードを参照し、画像形成装置の機種を特定する。図6Aを例に挙げると、機種コードが0x01の機種であると判定される。
【0046】
次に、機種別設定値スキーマ保持部312から、取得した機種コードに合致する機種別設定値スキーマを取得する。図6Aを例に挙げると、機種コードが0x01に合致する図4Aを取得する。
【0047】
次に、機種別設定値スキーマに定義された設定値を、仮想コンフィグデータのベースとする。図4Aを例に挙げると、次の5つの設定値がベースとなる。「copy_settings.nup」。「device_settings.cloud_address」。「device_settings.sleep_time」。「fax_settings.received_print」。「box_settings.server_address」。
【0048】
次に、テナント用コンフィグデータに登録された値を取得し、機種別設定値スキーマに定義された値域に収まるかを判定する。図4Aと図5を例に挙げると、「copy_settings.nup」は「2 in 1」であり、値域が「1 in 1, 2 in 1, 4 in 1」であるため、値域に収まっている。しかし、「device_settings.sleep_time」は、「10秒」であり、値域が「1分、10分、1時間」であるため、値域に収まらない。値域に収まらない場合は、機種別設定値スキーマに定義されたデフォルト値を取得する。この例では、「10分」となる。
【0049】
次に、機種別設定値スキーマに定義された条件が満たされるか否かを判定する。判定は、機器構成データを用いて行う。図6Aを例に挙げると、「copy_settings.nup」の条件は特にないため、「copy_settings.nup」の条件は満たされる。しかし、「fax_settings.received_print」の条件は「ファクスユニット」であり、機器構成データは「なし」であるため、条件を満たさない。条件を満たす場合は、これまでのステップで決定された値を用いる。一方、条件を満たさない場合は、機種別設定値スキーマに定義されたデフォルト値403を取得する。この例では、「OFF」となる。
【0050】
以上のステップで決定された値が仮想コンフィグデータである。仮想コンフィグデータの例を図7A乃至図7Cに示す。図7Aは、デバイス識別子が010001の画像形成装置に対する仮想コンフィグデータである。また、図7Bは、デバイス識別子が010002の画像形成装置に対する仮想コンフィグデータである。更に、図7Cは、デバイス識別子が020001の画像形成装置に対する仮想コンフィグデータである。
【0051】
仮想コンフィグデータ更新部317は、仮想コンフィグデータ生成部316で生成された仮想コンフィグデータを、仮想デバイス保持部311に登録する。仮想デバイス保持部311が保持する仮想デバイスの中から、デバイス識別子が一致する仮想デバイスを探索して仮想コンフィグデータを更新する。更に、仮想デバイスの通知フラグ806が「済」であれば、「未」に設定する。これは、仮想コンフィグデータが変更され、画像形成装置が新しい仮想コンフィグデータを参照する必要があることを示す。
【0052】
実機器構成データ受信部318は、実機器構成データ通知部306からの通知を受信する。通知される情報は、図6に示す機器構成データと、テナント識別子である。仮想機器構成データ更新部319は、実機器構成データ受信部318で受信した機器構成データを該当する仮想デバイスに仮想機器構成データとして登録する。仮想デバイス保持部311が保持する仮想デバイスの中からデバイス識別子が一致する仮想デバイスを探索して仮想機器構成データを更新する。
【0053】
仮想コンフィグデータ取得部320は、画像形成装置101からインターネット104を介して要求を受け、仮想コンフィグデータを取得する。ここで要求は、少なくとも仮想デバイスを特定するためのデバイス識別子を含んでおり、デバイス識別子が一致する仮想デバイスを探索する。探索された仮想デバイスが保持する仮想コンフィグデータを探索し、仮想コンフィグデータを要求元に渡す。
【0054】
仮想コンフィグデータ閲覧部321は、インターネット104を介して要求を受け、仮想コンフィグデータを閲覧する部である。要求はHTTPプロトコル上の要求であり、仮想コンフィグデータ閲覧部321によって生成されたHTMLページ上で仮想コンフィグデータの閲覧を行う。
【0055】
仮想コンフィグデータ更新確認部322は、仮想コンフィグデータが更新されているか確認する部である。仮想コンフィグデータ受信部303は、インターネット104を介して仮想コンフィグデータ更新確認部322にデバイス識別子を送信する。仮想コンフィグデータ更新確認部322は、仮想デバイス保持部311が保持する仮想デバイスの中から受信したデバイス識別子に一致する仮想デバイスを探索する。探索された仮想デバイスの通知フラグ806が「未」であれば、仮想コンフィグデータの更新があったと判定する。逆に、通知フラグ806が「済」であれば、仮想コンフィグデータの更新はないと判定する。
【0056】
図9は、端末装置102Aを用いて管理者ユーザがテナント用コンフィグデータを更新する処理を説明するためのフローチャートである。フローチャートの各ステップを実行する各部は、不揮発性メモリ252、揮発性メモリ253、補助記憶装置254の何れかの記憶部に記憶され、CPU251により実行される。
【0057】
S901において、テナント用コンフィグデータ更新部315はテナント用コンフィグデータの更新要求を検知する。S902において、テナント用コンフィグデータ更新部315はテナント用コンフィグデータ保持部314にS901で更新要求があったテナント用コンフィグデータが存在するか否かを確認する。存在する場合はS907を実行する。存在しない場合はS903を実行する。
【0058】
S903において、テナント用コンフィグデータ更新部315はテナントが保持する仮想デバイスを仮想デバイス保持部311から探索する。S904において、テナント用コンフィグデータ更新部315はS903で探索した仮想デバイスの仮想機器構成データにある機種コードを参照する。更に、機種コードに合致する機種別設定値スキーマを機種別設定値スキーマ保持部312から探索する。
【0059】
S905において、テナント用コンフィグデータ更新部315はS904で探索した機種別設定値スキーマの少なくとも1つが持つ設定をリストアップする。S906において、テナント用コンフィグデータ更新部315はS905でリストアップした設定を持つテナント用コンフィグデータを生成する。
【0060】
S907において、テナント用コンフィグデータ更新部315はテナント用コンフィグデータの具体的な更新指示を検知する。S908において、テナント用コンフィグデータ更新部315はS907で検知した更新指示に基づいてテナント用コンフィグデータ保持部314が保持するテナント用コンフィグデータを更新する。そして、S909において、仮想コンフィグデータ生成部316はテナント用コンフィグデータの更新を検知する。
【0061】
S910において、仮想コンフィグデータ生成部316は仮想デバイス保持部311が保持する仮想デバイスから更新を検知したテナント用コンフィグデータのテナント識別子に合致する仮想デバイスを探索する。探索された仮想デバイスに対して順次処理を行うため、1つの仮想デバイスを取得する。仮想デバイスを取得したら、S911を実行する。全ての仮想デバイスに対して順次処理が行われ、次の仮想デバイスを取得できない場合には処理を終了する。
【0062】
S911において、仮想コンフィグデータ生成部316は仮想デバイスから仮想機器構成データを取得する。S912において、仮想コンフィグデータ生成部316は仮想機器構成データから機種コードを取得する。更に、機種別設定値スキーマ保持部312が保持する機種別設定値スキーマから機種コードに該当する機種別設定値スキーマを探索する。
【0063】
S913において、仮想コンフィグデータ生成部316は仮想機器構成データ、機種別設定値スキーマ、テナント用コンフィグデータを用いて仮想コンフィグデータを生成する。そして、S914において、仮想コンフィグデータ更新部317はS913で生成した仮想コンフィグデータを仮想デバイスに登録する。
【0064】
図10は、画像形成装置から仮想コンフィグデータを取得する処理を説明するフローチャートである。S1001〜S1008は、画像形成装置で行われるステップである。これらのステップを実行する各部は、不揮発性メモリ212、揮発性メモリ213、補助記憶装置214のいずれかの記憶部に記憶され、CPU211により実行される。
【0065】
S1051〜S1058は、サーバコンピュータ群105で行われるステップである。これらのステップを実行する各部は、不揮発性メモリ252、揮発性メモリ253、補助記憶装置254のいずれかの記憶部に記憶され、CPU251により実行される。
【0066】
S1001において、実機器構成データ通知部306は画像形成装置の電源ONを検知する。S1002において、実機器構成データ収集部304が機器構成データを収集する。S1003において、実機器構成データ通知部306はS1002で収集した実機器構成データを用いて、設定値管理サービス310に未通知の実機器構成データの変更があったか否かを判定する。変更があった場合はS1005を実行する。変更がなかった場合はS1004を実行する。
【0067】
S1004において、仮想コンフィグデータ受信部303はデバイスが最新の仮想コンフィグデータを取得済みか否かを判定する。仮想コンフィグデータ受信部303は、仮想コンフィグデータ更新確認部322を呼びだして判定を行う。S1005において、実機器構成データ通知部306は実機器構成データとテナント識別子を設定値管理サービス310に通知する。設定値管理サービス310側はS1051でこれを検知して処理を行う。詳細は後述する。
【0068】
S1006において、仮想コンフィグデータ受信部303は仮想コンフィグデータの更新が完了するまで処理の実行を待ち合わせる。S1007において、仮想コンフィグデータ受信部303は設定値管理サービス310から仮想コンフィグデータを受信する。更に、実コンフィグデータ更新部302は受信した仮想コンフィグデータを実コンフィグデータとして更新する。実コンフィグデータは、実コンフィグデータ保持部301によって記憶される。
【0069】
S1051において、実機器構成データ受信部318は画像形成装置から通知された実機器構成データとテナント識別子を受信する。S1052において、仮想機器構成データ更新部319が、S1051において受信した実機器構成データとテナント識別子に合致する仮想デバイスを探索する。仮想デバイス保持部311によって保持された仮想デバイスの中から探索を行う。画像形成装置が初めて設定値管理サービス310と通信を行ったケースでは、仮想デバイスが探索できない場合がある。合致する仮想デバイスが探索された場合、S1054を実行する。合致する仮想デバイスが探索できなかった場合、S1053を実行する。
【0070】
S1053において、仮想機器構成データ更新部319が、空の仮想デバイスを生成する。S1054において、仮想機器構成データ更新部319が、S1052において探索されるか、もしくはS1053において生成された、仮想デバイスの仮想機器構成データを更新する。S1051において受信した実機器構成データの内容が、新しい仮想機器構成データとなる。
【0071】
S1055において、仮想コンフィグデータ生成部316は、更新された仮想機器構成データから機種コードを取得する。更に、機種コードに該当する機種別設定値スキーマを機種別設定値スキーマ保持部312から取得する。S1056において、仮想コンフィグデータ生成部316は、テナント用コンフィグデータを取得する。テナント用コンフィグデータは、テナント用コンフィグデータ保持部314が保持するテナント用コンフィグデータから、テナント識別子が合致するものを探索する。
【0072】
S1057において、仮想コンフィグデータ生成部316は、仮想コンフィグデータを生成する。仮想コンフィグデータの生成は、仮想機器構成データ、機種別設定値スキーマ、テナント用コンフィグデータを用いて行う。S1058において、仮想コンフィグデータ更新部317は、S1057において生成された仮想コンフィグデータを、該当する仮想デバイスに登録する。
【0073】
次に、サーバコンピュータの設定値管理サービス310から画像形成装置101へ設定値をダウンロードする処理を説明する。まず、ダウンロードされる設定値のデータ構造を、図11を用いて説明する。図11に示すように、設定値管理サービス310の仮想デバイス保持部311の中にはデータが階層化されてクラスタリングされた状態で保持されている。この例では、木(Tree)構造の階層構造を持っている状態として示す。図5で説明した個別のコンフィグデータは「意味のある塊」毎に階層化されて規定されている。
【0074】
実際に、機器を運用する画像形成装置101内には、実コンフィグデータ保持部301があり、仮想デバイス保持部311と同一な階層管理がなされたデータベースとして保持されている。仮想デバイス保持部311に対してコンフィグデータの更新があった際には、画像形成装置101内の実コンフィグデータ保持部301にも反映させる。
【0075】
この反映作業の際に、全てのデータを全て同期させることは性能面での劣化につながる可能性が高くなる。これを回避するために必要なタイミングで必要なデータのみをロードし、データの同期制御を行うことが必要になる。
【0076】
図11に示す例では、印刷に関する設定項目だけをダウンロードし、同期するイメージを示している。このクラスタ1101は実コンフィグデータ保持部301が保持する設定値群のサブセットであり、「print_settings」という最上位階層で規定される印刷設定のデータクラスタである。上述のように、このクラスタ1101と同じ階層構造のクラスタ1102が仮想デバイス保持部311の中のサブセットとして保持されている。
【0077】
仮想デバイス保持部311内のデータが書き換えられるなどの更新があった場合、その更新に同期して画像形成装置101内の実コンフィグデータ保持部301にも反映させる処理を行う。具体的には、ダウンロード対象がクラスタ1102の場合、仮想コンフィグデータ取得部320が仮想デバイス保持部311からクラスタ1102を取得する。尚、仮想デバイス保持部311が保持する設定値を実コンフィグデータ保持部301へダウンロードするロード条件については、図12を用いて更に後述する。
【0078】
この際に、クラスタ1102の中で通知フラグ806(図8)が「未」の状態のデータが含まれているものをロードクラスタ1103として取り出す。そして、インターネット104を介して仮想コンフィグデータ受信部303がロードクラスタ1103を受信し、実コンフィグデータ保持部301に保存する。これにより、設定値管理サービス310と画像形成装置101との間で印刷設定に関するコンフィグデータを同期させることが可能となる。
【0079】
ここで、ロードタイミング及びロードクラスタを決定する方法を、図12を用いて説明する。図12のロード制御テーブル1201は、ロード条件とロード対象のクラスタとを関連付けたロード規則である。本実施形態では、最低限、ロード条件1202と、ロード対象1203とが含まれていることが必須である。
【0080】
ロード条件1202には、ユーザによる操作やジョブの投入終了などのステータス変化による画像形成装置101内の状態遷移のトリガが記載されている。そして、ロード条件1202に関連付けてロード対象1203が規定されている。このロード対象1203が図11に示すロードクラスタ1103である。
【0081】
ロード制御テーブル1201に従えば、例えばサービスマンがサービスモードの画面に入る操作を行った際に「service_settings」というロードクラスタをロードするトリガとする。印刷ジョブを受け付けると、「pdl_settings」というロードクラスタをロードするトリガとする。ユーザがログインした際には、ユーザのお気に入り設定である「favorite_settings”」というロードクラスタをロードするトリガとする。このように、状態遷移とロードクラスタの規定が記載されている。
【0082】
次に、画像形成装置101において、ロード条件が発生した際に、ロード制御テーブル1201に基づいてダウンロードされたロード対象のクラスタを実コンフィグデータ保持部301に上書きする処理を、図13を用いて説明する。
【0083】
まず、S1301において、画像形成装置101の仮想コンフィグデータ受信部303がロード制御テーブル1201に規定されているロード条件1202の発生を監視し、発生を検知すると、S1302へ処理を進める。S1302では、仮想コンフィグデータ受信部303はロード制御テーブル1201に従って、ロード対象1203のクラスタを決定する。
【0084】
次に、S1303において、仮想コンフィグデータ受信部303は決定されたクラスタのロード要求を設定値管理サービス310側に要求する。そして、S1304において、設定値管理サービス310側の仮想コンフィグデータ取得部320が対象のクラスタ内において通知フラグが「未」の状態のデータをクラスタリングする。
【0085】
尚、図8に示す例では、仮想コンフィグデータ1つにつき通知フラグ806を1つだけ持つ構成として示しているが、クラスタ単位や項目単位に制御する構成でもよい。また、仮想コンフィグデータに対して1つの通知フラグの形態の場合は全てのクラスタがダウンロードされた時点で仮想コンフィグデータ取得部320が通知フラグを「未」から「済」に更新する。そして、クラスタ単位の場合はそのクラスタがダウンロードされた時点で、項目単位の場合はその項目がダウンロードされた時点で、通知フラグを「未」から「済」に更新する。
【0086】
次に、S1305において、仮想コンフィグデータ受信部303が仮想コンフィグデータ取得部320からダウンロードされたクラスタを受信する。そして、S1306において、実コンフィグデータ更新部302が実コンフィグデータ保持部301にそのクラスタを上書きすることで画像形成装置101の設定値として利用することが可能となる。
【0087】
上述のように、ユーザやデバイスが必要とするタイミングで必要最小限の設定値を設定値管理サービス310から受信して同期させることが可能となり、最適なパフォーマンスを出すことができる。
【0088】
尚、図12に示すロード制御テーブル1201自体は、画像形成装置101内の不揮発性メモリ212やサーバコンピュータ205内の不揮発性メモリ252などに保持され、他の設定値と同様に同期反映される。
【0089】
また、ロード制御テーブル1201は、初期状態では不揮発メモリ212に保持されておらず、仮想デバイス保持部311にのみ保持されているものとする。そして、画像形成装置101が初めて設定値管理サービス310と接続した際に、無条件にロード制御テーブル1201をダウンロードし、実コンフィグデータ保持部301の一部として保存する。以降、画像形成装置101はロード制御テーブル1201に従って、設定値をロードし同期する。ロード制御テーブル1201のロード規則そのものもロード制御テーブル自体に記載され、これに従ってロード規則そのもののアップデートを行うことができる。これによりロードの仕組みを柔軟に変更することが可能になる。
【0090】
次に、本発明に係る別の実施の形態について説明する。別の実施の形態として基本的なシステム構成は上述した実施の形態と同一であるが、図12に示したロード制御テーブル1201の代わりに図14に示す別のロード規則テーブル1401を利用する。
【0091】
ロード規則テーブル1401には、ロード制御テーブル1201と同様に、ロード条件1402とロード対象1403とが含まれる。これに加えてクラスタ利用種別1404とクラスタ破棄タイミング1405の項目が規定されている。
【0092】
図14に示す例では、クラスタ利用種別1404に「同期」と「ワンタイム」の情報が示されている。「同期」は上述した実施形態と同様に、ダウンロードした設定値を機器内の実コンフィグデータ保持部301に同期、つまり上書きして利用することを意味する。また、「ワンタイム」は実コンフィグデータ保持部301に対して同期を行わずにダウンロードした設定値データをテンポラリに利用する。この「ワンタイム」の場合、クラスタ破棄タイミング1405に記載されたタイミングで破棄対象のデータを破棄する。
【0093】
このワンタイム利用時における処理を、図15、図16に示すフローチャート、図17に示すモジュール構造図を用いて説明する。図15は、別の実施の形態における設定値をダウンロードする際のフローチャートであり、上述した実施の形態における図13に示すフローチャートの代わりに実行される。
【0094】
まず、S1501において、画像形成装置101の仮想コンフィグデータ受信部303がロード規則テーブル1401に示されるロード条件の発生を監視し、発生を検知するとS1502へ処理を進める。このS1502では、仮想コンフィグデータ受信部303はロード規則テーブル1401に従って、ロードクラスタを決定する。
【0095】
次に、S1503において、仮想コンフィグデータ受信部303は対象クラスタのロード要求を設定値管理サービス310側に要求する。そして、S1504において、設定値管理サービス310側の仮想コンフィグデータ取得部320が対象のクラスタ内において通知フラグ806が「未」の状態のデータをクラスタリングする。尚、通知フラグ806については上述した実施形態と同様であり、その説明は省略する。
【0096】
次に、S1505において、仮想コンフィグデータ取得部320からダウンロードされたクラスタを画像形成装置101の仮想コンフィグデータ受信部303が受信する。次に、S1506において、実コンフィグデータ更新部302がロード規則テーブル1401に基づいて対象クラスタのクラスタ利用種別1404を確認する。確認の結果、「同期」であればS1508へ処理を進め、実コンフィグデータ更新部302はクラスタを実コンフィグデータとして上書きする。
【0097】
また、上述の確認の結果、対象クラスタのクラスタ利用種別1404が「ワンタイム」のクラスタであればS1507へ処理を進める。S1507では、実コンフィグデータ更新部302はクラスタを実コンフィグデータにマージせず、Temp動作モードをON状態にする。このTemp動作モードの詳細については更に後述する。
【0098】
ここで、ワンタイムクラスタの破棄に関する処理を、図16のフローチャートを用いて説明する。まず、S1601において、画像形成装置101の実コンフィグデータ更新部302がロード規則テーブル1401のクラスタ破棄タイミングの発生を監視しており、発生を検知すると、S1602へ処理を進める。S1602では、実コンフィグデータ更新部302はロード規則テーブル1401に従って破棄クラスタを決定する。
【0099】
次に、S1603において、実コンフィグデータ更新部302は対象クラスタに対するTemp動作モードがONでなければS1601へ処理を戻すが、ONであればS1604へ処理を進め、対象クラスタ自体を破棄する。そして、S1605において、実コンフィグデータ更新部302は対象クラスタのTemp動作モードをOFFに戻す。
【0100】
次に、上述のTemp動作モードの詳細を、図17を用いて説明する。画像形成装置101内の実コンフィグデータ保持部301は、初期状態では内部に単一のデータベースであるMainDB1703を保持している。また、画像形成装置101内の各設定値利用モジュール1701は、実コンフィグデータ保持部301が提供する機器内インターフェース1702を介して設定値を取得する。
【0101】
上述したロード規則テーブル1401のクラスタ利用種別1404が「同期」の場合はこのロードした設定データをMainDB1703にマージして利用する。また、クラスタ利用種別1404が「ワンタイム」の場合は図16に示すフローチャートのように、データをMainDB1703にマージせず、そのままSubsetDB1704の状態で保持する。この状態で実コンフィグデータ保持部301はこのクラスタに対してTemp動作モードがONの状態で動作するようになる。
【0102】
このTemp動作モードがONの場合、MainDB1703に対象のデータが存在していたとしても、各設定値利用モジュール1701からのアクセスに対してはSubsetDB1704からデータを引き出してデータを参照させるという動きで実装される。
【0103】
これにより、各設定値利用モジュール1701からは、クラスタ利用種別1404が「ワンタイム」であっても「同期」であっても区別なく同様に、アクセスすることが可能になる。「ワンタイム」の情報は図17に示すように、破棄タイミングになれば破棄されて元のMainDB1703の値を参照する状態に戻るため、以降は元々デバイス内に存在していた値を参照する状態になる。
【0104】
従って、ユーザ毎に異なる設定を利用したいユースケースシーンなどでは画像形成装置101のデフォルト設定をキープしつつ、各ユーザが自分の所望の設定状態で利用することなどが実現できる。
【0105】
次に、本発明に係る実施形態の変形例を説明する。図1に示すネットワークにおいて、設定値管理サービス310はサーバコンピュータ群105の何れかのサーバコンピュータが実行することを想定しているが、別の構成でも良い。例えば、サーバコンピュータ群が、ただ1つのサーバコンピュータ205のみによって構成されていてもよい。もしくは、ユーザ環境100、サービスマン環境110、画像形成装置のベンダ環境120などの中に構成されていてもよい。
【0106】
図1に示すネットワーク図において、サービスマンはサービスマン環境110に配置された端末装置102Bを利用することを想定しているが、別の構成であってもよい。例えば、サービスマンがユーザの許可のもとでユーザ環境100に配置された端末装置102Aを利用する構成であってもよい。
【0107】
図2に示すハードウェア構成図において、サーバコンピュータ205、206がネットワーク260で通信を行っているが、別の構成であってもよい。例えば、インターネット104を介して通信を行ってもよい。
【0108】
図3に示すソフトウェア構成図において、実コンフィグデータ保持部301が補助記憶装置214に実コンフィグデータを記憶しているが、別の構成であってもよい。例えば、揮発性メモリ213に一時的に記憶する構成であってもよい。この場合、電源をOFFにすると実コンフィグデータが失われるため、デバイスの電源をONにするたびに仮想コンフィグデータ受信部303が仮想コンフィグデータを受信する必要がある。具体的な処理の流れで示すと、図10のS1004で、仮想コンフィグデータの更新判定を行う必要がなく、常にS1007を実行する構成となる。
【0109】
図3に示すソフトウェア構成図において、実機器構成データ収集部304は画像形成装置の電源をONにするたびに、実機器構成データの収集を行うが、別の構成であってもよい。例えば、実機器構成データ保持部を備え、その実機器構成データ保持部が実機器構成データを補助記憶装置214に常に記憶する構成であってもよい。この場合、実機器構成データの変更に応じて、実機器構成データ保持部が保持する実機器構成データを速やかに書き換える構成である必要がある。そのため、実機器構成データ収集部304は、実機器構成データの変更を見張り、変更内容を検知したら実機器構成データ保持部に対して変更内容を更新する必要がある。更に、実機器構成データ通知部306は、実機器構成データ保持部に対して実機器構成データを要求する構成となる。
【0110】
図3に示すソフトウェア構成図において、テナント識別子保持部305は補助記憶装置214にテナント識別子を記憶するが、別の構成であってもよい。例えば、ユーザが入力装置216を用いてテナント識別子を毎回入力する構成であってもよい。入力するタイミングは、画像形成装置の起動時であってもよいし、別のタイミングであってもよい。この場合、テナント識別子は揮発性メモリ213に記憶される。
【0111】
図3に示すソフトウェア構成図において、実機器構成データ通知部306は画像形成装置が電源ONになったことを検知して処理を行うが、別の構成であってもよい。例えば、ユーザが入力装置216を用いて仮想コンフィグデータの取得を指示する構成であってもよい。この場合、図10のS1001において、仮想コンフィグデータの取得指示を検知することでS1002以降を実行する構成となる。
【0112】
図3に示すソフトウェア構成図において、仮想デバイス保持部311は図8に示すように仮想機器構成データと仮想コンフィグデータを識別するための識別子を保持していたが、別の構成であってもよい。例えば、識別子ではなくデータの実体を保持する構成であってもよい。
【0113】
図3に示すソフトウェア構成図において、仮想コンフィグデータ生成部316は機種別設定値スキーマ、テナント用コンフィグデータ、仮想機器構成データから仮想コンフィグデータを生成するが、別の構成であってもよい。例えば、機種別設定値スキーマとテナント用コンフィグデータの2点から、機種に合わせた仮想コンフィグデータを生成する構成であってもよい。この場合、画像形成装置は実コンフィグデータを参照する際に機器構成に合わせて参照する構成となる。
【0114】
別の例として、更にライセンスデータを用いて仮想コンフィグデータを生成する構成であってもよい。その場合、画像形成装置が備えるオプション機能に合わせた仮想コンフィグデータが生成される構成となる。
【0115】
[他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
画像形成装置の設定値を設定値管理装置が管理する画像形成装置であって、
規定された条件が発生した際に、当該条件に関連付けられた設定値のダウンロードを前記設定値管理装置に要求する手段と、
前記設定値管理装置で管理されている設定値の中から前記要求された設定値がダウンロードされ、当該ダウンロードされた設定値を前記条件に関連付けられた設定値として利用する手段と、
を有することを特徴とする画像形成装置。
【請求項2】
前記規定された条件と、当該条件に関連付けられた設定値とを少なくとも保持する保持手段を有し、前記条件及び設定値は更新が可能であることを特徴とする請求項1に記載の画像形成装置。
【請求項3】
前記条件及び設定値は、前記画像形成装置が初めて前記設定値管理装置と接続した際に、ダウンロードされることを特徴とする請求項2に記載の画像形成装置。
【請求項4】
前記ダウンロードされた設定値を前記利用した後に破棄する又は前記保持手段に保持された設定値に上書きすることを特徴とする請求項3に記載の画像形成装置。
【請求項5】
画像形成装置の設定値を設定値管理装置が管理する画像形成装置の処理方法であって、
要求する手段が、規定された条件が発生した際に、当該条件に関連付けられた設定値のダウンロードを前記設定値管理装置に要求する工程と、
利用する手段が、前記設定値管理装置で管理されている設定値の中から前記要求された設定値がダウンロードされ、当該ダウンロードされた設定値を前記条件に関連付けられた設定値として利用する工程と、
を有することを特徴とする画像形成装置の処理方法。
【請求項6】
コンピュータを請求項1乃至4の何れか1項に記載の画像形成装置の各手段として機能させるためのプログラム。
【請求項1】
画像形成装置の設定値を設定値管理装置が管理する画像形成装置であって、
規定された条件が発生した際に、当該条件に関連付けられた設定値のダウンロードを前記設定値管理装置に要求する手段と、
前記設定値管理装置で管理されている設定値の中から前記要求された設定値がダウンロードされ、当該ダウンロードされた設定値を前記条件に関連付けられた設定値として利用する手段と、
を有することを特徴とする画像形成装置。
【請求項2】
前記規定された条件と、当該条件に関連付けられた設定値とを少なくとも保持する保持手段を有し、前記条件及び設定値は更新が可能であることを特徴とする請求項1に記載の画像形成装置。
【請求項3】
前記条件及び設定値は、前記画像形成装置が初めて前記設定値管理装置と接続した際に、ダウンロードされることを特徴とする請求項2に記載の画像形成装置。
【請求項4】
前記ダウンロードされた設定値を前記利用した後に破棄する又は前記保持手段に保持された設定値に上書きすることを特徴とする請求項3に記載の画像形成装置。
【請求項5】
画像形成装置の設定値を設定値管理装置が管理する画像形成装置の処理方法であって、
要求する手段が、規定された条件が発生した際に、当該条件に関連付けられた設定値のダウンロードを前記設定値管理装置に要求する工程と、
利用する手段が、前記設定値管理装置で管理されている設定値の中から前記要求された設定値がダウンロードされ、当該ダウンロードされた設定値を前記条件に関連付けられた設定値として利用する工程と、
を有することを特徴とする画像形成装置の処理方法。
【請求項6】
コンピュータを請求項1乃至4の何れか1項に記載の画像形成装置の各手段として機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2013−9279(P2013−9279A)
【公開日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願番号】特願2011−142310(P2011−142310)
【出願日】平成23年6月27日(2011.6.27)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願日】平成23年6月27日(2011.6.27)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]