画像形成装置、及び管理方法
【課題】画像形成装置の設定情報を適切に分類し、柔軟に他の機器へ引き継がせるために、画像形成装置の特性である様々な機器識別情報を十分に考慮した管理手法を提供する。
【解決手段】画像形成装置は、接続された機器から入力されるXMLで記述された設定情報から取得した機器識別情報と自装置の機器識別情報とを比較してインポートレベルを決定し、自装置内の複数のアプリケーションのための各モジュールを用いて、インポートレベルに応じた設定を抽出して、各アプリケーションでの制御に利用するためのストレージに格納する。また、インポートレベルを決定するための機器識別情報は、機種管理番号及び機体管理番号に加え、ファームバージョン、仕向け情報、ユーザ編集情報、アクセサリ接続情報、及びライセンス情報などの情報を含む。
【解決手段】画像形成装置は、接続された機器から入力されるXMLで記述された設定情報から取得した機器識別情報と自装置の機器識別情報とを比較してインポートレベルを決定し、自装置内の複数のアプリケーションのための各モジュールを用いて、インポートレベルに応じた設定を抽出して、各アプリケーションでの制御に利用するためのストレージに格納する。また、インポートレベルを決定するための機器識別情報は、機種管理番号及び機体管理番号に加え、ファームバージョン、仕向け情報、ユーザ編集情報、アクセサリ接続情報、及びライセンス情報などの情報を含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プリンタや複写機、それらにさらなる機能が追加された複合機などを含む画像形成装置の設定情報の管理技術に関するものである。
【背景技術】
【0002】
近年、画像形成装置には複数の機能が搭載されるばかりか、各種アプリケーションをインストールして、直接、またはネットワーク上からそれら機能を利用する形態が増加している。機能の増加に応じて、設定または調整すべき設定情報の項目数は増加し、オフィスに初期設置するだけでも、かなりの時間を要するようになった。
そこで、オフィスシステムに納品する前に、システムにあわせたアプリケーションやオプションの導入、およびその設定作業を、事前にまとめて販売側でおこなう、設置前キッティングが行われるようになった。ここでは、事前に納品先から受注した条件や、納入先の既存の機器(たとえば、リプレイス対象機)から取り出した設定情報に従って、手入力で設定を行う。ここで繁忙期に台数が増加し、負荷が集中すると、出荷までの時間が延びてしまう。また、このように調整・設定を済ませて出荷しても、搬入・搬出時の振動・温度差・湿度差などにより、そのまま利用できず、交換せざるを得なくなる、着荷不良になる場合がある。この場合、納入する画像形成装置に対して、再度、設定をする必要がある。このような場合などには、画像形成装置に対して設定値を素早く反映させることが要望されている。
例えば、装置にネットワークやメモリメディアを接続し、他の装置との間における設定項目の共通部分を取得あるいは配信する従来技術がある。特許文献1では、異機種間で共通である設定情報と、特定機種のみに有効な設定情報を区分して管理し、外部記憶装置に出力している。また外部記憶装置から、有効な設定値のみを選択して、内部不揮発メモリに反映する構成が提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−238799号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、近年では画像形成装置の設定情報は、画像形成部分、画像処理部分、インストールされたアプリケーション、及び機器構成の各々に応じた固有な情報と、各機種において共通機能の初期値やアドレス帳などの共通な情報と、細分化されている。例えば、機器構成に応じた固有な設定情報は、同一の機器構成をもつ画像形成装置に限られ、他の構成の画像形成装置においては異なる形式の設定項目やその値で管理され得る。また、ライセンスやセキュリティに関連する設定は、運用面などを考慮した機体固定の情報であり、たとえ同一構成の画像形成装置であっても、転用することはできないものがある。他にも、アプリケーションに応じた固有な設定情報も、そのアプリケーションを設計したベンダーなどにより異なる形式の設定項目などで管理され得る。
さらに、特定の新機種における新機能や仕様変更された機能の設定情報は、当初は固有の設定情報として管理される。しかし、その後、その機能が全機種に浸透すると、固有であった設定情報が、古い機種が淘汰されるにつれ、共通の設定情報に変化しうる。
ここで、特許文献1に記載された技術では、機器情報を管理するため、設定項目毎に送出許可と受入許可を示す更新フラグを持たせ、その設定値を管理している。つまり、設定情報が設定項目ごとに固定的に更新フラグで管理されている。上述したように、画像形成装置における設定情報の用途は細分化されているので、特許文献1記載の管理方法では十分な管理ができない。また、該フラグで送出許可が無効である場合には、外部へその設定値が送出されることが無くなるが、それでは上述したような共通設定への変化した際に、その設定値を他の機器でも引き継がせるといった柔軟な対応ができないといった課題が生じる。
そこで本発明は、それら課題を考慮して、画像形成装置の設定情報を適切に分類し、柔軟に他の機器へ引き継がせるために、画像形成装置の特性である様々な機器識別情報を十分に考慮した管理手法を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記の課題を解決するために、本発明の画像形成装置は、設定情報に従い複数のアプリケーションを制御する画像形成装置であって、接続された機器から入力されるXMLで記述された設定情報をテンポラリ領域に保存する保存手段と、前記テンポラリ領域に保存された設定情報から機器識別情報を取得する取得手段と、前記取得手段により取得された機器識別情報と自装置の機器識別情報とを比較し、前記テンポラリ領域に保存された設定情報に含まれる各設定を反映する際に用いるインポートレベルを決定する決定手段と、前記保存された設定情報において、当該複数のアプリケーションのための各モジュールを用いて、前記インポートレベルに応じて反映すべき設定を抽出して、各アプリケーションでの制御に利用するためのストレージに格納する格納手段とを有し、前記インポートレベルを決定するための機器識別情報は、機種管理番号及び機体管理番号に加え、ファームバージョン、仕向け情報、ユーザ編集情報、アクセサリ接続情報、及びライセンス情報の少なくともいずれかの情報を含むことを特徴とする。
【発明の効果】
【0006】
本発明によれば、画像形成装置の特性である様々な機器識別情報を十分に考慮し、柔軟に他の機器へ設定情報を引き継がせることができる。
【図面の簡単な説明】
【0007】
【図1】画像形成装置を含むシステム構成図
【図2】画像形成装置の構成を示すブロック図
【図3】ソフトウェアモジュール図
【図4】インポート時データフローダイアグラム
【図5】エクスポート時データフローダイアグラム
【図6】DBスキーマとXMLスキーマのサンプル
【図7】DB内に保持されるメタ情報のサンプル
【図8】第1の実施形態におけるインポートシーケンス図
【図9】第1の実施形態におけるインポートシーケンス図
【図10】第1の実施形態におけるインポートシーケンス図
【図11】第1の実施形態におけるインポートシーケンス図
【図12】第1の実施形態におけるエクスポートシーケンス図
【図13】第2の実施形態におけるレベル決定因子の説明
【図14】第2の実施形態におけるレベル決定因子の状態によるレベル決定テーブル
【図15】第3の実施形態におけるエクスポートシーケンス図
【図16】第3の実施形態におけるエクスポートシーケンス図
【発明を実施するための形態】
【0008】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【0009】
(設定値管理のシステム全体の構成図)
図1は、本発明の実施形態に係る、印刷装置や複写機、それらにさらなる機能が追加された複合機などを含む画像形成装置を含む一般的なシステム構成図である。複写機001、複写機002は、原稿を読み取り、画像処理後に、複写物を出力する。また、ネットワーク003を介して受信するクライアントコンピュータが生成するPDLデータなどを出力するプリンタでもある。逆に、複写機001などが読み取ったイメージデータは、同じくネットワーク003を介して、ファイルサーバ/メールサーバといったさまざまな装置に送信することもできる。デバイス群005においては、複写機001と複写機002はデバイス構成が異なることを図示している。
管理サーバ004は、ネットワーク003を介して、複写機001、複写機002を含む、管理対象のデバイス群005と接続され、設定情報のエクスポートやインポートなどといったデバイス管理のための通信を行う。この通信には、HTTP(Hyper Text Transfer Protocol)、SOAP(Simple Object Access Protocol)、FTP(File Transfer Protocol)といった公知のプロトコルを用いる。
遠隔ユーザ環境006は、管理サーバ004と同一の機能性であるが、インターネット007を介して、遠隔保守サービス用の遠隔操作端末008と接続されている。これにより、遠隔操作端末008は、遠隔ユーザ環境006と通信を行い、管理対象デバイス群005に含まれる画像形成装置の設定情報をエクスポートさせる。この設定情報は蓄積され、デバイス群に含まれる他の画像形成装置や、新たに設定されるような画像形成装置、ほかの顧客環境の画像形成装置などに対してインポートすることができる。
また、画像形成装置は、操作パネルから所定操作により、管理サーバ004を介さず、USBストレージデバイス008に対して、直接、設定情報をエクスポートすることができる。USBストレージデバイス008に蓄積した設定情報は、他の画像形成装置に適宜、インポートすることができる。
【0010】
(ハードブロック構成に関する説明)
図2は、本発明の実施形態に係る画像形成装置のハードウェア構成を示すブロック図である。図2において、100は画像形成装置の情報処理部を司るメインコントローラ全体である。また101は画像形成装置の画像処理部を司るサブコントローラ全体である。100と101はバスブリッジ116を介してバス間で接続されている。まずメインコントローラ100の構成要素を説明する。
FLASHROM110あるいはHDD111に記憶されたソフトウェアを実行するCPU1 108を備える。CPU1 108はシステムバス115に接続される各デバイスを総括的に制御する。FLASHROM110あるいはHDD111は、プログラムのみでなく、画像データやユーザ設定の記憶領域としても使われる。109はRAM1で、CPU1 108の主メモリ、ワークエリア等として機能する。112は操作部I/Fで、画像形成装置に備えられたLCDパネル104に描画する。また112には、操作ボタンおよび/あるいはタッチパネル103も接続されている。113は104と一体になっており、オペレータの指示入力を制御する。113はネットワークインタフェースカード(NIC)で、他のネットワーク機器あるいはファイルサーバ等とLAN102を介して双方向にデータをやりとりする。114は外部ストレージインタフェース(USB)で、メモリメディアリーダあるいはICカードリーダなどの外部装置を接続し、双方向にデータをやりとりする。
次に、サブコントローラ101の構成要素を説明する。106は、例えば電子写真方式あるいはインクジェット方式などで実現される紙への印字部である。105は、紙に印字された画像を読み込むための画像読み取り部である。多くの場合、画像読み取り部105にはオプションとしてオートドキュメントフィーダ(不図示)が装着されており、複数枚の原稿を自動的に読み込むことができる。これらはデバイスインタフェース120を通して制御信号をCPU2 117との間で授受する。CPU2 117はシステムバス127に接続される各デバイスを総括的に制御する。105から入力される画像は、スキャナ画像処理部121を介してRAM2 118に読み取り画像として入力される。123は、メモリ画像処理部(IMAGEC)で、画像形成装置のRAM2 118上の画像を処理して、RAM2 118に出力する。画像処理には、回転・変倍・色空間変換・グレースケール変換・合成・符号化・復号化などの処理が含まれる。CPU2 117は、RAM2 118上の画像を、123で画像処理後に、バスブリッジ116を介して、メインコントローラ上の記憶装置110および111に保存する。またCPU2 117は、バスブリッジ116を介して、メインコントローラ上の記憶装置110および111に保存106されている画像をRAM2 118に読み出し、122を経由して106に出力する。121および122は、色空間変換、移動、色調整、濃度制御、遅延量制御が含まれる。ラスターイメージプロセッサ(RIP)119は、RAM2 118上のPDLコードをビットマップイメージに展開し、RAM2 118に出力する。SRAM124は、CPU2 117との間で不揮発データを高速に入出力する。MODEM125は、公衆回線107に接続し、ファクス画像入出力に伴う変復調を行う。
【0011】
(インポートサービスの動作概要)
図3は、本発明における画像形成装置に実装されるインポートサービスのシステム構成図を示す。
ネットワークのインポートサービスに関連する処理を説明する。ここでは、インポートする設定情報として、アドレス帳データ、部門管理データ、機器設定データの処理を例として説明する。インポートサービスリクエスタ301は設定情報を送信し、インポートサービスプロバイダ300は設定情報を受信する。インポートサービスリクエスタ301とインポートサービスプロバイダ300はイントラネット302を介してSOAPメッセージで通信する。HTTPサーバ303、SOAPサーバ304でリクエストメッセージの解釈をした後、そのメッセージに該当する処理のCGI306を起動する。ネットワークインポートモジュール307は、要求を受けて処理する。SOAPサーバ304は、サービスリクエストにあわせて機器設定インポートCGI306を起動する。起動されたCGIは、ネットワークインポートモジュール307に、受信した設定情報を含む設定ファイルをテンポラリ領域320にストアさせた後、二次ストア完了の応答待ちを行う。この設定ファイルは複数のXMLファイルをまとめた圧縮形式で構成されている。一次ストア完了後に、設定管理部308に二次ストア処理を要求する。
設定管理モジュール309は、テンポラリ領域320から圧縮データを読み取って解凍処理を行う。解凍処理が成功した場合は、インポートファイル用のポリシーデータベース310を初期化する。初期化に成功した場合は、解凍処理後に得られたXMLデータをパースしながら、各設定項目に対応する情報をポリシーDB310に登録処理を開始する。具体的には、XMLデータ内に含まれる機体管理番号(シリアル番号)および機種管理番号(シリーズ番号)といった機器識別情報を取得する。機器識別情報の取得に成功すると、インポートサービスを実行している画像形成装置の機器識別情報を取得して、設定情報の中のインポートすべき設定の範囲を示すインポートレベルを決定する。このインポートレベルの決定後に、設定管理モジュール309は、XMLデータ内に含まれる残りの全設定項目に関する情報をポリシーDB310に登録処理する。ここで、ポリシーデータベースに反映できなかった設定項目は、反映履歴(不図示)に登録しておく。設定管理モジュール309は、予め登録された、インポート制御部313に設定反映の範囲(インポートレベル)とともに通知を行う。設定管理モジュール309は、インポート要求元に、二次ストア完了の応答を返す。
インポート制御部313のインポートモジュール群321は、設定管理モジュール309から通知を受けると、通知とともに入力された設定情報を、実際に画像形成装置内での制御に利用するための三次ストアを行う。各インポートモジュールは、画像形成装置内の各機能に固有な一部の設定情報や装置内で共通的に利用される一部の設定情報などをそれぞれ管理するために用意されている。これらインポートモジュールにより、最終的にインポートファイル内で必要な一部の設定情報を抽出され、その設定が画像形成装置において反映される。ここで、各インポートモジュール318〜314は、二次ストアされたポリシーDB310から処理対象の設定項目に合致する一部の設定情報を取得する。ここで取得される設定情報には、設定値や反映ポリシーなどが含まれる。設定管理モジュール309から通知されたインポートレベルと反映ポリシーとを比較して反映すべき設定情報であると判断された場合には、インポートモジュールが実際に画像形成装置で利用されるように、制御用の設定DB322に登録する。
本実施例では、機器設定インポートモジュール314は、ポリシーDB310から機器設定に係る設定情報のみを一項目ずつ読み取って、制御用の機器設定DB315に登録する。部門管理設定インポートモジュール316は、ポリシーDB310から部門管理に係る設定情報のみを読み取って、制御用の部門管理設定DB317に登録する。アドレス帳インポートモジュール318は、ポリシーDB310からアドレス帳設定に係る設定情報のみを読み取って、制御用のアドレス帳DB319に登録する。
次に、USBストレージからのインポート処理について簡単に説明する。USBストレージインポート部311は、ネットワークインポート部305の代わりに、USBストレージデバイス008からのインポート処理を行う。USBインポートモジュール312は、USBストレージデバイス008に設定ファイルが入っていることを検出する。USBインポートモジュール312は、設定ファイルをテンポラリ領域320に保存させた後、設定管理部308に二次ストア処理を要求する。残りのインポート動作はネットワークインポート処理に準ずる。
また、各インポートモジュールは、二次ストアされたポリシーDB310から、処理対象となる設定項目に対応する設定情報の取得に際して後述するメタ情報をさらに取得する。インポートモジュール群321が、各設定情報を制御用の設定DBへ登録する際には、暗号化処理、工場出荷値に戻す処理、あるいは現在の値に対して上書きしない処理などといったメタ情報で指定される登録方法の制御を行う。インポートモジュール群321によるそれぞれが担当する設定情報の制御用の設定DB322への登録が完了すると、各インポートモジュールは、設定管理部308に三次ストア処理の完了を通知する。設定管理部308は、すべての要求先インポートモジュールから完了が通知されると、次回起動時に更新された設定値が反映されるように、画像形成装置をリブートさせる。なお、制御用の設定DB322に関しては、SRAMデバイスやHDDデバイスあるいはそれらのハイブリッド構成となっており、高速・安定動作する反面、容量あたりの単価が高く、容量的制約が大きいものを想定している。
【0012】
図4は、図3の構成におけるインポート時における一次ストア以降のデータの流れを模式化したデータフローダイアグラムである。
まず、インポート処理開始時にはポリシーDBは、初期化される。インポート時にネットワークインポート部307やUSBインポートモジュール312が取得したインポート用XMLファイル401は、設定管理モジュール309によって、ポリシーDB301に蓄積される。この際、ポリシーDBに記載のない名称のキーに関してはXML401に記載があっても書き込まれない。また、XML上に記載されたサイズや型情報と、ポリシーDB301のそれに相違があっても書き込まれない。
ポリシーDB301にデータのストアが完了すると、設定管理モジュール309より機器内の各アプリケーション402など(図3では314、316,318)にインポート命令が通知される。この際、XMLに記載されていた情報を元に算出したインポートレベルを通知する。このインポートレベルの算出についての詳細は後述する。各アプリケーションは自身のデータをポリシーDB301から取り出し、通知されたレベルと、ポリシーDB301の内部のキー毎に記載されているメタ情報のうちレベル情報と比較する。その結果、書き込み可と判断されたものに限り、実際の制御に用いる設定が格納されるストレージ403(図3では315,317、319)に書き込む。
【0013】
図5は、エクスポート時のデータフローダイアグラムである。
まず、エクスポート処理開始時には、ポリシーDBが初期化される。設定管理モジュール309からのエクスポート指示を受けた各アプリケーション402が、設定情報をストレージ403から読み出し、ポリシーDB310に書き込む。この際には、特にポリシーなどを考慮することなくエクスポート可能な全ての設定項目とその値をDBに書き込む。全てのアプリケーションがポリシーDB301に設定情報を書き込んだのち、設定管理モジュール309が設定情報をXMLの形式に変換する。さらにその際に、自装置の機器識別情報を取得して、XMLファイル401に付加情報として書き込む。この付加情報は、他の装置へ設定情報をインポートするときに、インポートレベルを決定する際に用いられることになる。全ての情報が書き込まれたXMLファイル401が機器外へ取り出されエクスポートされることになり、図4で説明した入力されたXMLファイルになる。
【0014】
図6は、ポリシーDB310の内部スキーマ例とXML401の記載例である。
606が設定情報の概念構造であるが、606に示すように階層構造を持ったキーで構成され、各リーフがデータを持つ構造になっている。これをDBおよびXMLで表現する。
DBのテーブルスキーマとしては601のようなKeyIDをリレーションのキーとしてリレーショナルDBの構造をしている。キーの構造とメタ情報を示すKeyListテーブル602には、キーの名称定義とメタ情報が記載されている。ツリー上の階層構造を持った構造となるため親階層を示すParentIDを持つことで階層表現される。メタ情報としてはこの例では32Bitのビット列で表現されており、本発明ではレベル情報などビットアサインの形で規定する。
データの中身を示すValueListテーブル603には実際のデータであるValueとデータサイズとデータ型を示す情報が保持される。また本発明においては初期状態でValueには値が入っていない状態となる。
最後に補足情報となるValueRangeテーブル604にはValueに設定可能なデータの値域情報が保持される。
これを元に、XMLファイルを作成されると、605のような形でタグと要素を作成している。これが一例となりDB内の情報を、ほぼそのままXML表現できていることになる。
【0015】
図7は、KeyListテーブル602に定義されたメタ情報の運用例である。この例では4バイト(=32ビット)の領域を規定しており、本発明ではそのうちの4ビットを利用している。
アーカイブビット701はインポートもしくはエクスポート時にデータが書き込みされたことにより立つ動的なメタ情報フラグである。エクスポート用のXMLを作成する際に参照されたり、XMLのデータをポリシーDBから読み出す際に参照されてデータが入っているかどうかを判断するフラグとして利用する。クリプトビット702はデータ暗号化を行うか否かを示す静的なメタ情報フラグである。このフラグが立っているデータはXMLにデータ記載される際に暗号化され、またXMLからポリシーDBにデータを書き込む際に復号化される動きをする。
最後に、レベル704はこの例では2ビットがアサインされ0〜3の4種類を定義する静的なメタ情報である。例えば、0=インポートエクスポート対象外、1=同一機種同一個体でのバックアップリストアのみ可、2=同一機種異個体でのインポートエクスポート可、3=異機種間でのインポートエクスポート可、などと規定されている。後述のシーケンスでも説明するが、このレベルを基準にインポートの可否が判断される。
【0016】
図8〜図11では、XMLファイルを受信してからインポートが完了するまでの処理を、フローチャートを用いて説明する。
図8は、インポート処理の全体を示すシーケンスである。
S801では、ポリシーDBの初期化がおこなわれる。それまでに書き込まれていた値は全てリセットされ、アーカイブビット701もリセットされる。これによりDBはキー名称と型とサイズ、および静的に定義されたメタ情報のみが存在し、値の入っていない状態のDBとなる。
S802で、XMLファイルをストアして、S803にてXMLファイルの中身をパースしてポリシーDBにデータを書き込む二次ストアを行う。その後、S804にて受信したXMLの付加情報と、インポート動作を行っている自装置に関する情報とを用いてインポートレベルを決定する。その後、S805において決定したインポートレベルと共に各モジュール(402)にインポートの指示を出し、S806で自装置の制御に実際用いるためのストレージ(403)への反映作業が行われる。
【0017】
図9では、S803のXMLデータのポリシーDBへの格納手順について、詳しく説明する。
S901では、XMLファイルを順次パース(解析)する。図6で説明したように、XMLファイル605は、値をもつタグが階層構造を持ったキーで表現されている。
S902で、解析対象である1つのキーを解釈する。そして、S903でポリシーDB内に同一の名称のキーが存在するかどうかを確認し、存在しなければS901で次項目のパースを行う。ポリシーDBに同一名称のキーの存在が確認されていれば、S904でXMLファイル内の該当キーに定義されている値を取得して、ポリシーDBに書き込める形式に変換する。
S905では、そのデータ構造がDBに定義済みのサイズと一致するかを確認し、サイズ不正などがあれば、その項目の書き込みを行わずにS901に戻り、次項目のパースを行う。一方、型とサイズ情報が一致していれば、S906へ進む。S906では、該当項目の値をポリシーDBに書き込む。この際に、メタ情報のアーカイブビットが1に変化することになる。その後、S907で全ての項目の書き込みが終われば終了し、まだ次の項目があれば、S901に戻り、次項目をパースしてポリシーDBへのデータ書き込みを続ける。
【0018】
図10では、S804のインポートレベルを決定する処理を詳しく説明する。
S1001にて、XMLファイルに付加情報として記載されているエクスポートしてきた装置の機器識別情報(機種管理番号(機種コード)、機体管理番号(シリアル番号))を取得する。S1002では、自装置の機器識別情報(機種管理番号、機体管理番号)を読み出し、取得する。S1001、及びS1002で取得された機器識別情報からインポートレベルを以下のように決定する。
S1003では、XMLファイル記載の機種管理番号と自装置の機種管理番号とが一致するかを判別し、一致していなければ別機種からのインポートであると判断してS1005でインポートレベルが3と設定される。S1003で、同一機種と判断されるとS1004に進む。続いて、S1004では、XMLファイル記載の機体管理番号と自装置の機体管理番号とを比較する。これが一致しなければ同一機種で別の機体番号の装置からの設定情報であると判断され、S1006にてインポートレベルが2と設定される。S1004にて機体管理番号も一致した場合は、自機種のバックアップリストアと判断し、S1007でインポートレベルが1と設定される。
【0019】
図11では、S806のデータ展開の処理を詳しく説明する。この処理は、1つタスクで順次コールされてもよいし、同時に複数のタスクで実行されてもよいが、機器内に存在するアプリケーション(402)の数だけ実行される。
まず、S1101では、図9で説明した処理により決定されたインポートレベルの確認を行う。そして、自装置内の各アプリケーションに対応するモジュールは、S1102以降の処理を繰り返しことで、XMLファイル(設定情報)内に含まれる反映すべき設定とその値をインポートする。
S1103で、前述のモジュールは、任意の項目をDBに問い合わせ、設定がポリシーDBに二次ストアされているかどうかを確認する。具体的には、アーカイブビット701が立っているかどうかで判断される。二次ストアの存在が確認されなければ次の項目へ進む。存在が確認されればS1104に進み、その設定を取得するとともに、ポリシーDBに定義されているそのキーのメタ情報からレベル情報を確認する。
S1105にて、S1101で確認したインポートレベルと、そのキーのキーレベルを比較し、インポート可能かどうかの判断を行う。例えば、キーに定義されているメタ情報がキーレベル1(同一個体でのバックアップリストア許可)で、インポートレベル3(異機種からのインポート)であれば許可を与えないため、当該設定をインポートせずに、次の項目へ進む。また、例えば、キーレベル3(異機種間インポートエクスポート許可)で、インポートレベル1(同一個体のバックアップリストア)の場合は、インポートされた設定の反映が許可されるためS1106に進み、ストレージに書き込みを行うことになる。
【0020】
図12は、エクスポートの際の処理を詳しく説明するためのフローチャートである。
前述した図5で示したデータフローダイアグラムでの動作の詳細である。
まず、S1201にて、ポリシーDB310を初期化する。これによりValueに値が入っていない状態になる。
S1202では、各アプリケーションのモジュール402にエクスポートの指示が行われる。S1203にて、各モジュールは、ストレージ403から設定情報を取り出し、ポリシーDB310に書き込む。この際には、インポート時に加味したレベルの考慮は行わず、関連するすべてのデータをポリシーDB310に書き込む。S1204では、自装置の機器識別情報を取り出してポリシーDBに書き込む。この機器識別情報は、機種管理番号と、機体管理番号(SN)の2種類である。S1205にて、ポリシーDBに書き込まれた設定情報をXMLのフォーマットに変換して、XMLファイル401を生成する。
【0021】
(第2の実施形態)
本実施例においては、前述のS804のインポートレベルの決定処理について、さらに特徴的な判定を行う。具体的には、設定情報のインポートに際して、機種管理番号(機種コード)、機体管理番号(シリアル番号)以外の機器識別情報も考慮して、本実施例では、より最適な設定情報のインポート処理を行うことを目的とする。
【0022】
図13には、本実施例で利用するインポートレベルの決定因子として利用可能な情報を列挙している。具体的には、画像形成装置のファームバージョン、仕向け情報、紙サイズの基準情報、ポリシーDBバージョン、ユーザ編集情報、アクセサリ接続情報、ライセンス情報などが含まれる。
【0023】
図14には、図13で示す決定因子に応じたインポートレベルの判定の具体例を示すテーブルを示している。表中にハイフン”−“で示している項目は、その内容を気にしない(Don’t Care)であることを意味している。第2の実施形態では、図14のテーブルに従ってインポートレベルを決定する。図14は、各決定因子の組み合わせによって、インポートレベルが1つ決定することを示している。ここで、インポートレベルの意味は第1の実施形態と同様である。具体的には、レベル0がインポート不可能を示し、レベル1が同一装置におけるバックアップリストア、レベル2が同一機種からのインポート、レベル3が異機種からのインポートが可能であることをそれぞれ意味する。
【0024】
ケース1は、ユーザ編集情報が「有」であるケースで、この場合他の判断因子がどのような状態であってもインポートレベルを1とする。これはユーザが編集している情報は基本的には全面的に受け入れるというポリシーを表現している。
ケース2は、ユーザ編集情報が「無」で、仕向け情報がインポート動作を行っているデバイスと「一致」していて、機種管理番号が「不一致」であるケースである。この場合はインポートレベルが3に決定される。このケースは第1の実施形態の異機種からのインポートと同じ振る舞いである。
ケース3は、ユーザ編集情報が「無」で、仕向け情報がインポート動作を行っているデバイスと「一致」していて、機種管理番号が「一致」、かつ機体管理番号(SN)が「不一致」。さらにファームバージョンが「特定のバージョンよりも新しい」という条件のケースである。この場合は、インポートレベルが2に決定される。これは第1実施形態の同一機種異個体からのインポートと同じ振る舞いである。
ケース4は、ユーザ編集情報が「無」で、仕向け情報がインポート動作を行っているデバイスと「一致」していて、機種管理番号が「一致」、かつ機体管理番号(SN)が「一致」。さらにファームバージョンが「特定のバージョンよりも新しい」という条件のケースである。この場合インポートレベルが1に決定される。これは第1実施形態の同一機種異個体からのインポートと同じ振る舞いである。
ケース5は、ユーザ編集情報が「無」で、仕向け情報がインポート動作を行っているデバイスと「一致」していて、機種管理番号が「一致」、でファームバージョンが「特定のバージョンよりも古い」という条件のケースである。この場合は、インポートレベルが3に決定される。同一機種であるが、古いファームウェアであることから異機種相当の振る舞いをさせるというポリシーを表現している。
ケース6は、ユーザ編集情報が「無」で、仕向け情報が「不一致」のケースである。このケースは基本的にはインポートを受け付けないようにするため、インポートレベルを0と設定している。
【0025】
図14の表の設定は様々なポリシーを考慮して設定可能である。例えばケース3、4、5において判断材料に用いられているファームバージョンは、同一機種であってもファームバージョンの違いによって運用される設定情報が異なる場合があり得る。よって、具体的には、バージョンアップに際して大幅な仕様変更があった場合などには、ファームが古いバージョンの際にバックアップしていた情報を新バージョンの同一機種にインポートする場合には異機種からのインポートとみなす。
【0026】
また、ケース1などのように、ユーザがアプリケーションを使って変更を行ったユーザ編集情報に関しては、ユーザが編集したことを示すフラグ情報をXMLファイル内の設定の属性として持たせる。そのフラグが立っていれば無条件に設定情報をインポートできるようインポートレベル1として、ユーザの意図した編集がブロックされ、反映されないような制御を防ぐことができる。
また、アクセサリ接続情報により識別される自装置に接続されるアクセサリの情報や、ライセンス情報により識別される自装置で運用されているライセンスを考慮し、不要な設定を除き、必要な設定を抽出して反映するといったインポートの仕方も可能となる。
本実施例では、インポートレベルを適切に決定し、第1の実施形態と同様に、ポリシーDB310に定義された各キーのレベル情報と比較しながら実際にインポートを行うか否かを判断する。
【0027】
(第3の実施形態)
本実施例では、設定情報のエクスポートに際してフィルタを行う場合の処理を説明する。前述の図12に替えて、図15および図16を用いてその処理を説明する。
【0028】
図15は、本実施例におけるエクスポート処理を説明するためのフローチャートである。
まず、S1501にて、ポリシーDB310を初期化する。
S1502にて、ユーザの入力を受けて、エクスポートレベルの決定を行う。これはユーザがエクスポートする設定情報をどのように利用するかを、異機種向け/同一機種向け/バックアップリストアから選択させ、それによりエクスポートレベルを決定する。
S1503で、各アプリケーションのモジュール402にエクスポートの指示が行われる。これを受けた各モジュールは、S1504にてストレージ403から設定情報を取り出しポリシーDB310に書き込む。この際、前述した実施例と異なり、エクスポートレベルに基づき、必要な設定を抽出してポリシーDBに書き込む。
その後、S1505において、機器識別情報を取り出してポリシーDBに書き込む。S1506にて、書き込まれ情報の形式をXMLに変換し、XMLファイル401を生成する。
【0029】
図16は、前述のS1504の処理を詳細に説明するためのフローチャートである。
S1601にて、エクスポート指示を受けた各モジュールは、S1502で決定したエクスポートレベルを確認する。S1602では、各アプリケーションのモジュールが、自アプリケーションに関連する設定項目に関して以降の処理ステップを繰り返す。全項目の処理を終えると、ループ処理を抜けて、S1504の処理を終了する。
S1603において、エクスポートしようとする設定項目がポリシーDB310に定義があるかを確認する。なければ次の項目へ進む。あればS1604にてポリシーDB310に定義されているキーレベルを取得する。S1605にて、エクスポートレベルと、キーレベルを比較し、現在のエクスポートレベルに対応するキーレベルかどうかを判断する。対応していると判断されれば、S1606にて当該設定項目とその値をストレージ403からポリシーDB310に書き込む。
【0030】
本実施例では、他の実施例に比べ必要な設定情報のみをエクスポートしている。これにより、エクスポートして他の装置にインポートされる間で移動するデータ量が削減される。また、インポート処理に際しても、解析する必要のあるデータが少なくなるので、効率的なインポート処理が行われることになる。
【0031】
(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、プリンタや複写機、それらにさらなる機能が追加された複合機などを含む画像形成装置の設定情報の管理技術に関するものである。
【背景技術】
【0002】
近年、画像形成装置には複数の機能が搭載されるばかりか、各種アプリケーションをインストールして、直接、またはネットワーク上からそれら機能を利用する形態が増加している。機能の増加に応じて、設定または調整すべき設定情報の項目数は増加し、オフィスに初期設置するだけでも、かなりの時間を要するようになった。
そこで、オフィスシステムに納品する前に、システムにあわせたアプリケーションやオプションの導入、およびその設定作業を、事前にまとめて販売側でおこなう、設置前キッティングが行われるようになった。ここでは、事前に納品先から受注した条件や、納入先の既存の機器(たとえば、リプレイス対象機)から取り出した設定情報に従って、手入力で設定を行う。ここで繁忙期に台数が増加し、負荷が集中すると、出荷までの時間が延びてしまう。また、このように調整・設定を済ませて出荷しても、搬入・搬出時の振動・温度差・湿度差などにより、そのまま利用できず、交換せざるを得なくなる、着荷不良になる場合がある。この場合、納入する画像形成装置に対して、再度、設定をする必要がある。このような場合などには、画像形成装置に対して設定値を素早く反映させることが要望されている。
例えば、装置にネットワークやメモリメディアを接続し、他の装置との間における設定項目の共通部分を取得あるいは配信する従来技術がある。特許文献1では、異機種間で共通である設定情報と、特定機種のみに有効な設定情報を区分して管理し、外部記憶装置に出力している。また外部記憶装置から、有効な設定値のみを選択して、内部不揮発メモリに反映する構成が提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−238799号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、近年では画像形成装置の設定情報は、画像形成部分、画像処理部分、インストールされたアプリケーション、及び機器構成の各々に応じた固有な情報と、各機種において共通機能の初期値やアドレス帳などの共通な情報と、細分化されている。例えば、機器構成に応じた固有な設定情報は、同一の機器構成をもつ画像形成装置に限られ、他の構成の画像形成装置においては異なる形式の設定項目やその値で管理され得る。また、ライセンスやセキュリティに関連する設定は、運用面などを考慮した機体固定の情報であり、たとえ同一構成の画像形成装置であっても、転用することはできないものがある。他にも、アプリケーションに応じた固有な設定情報も、そのアプリケーションを設計したベンダーなどにより異なる形式の設定項目などで管理され得る。
さらに、特定の新機種における新機能や仕様変更された機能の設定情報は、当初は固有の設定情報として管理される。しかし、その後、その機能が全機種に浸透すると、固有であった設定情報が、古い機種が淘汰されるにつれ、共通の設定情報に変化しうる。
ここで、特許文献1に記載された技術では、機器情報を管理するため、設定項目毎に送出許可と受入許可を示す更新フラグを持たせ、その設定値を管理している。つまり、設定情報が設定項目ごとに固定的に更新フラグで管理されている。上述したように、画像形成装置における設定情報の用途は細分化されているので、特許文献1記載の管理方法では十分な管理ができない。また、該フラグで送出許可が無効である場合には、外部へその設定値が送出されることが無くなるが、それでは上述したような共通設定への変化した際に、その設定値を他の機器でも引き継がせるといった柔軟な対応ができないといった課題が生じる。
そこで本発明は、それら課題を考慮して、画像形成装置の設定情報を適切に分類し、柔軟に他の機器へ引き継がせるために、画像形成装置の特性である様々な機器識別情報を十分に考慮した管理手法を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記の課題を解決するために、本発明の画像形成装置は、設定情報に従い複数のアプリケーションを制御する画像形成装置であって、接続された機器から入力されるXMLで記述された設定情報をテンポラリ領域に保存する保存手段と、前記テンポラリ領域に保存された設定情報から機器識別情報を取得する取得手段と、前記取得手段により取得された機器識別情報と自装置の機器識別情報とを比較し、前記テンポラリ領域に保存された設定情報に含まれる各設定を反映する際に用いるインポートレベルを決定する決定手段と、前記保存された設定情報において、当該複数のアプリケーションのための各モジュールを用いて、前記インポートレベルに応じて反映すべき設定を抽出して、各アプリケーションでの制御に利用するためのストレージに格納する格納手段とを有し、前記インポートレベルを決定するための機器識別情報は、機種管理番号及び機体管理番号に加え、ファームバージョン、仕向け情報、ユーザ編集情報、アクセサリ接続情報、及びライセンス情報の少なくともいずれかの情報を含むことを特徴とする。
【発明の効果】
【0006】
本発明によれば、画像形成装置の特性である様々な機器識別情報を十分に考慮し、柔軟に他の機器へ設定情報を引き継がせることができる。
【図面の簡単な説明】
【0007】
【図1】画像形成装置を含むシステム構成図
【図2】画像形成装置の構成を示すブロック図
【図3】ソフトウェアモジュール図
【図4】インポート時データフローダイアグラム
【図5】エクスポート時データフローダイアグラム
【図6】DBスキーマとXMLスキーマのサンプル
【図7】DB内に保持されるメタ情報のサンプル
【図8】第1の実施形態におけるインポートシーケンス図
【図9】第1の実施形態におけるインポートシーケンス図
【図10】第1の実施形態におけるインポートシーケンス図
【図11】第1の実施形態におけるインポートシーケンス図
【図12】第1の実施形態におけるエクスポートシーケンス図
【図13】第2の実施形態におけるレベル決定因子の説明
【図14】第2の実施形態におけるレベル決定因子の状態によるレベル決定テーブル
【図15】第3の実施形態におけるエクスポートシーケンス図
【図16】第3の実施形態におけるエクスポートシーケンス図
【発明を実施するための形態】
【0008】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【0009】
(設定値管理のシステム全体の構成図)
図1は、本発明の実施形態に係る、印刷装置や複写機、それらにさらなる機能が追加された複合機などを含む画像形成装置を含む一般的なシステム構成図である。複写機001、複写機002は、原稿を読み取り、画像処理後に、複写物を出力する。また、ネットワーク003を介して受信するクライアントコンピュータが生成するPDLデータなどを出力するプリンタでもある。逆に、複写機001などが読み取ったイメージデータは、同じくネットワーク003を介して、ファイルサーバ/メールサーバといったさまざまな装置に送信することもできる。デバイス群005においては、複写機001と複写機002はデバイス構成が異なることを図示している。
管理サーバ004は、ネットワーク003を介して、複写機001、複写機002を含む、管理対象のデバイス群005と接続され、設定情報のエクスポートやインポートなどといったデバイス管理のための通信を行う。この通信には、HTTP(Hyper Text Transfer Protocol)、SOAP(Simple Object Access Protocol)、FTP(File Transfer Protocol)といった公知のプロトコルを用いる。
遠隔ユーザ環境006は、管理サーバ004と同一の機能性であるが、インターネット007を介して、遠隔保守サービス用の遠隔操作端末008と接続されている。これにより、遠隔操作端末008は、遠隔ユーザ環境006と通信を行い、管理対象デバイス群005に含まれる画像形成装置の設定情報をエクスポートさせる。この設定情報は蓄積され、デバイス群に含まれる他の画像形成装置や、新たに設定されるような画像形成装置、ほかの顧客環境の画像形成装置などに対してインポートすることができる。
また、画像形成装置は、操作パネルから所定操作により、管理サーバ004を介さず、USBストレージデバイス008に対して、直接、設定情報をエクスポートすることができる。USBストレージデバイス008に蓄積した設定情報は、他の画像形成装置に適宜、インポートすることができる。
【0010】
(ハードブロック構成に関する説明)
図2は、本発明の実施形態に係る画像形成装置のハードウェア構成を示すブロック図である。図2において、100は画像形成装置の情報処理部を司るメインコントローラ全体である。また101は画像形成装置の画像処理部を司るサブコントローラ全体である。100と101はバスブリッジ116を介してバス間で接続されている。まずメインコントローラ100の構成要素を説明する。
FLASHROM110あるいはHDD111に記憶されたソフトウェアを実行するCPU1 108を備える。CPU1 108はシステムバス115に接続される各デバイスを総括的に制御する。FLASHROM110あるいはHDD111は、プログラムのみでなく、画像データやユーザ設定の記憶領域としても使われる。109はRAM1で、CPU1 108の主メモリ、ワークエリア等として機能する。112は操作部I/Fで、画像形成装置に備えられたLCDパネル104に描画する。また112には、操作ボタンおよび/あるいはタッチパネル103も接続されている。113は104と一体になっており、オペレータの指示入力を制御する。113はネットワークインタフェースカード(NIC)で、他のネットワーク機器あるいはファイルサーバ等とLAN102を介して双方向にデータをやりとりする。114は外部ストレージインタフェース(USB)で、メモリメディアリーダあるいはICカードリーダなどの外部装置を接続し、双方向にデータをやりとりする。
次に、サブコントローラ101の構成要素を説明する。106は、例えば電子写真方式あるいはインクジェット方式などで実現される紙への印字部である。105は、紙に印字された画像を読み込むための画像読み取り部である。多くの場合、画像読み取り部105にはオプションとしてオートドキュメントフィーダ(不図示)が装着されており、複数枚の原稿を自動的に読み込むことができる。これらはデバイスインタフェース120を通して制御信号をCPU2 117との間で授受する。CPU2 117はシステムバス127に接続される各デバイスを総括的に制御する。105から入力される画像は、スキャナ画像処理部121を介してRAM2 118に読み取り画像として入力される。123は、メモリ画像処理部(IMAGEC)で、画像形成装置のRAM2 118上の画像を処理して、RAM2 118に出力する。画像処理には、回転・変倍・色空間変換・グレースケール変換・合成・符号化・復号化などの処理が含まれる。CPU2 117は、RAM2 118上の画像を、123で画像処理後に、バスブリッジ116を介して、メインコントローラ上の記憶装置110および111に保存する。またCPU2 117は、バスブリッジ116を介して、メインコントローラ上の記憶装置110および111に保存106されている画像をRAM2 118に読み出し、122を経由して106に出力する。121および122は、色空間変換、移動、色調整、濃度制御、遅延量制御が含まれる。ラスターイメージプロセッサ(RIP)119は、RAM2 118上のPDLコードをビットマップイメージに展開し、RAM2 118に出力する。SRAM124は、CPU2 117との間で不揮発データを高速に入出力する。MODEM125は、公衆回線107に接続し、ファクス画像入出力に伴う変復調を行う。
【0011】
(インポートサービスの動作概要)
図3は、本発明における画像形成装置に実装されるインポートサービスのシステム構成図を示す。
ネットワークのインポートサービスに関連する処理を説明する。ここでは、インポートする設定情報として、アドレス帳データ、部門管理データ、機器設定データの処理を例として説明する。インポートサービスリクエスタ301は設定情報を送信し、インポートサービスプロバイダ300は設定情報を受信する。インポートサービスリクエスタ301とインポートサービスプロバイダ300はイントラネット302を介してSOAPメッセージで通信する。HTTPサーバ303、SOAPサーバ304でリクエストメッセージの解釈をした後、そのメッセージに該当する処理のCGI306を起動する。ネットワークインポートモジュール307は、要求を受けて処理する。SOAPサーバ304は、サービスリクエストにあわせて機器設定インポートCGI306を起動する。起動されたCGIは、ネットワークインポートモジュール307に、受信した設定情報を含む設定ファイルをテンポラリ領域320にストアさせた後、二次ストア完了の応答待ちを行う。この設定ファイルは複数のXMLファイルをまとめた圧縮形式で構成されている。一次ストア完了後に、設定管理部308に二次ストア処理を要求する。
設定管理モジュール309は、テンポラリ領域320から圧縮データを読み取って解凍処理を行う。解凍処理が成功した場合は、インポートファイル用のポリシーデータベース310を初期化する。初期化に成功した場合は、解凍処理後に得られたXMLデータをパースしながら、各設定項目に対応する情報をポリシーDB310に登録処理を開始する。具体的には、XMLデータ内に含まれる機体管理番号(シリアル番号)および機種管理番号(シリーズ番号)といった機器識別情報を取得する。機器識別情報の取得に成功すると、インポートサービスを実行している画像形成装置の機器識別情報を取得して、設定情報の中のインポートすべき設定の範囲を示すインポートレベルを決定する。このインポートレベルの決定後に、設定管理モジュール309は、XMLデータ内に含まれる残りの全設定項目に関する情報をポリシーDB310に登録処理する。ここで、ポリシーデータベースに反映できなかった設定項目は、反映履歴(不図示)に登録しておく。設定管理モジュール309は、予め登録された、インポート制御部313に設定反映の範囲(インポートレベル)とともに通知を行う。設定管理モジュール309は、インポート要求元に、二次ストア完了の応答を返す。
インポート制御部313のインポートモジュール群321は、設定管理モジュール309から通知を受けると、通知とともに入力された設定情報を、実際に画像形成装置内での制御に利用するための三次ストアを行う。各インポートモジュールは、画像形成装置内の各機能に固有な一部の設定情報や装置内で共通的に利用される一部の設定情報などをそれぞれ管理するために用意されている。これらインポートモジュールにより、最終的にインポートファイル内で必要な一部の設定情報を抽出され、その設定が画像形成装置において反映される。ここで、各インポートモジュール318〜314は、二次ストアされたポリシーDB310から処理対象の設定項目に合致する一部の設定情報を取得する。ここで取得される設定情報には、設定値や反映ポリシーなどが含まれる。設定管理モジュール309から通知されたインポートレベルと反映ポリシーとを比較して反映すべき設定情報であると判断された場合には、インポートモジュールが実際に画像形成装置で利用されるように、制御用の設定DB322に登録する。
本実施例では、機器設定インポートモジュール314は、ポリシーDB310から機器設定に係る設定情報のみを一項目ずつ読み取って、制御用の機器設定DB315に登録する。部門管理設定インポートモジュール316は、ポリシーDB310から部門管理に係る設定情報のみを読み取って、制御用の部門管理設定DB317に登録する。アドレス帳インポートモジュール318は、ポリシーDB310からアドレス帳設定に係る設定情報のみを読み取って、制御用のアドレス帳DB319に登録する。
次に、USBストレージからのインポート処理について簡単に説明する。USBストレージインポート部311は、ネットワークインポート部305の代わりに、USBストレージデバイス008からのインポート処理を行う。USBインポートモジュール312は、USBストレージデバイス008に設定ファイルが入っていることを検出する。USBインポートモジュール312は、設定ファイルをテンポラリ領域320に保存させた後、設定管理部308に二次ストア処理を要求する。残りのインポート動作はネットワークインポート処理に準ずる。
また、各インポートモジュールは、二次ストアされたポリシーDB310から、処理対象となる設定項目に対応する設定情報の取得に際して後述するメタ情報をさらに取得する。インポートモジュール群321が、各設定情報を制御用の設定DBへ登録する際には、暗号化処理、工場出荷値に戻す処理、あるいは現在の値に対して上書きしない処理などといったメタ情報で指定される登録方法の制御を行う。インポートモジュール群321によるそれぞれが担当する設定情報の制御用の設定DB322への登録が完了すると、各インポートモジュールは、設定管理部308に三次ストア処理の完了を通知する。設定管理部308は、すべての要求先インポートモジュールから完了が通知されると、次回起動時に更新された設定値が反映されるように、画像形成装置をリブートさせる。なお、制御用の設定DB322に関しては、SRAMデバイスやHDDデバイスあるいはそれらのハイブリッド構成となっており、高速・安定動作する反面、容量あたりの単価が高く、容量的制約が大きいものを想定している。
【0012】
図4は、図3の構成におけるインポート時における一次ストア以降のデータの流れを模式化したデータフローダイアグラムである。
まず、インポート処理開始時にはポリシーDBは、初期化される。インポート時にネットワークインポート部307やUSBインポートモジュール312が取得したインポート用XMLファイル401は、設定管理モジュール309によって、ポリシーDB301に蓄積される。この際、ポリシーDBに記載のない名称のキーに関してはXML401に記載があっても書き込まれない。また、XML上に記載されたサイズや型情報と、ポリシーDB301のそれに相違があっても書き込まれない。
ポリシーDB301にデータのストアが完了すると、設定管理モジュール309より機器内の各アプリケーション402など(図3では314、316,318)にインポート命令が通知される。この際、XMLに記載されていた情報を元に算出したインポートレベルを通知する。このインポートレベルの算出についての詳細は後述する。各アプリケーションは自身のデータをポリシーDB301から取り出し、通知されたレベルと、ポリシーDB301の内部のキー毎に記載されているメタ情報のうちレベル情報と比較する。その結果、書き込み可と判断されたものに限り、実際の制御に用いる設定が格納されるストレージ403(図3では315,317、319)に書き込む。
【0013】
図5は、エクスポート時のデータフローダイアグラムである。
まず、エクスポート処理開始時には、ポリシーDBが初期化される。設定管理モジュール309からのエクスポート指示を受けた各アプリケーション402が、設定情報をストレージ403から読み出し、ポリシーDB310に書き込む。この際には、特にポリシーなどを考慮することなくエクスポート可能な全ての設定項目とその値をDBに書き込む。全てのアプリケーションがポリシーDB301に設定情報を書き込んだのち、設定管理モジュール309が設定情報をXMLの形式に変換する。さらにその際に、自装置の機器識別情報を取得して、XMLファイル401に付加情報として書き込む。この付加情報は、他の装置へ設定情報をインポートするときに、インポートレベルを決定する際に用いられることになる。全ての情報が書き込まれたXMLファイル401が機器外へ取り出されエクスポートされることになり、図4で説明した入力されたXMLファイルになる。
【0014】
図6は、ポリシーDB310の内部スキーマ例とXML401の記載例である。
606が設定情報の概念構造であるが、606に示すように階層構造を持ったキーで構成され、各リーフがデータを持つ構造になっている。これをDBおよびXMLで表現する。
DBのテーブルスキーマとしては601のようなKeyIDをリレーションのキーとしてリレーショナルDBの構造をしている。キーの構造とメタ情報を示すKeyListテーブル602には、キーの名称定義とメタ情報が記載されている。ツリー上の階層構造を持った構造となるため親階層を示すParentIDを持つことで階層表現される。メタ情報としてはこの例では32Bitのビット列で表現されており、本発明ではレベル情報などビットアサインの形で規定する。
データの中身を示すValueListテーブル603には実際のデータであるValueとデータサイズとデータ型を示す情報が保持される。また本発明においては初期状態でValueには値が入っていない状態となる。
最後に補足情報となるValueRangeテーブル604にはValueに設定可能なデータの値域情報が保持される。
これを元に、XMLファイルを作成されると、605のような形でタグと要素を作成している。これが一例となりDB内の情報を、ほぼそのままXML表現できていることになる。
【0015】
図7は、KeyListテーブル602に定義されたメタ情報の運用例である。この例では4バイト(=32ビット)の領域を規定しており、本発明ではそのうちの4ビットを利用している。
アーカイブビット701はインポートもしくはエクスポート時にデータが書き込みされたことにより立つ動的なメタ情報フラグである。エクスポート用のXMLを作成する際に参照されたり、XMLのデータをポリシーDBから読み出す際に参照されてデータが入っているかどうかを判断するフラグとして利用する。クリプトビット702はデータ暗号化を行うか否かを示す静的なメタ情報フラグである。このフラグが立っているデータはXMLにデータ記載される際に暗号化され、またXMLからポリシーDBにデータを書き込む際に復号化される動きをする。
最後に、レベル704はこの例では2ビットがアサインされ0〜3の4種類を定義する静的なメタ情報である。例えば、0=インポートエクスポート対象外、1=同一機種同一個体でのバックアップリストアのみ可、2=同一機種異個体でのインポートエクスポート可、3=異機種間でのインポートエクスポート可、などと規定されている。後述のシーケンスでも説明するが、このレベルを基準にインポートの可否が判断される。
【0016】
図8〜図11では、XMLファイルを受信してからインポートが完了するまでの処理を、フローチャートを用いて説明する。
図8は、インポート処理の全体を示すシーケンスである。
S801では、ポリシーDBの初期化がおこなわれる。それまでに書き込まれていた値は全てリセットされ、アーカイブビット701もリセットされる。これによりDBはキー名称と型とサイズ、および静的に定義されたメタ情報のみが存在し、値の入っていない状態のDBとなる。
S802で、XMLファイルをストアして、S803にてXMLファイルの中身をパースしてポリシーDBにデータを書き込む二次ストアを行う。その後、S804にて受信したXMLの付加情報と、インポート動作を行っている自装置に関する情報とを用いてインポートレベルを決定する。その後、S805において決定したインポートレベルと共に各モジュール(402)にインポートの指示を出し、S806で自装置の制御に実際用いるためのストレージ(403)への反映作業が行われる。
【0017】
図9では、S803のXMLデータのポリシーDBへの格納手順について、詳しく説明する。
S901では、XMLファイルを順次パース(解析)する。図6で説明したように、XMLファイル605は、値をもつタグが階層構造を持ったキーで表現されている。
S902で、解析対象である1つのキーを解釈する。そして、S903でポリシーDB内に同一の名称のキーが存在するかどうかを確認し、存在しなければS901で次項目のパースを行う。ポリシーDBに同一名称のキーの存在が確認されていれば、S904でXMLファイル内の該当キーに定義されている値を取得して、ポリシーDBに書き込める形式に変換する。
S905では、そのデータ構造がDBに定義済みのサイズと一致するかを確認し、サイズ不正などがあれば、その項目の書き込みを行わずにS901に戻り、次項目のパースを行う。一方、型とサイズ情報が一致していれば、S906へ進む。S906では、該当項目の値をポリシーDBに書き込む。この際に、メタ情報のアーカイブビットが1に変化することになる。その後、S907で全ての項目の書き込みが終われば終了し、まだ次の項目があれば、S901に戻り、次項目をパースしてポリシーDBへのデータ書き込みを続ける。
【0018】
図10では、S804のインポートレベルを決定する処理を詳しく説明する。
S1001にて、XMLファイルに付加情報として記載されているエクスポートしてきた装置の機器識別情報(機種管理番号(機種コード)、機体管理番号(シリアル番号))を取得する。S1002では、自装置の機器識別情報(機種管理番号、機体管理番号)を読み出し、取得する。S1001、及びS1002で取得された機器識別情報からインポートレベルを以下のように決定する。
S1003では、XMLファイル記載の機種管理番号と自装置の機種管理番号とが一致するかを判別し、一致していなければ別機種からのインポートであると判断してS1005でインポートレベルが3と設定される。S1003で、同一機種と判断されるとS1004に進む。続いて、S1004では、XMLファイル記載の機体管理番号と自装置の機体管理番号とを比較する。これが一致しなければ同一機種で別の機体番号の装置からの設定情報であると判断され、S1006にてインポートレベルが2と設定される。S1004にて機体管理番号も一致した場合は、自機種のバックアップリストアと判断し、S1007でインポートレベルが1と設定される。
【0019】
図11では、S806のデータ展開の処理を詳しく説明する。この処理は、1つタスクで順次コールされてもよいし、同時に複数のタスクで実行されてもよいが、機器内に存在するアプリケーション(402)の数だけ実行される。
まず、S1101では、図9で説明した処理により決定されたインポートレベルの確認を行う。そして、自装置内の各アプリケーションに対応するモジュールは、S1102以降の処理を繰り返しことで、XMLファイル(設定情報)内に含まれる反映すべき設定とその値をインポートする。
S1103で、前述のモジュールは、任意の項目をDBに問い合わせ、設定がポリシーDBに二次ストアされているかどうかを確認する。具体的には、アーカイブビット701が立っているかどうかで判断される。二次ストアの存在が確認されなければ次の項目へ進む。存在が確認されればS1104に進み、その設定を取得するとともに、ポリシーDBに定義されているそのキーのメタ情報からレベル情報を確認する。
S1105にて、S1101で確認したインポートレベルと、そのキーのキーレベルを比較し、インポート可能かどうかの判断を行う。例えば、キーに定義されているメタ情報がキーレベル1(同一個体でのバックアップリストア許可)で、インポートレベル3(異機種からのインポート)であれば許可を与えないため、当該設定をインポートせずに、次の項目へ進む。また、例えば、キーレベル3(異機種間インポートエクスポート許可)で、インポートレベル1(同一個体のバックアップリストア)の場合は、インポートされた設定の反映が許可されるためS1106に進み、ストレージに書き込みを行うことになる。
【0020】
図12は、エクスポートの際の処理を詳しく説明するためのフローチャートである。
前述した図5で示したデータフローダイアグラムでの動作の詳細である。
まず、S1201にて、ポリシーDB310を初期化する。これによりValueに値が入っていない状態になる。
S1202では、各アプリケーションのモジュール402にエクスポートの指示が行われる。S1203にて、各モジュールは、ストレージ403から設定情報を取り出し、ポリシーDB310に書き込む。この際には、インポート時に加味したレベルの考慮は行わず、関連するすべてのデータをポリシーDB310に書き込む。S1204では、自装置の機器識別情報を取り出してポリシーDBに書き込む。この機器識別情報は、機種管理番号と、機体管理番号(SN)の2種類である。S1205にて、ポリシーDBに書き込まれた設定情報をXMLのフォーマットに変換して、XMLファイル401を生成する。
【0021】
(第2の実施形態)
本実施例においては、前述のS804のインポートレベルの決定処理について、さらに特徴的な判定を行う。具体的には、設定情報のインポートに際して、機種管理番号(機種コード)、機体管理番号(シリアル番号)以外の機器識別情報も考慮して、本実施例では、より最適な設定情報のインポート処理を行うことを目的とする。
【0022】
図13には、本実施例で利用するインポートレベルの決定因子として利用可能な情報を列挙している。具体的には、画像形成装置のファームバージョン、仕向け情報、紙サイズの基準情報、ポリシーDBバージョン、ユーザ編集情報、アクセサリ接続情報、ライセンス情報などが含まれる。
【0023】
図14には、図13で示す決定因子に応じたインポートレベルの判定の具体例を示すテーブルを示している。表中にハイフン”−“で示している項目は、その内容を気にしない(Don’t Care)であることを意味している。第2の実施形態では、図14のテーブルに従ってインポートレベルを決定する。図14は、各決定因子の組み合わせによって、インポートレベルが1つ決定することを示している。ここで、インポートレベルの意味は第1の実施形態と同様である。具体的には、レベル0がインポート不可能を示し、レベル1が同一装置におけるバックアップリストア、レベル2が同一機種からのインポート、レベル3が異機種からのインポートが可能であることをそれぞれ意味する。
【0024】
ケース1は、ユーザ編集情報が「有」であるケースで、この場合他の判断因子がどのような状態であってもインポートレベルを1とする。これはユーザが編集している情報は基本的には全面的に受け入れるというポリシーを表現している。
ケース2は、ユーザ編集情報が「無」で、仕向け情報がインポート動作を行っているデバイスと「一致」していて、機種管理番号が「不一致」であるケースである。この場合はインポートレベルが3に決定される。このケースは第1の実施形態の異機種からのインポートと同じ振る舞いである。
ケース3は、ユーザ編集情報が「無」で、仕向け情報がインポート動作を行っているデバイスと「一致」していて、機種管理番号が「一致」、かつ機体管理番号(SN)が「不一致」。さらにファームバージョンが「特定のバージョンよりも新しい」という条件のケースである。この場合は、インポートレベルが2に決定される。これは第1実施形態の同一機種異個体からのインポートと同じ振る舞いである。
ケース4は、ユーザ編集情報が「無」で、仕向け情報がインポート動作を行っているデバイスと「一致」していて、機種管理番号が「一致」、かつ機体管理番号(SN)が「一致」。さらにファームバージョンが「特定のバージョンよりも新しい」という条件のケースである。この場合インポートレベルが1に決定される。これは第1実施形態の同一機種異個体からのインポートと同じ振る舞いである。
ケース5は、ユーザ編集情報が「無」で、仕向け情報がインポート動作を行っているデバイスと「一致」していて、機種管理番号が「一致」、でファームバージョンが「特定のバージョンよりも古い」という条件のケースである。この場合は、インポートレベルが3に決定される。同一機種であるが、古いファームウェアであることから異機種相当の振る舞いをさせるというポリシーを表現している。
ケース6は、ユーザ編集情報が「無」で、仕向け情報が「不一致」のケースである。このケースは基本的にはインポートを受け付けないようにするため、インポートレベルを0と設定している。
【0025】
図14の表の設定は様々なポリシーを考慮して設定可能である。例えばケース3、4、5において判断材料に用いられているファームバージョンは、同一機種であってもファームバージョンの違いによって運用される設定情報が異なる場合があり得る。よって、具体的には、バージョンアップに際して大幅な仕様変更があった場合などには、ファームが古いバージョンの際にバックアップしていた情報を新バージョンの同一機種にインポートする場合には異機種からのインポートとみなす。
【0026】
また、ケース1などのように、ユーザがアプリケーションを使って変更を行ったユーザ編集情報に関しては、ユーザが編集したことを示すフラグ情報をXMLファイル内の設定の属性として持たせる。そのフラグが立っていれば無条件に設定情報をインポートできるようインポートレベル1として、ユーザの意図した編集がブロックされ、反映されないような制御を防ぐことができる。
また、アクセサリ接続情報により識別される自装置に接続されるアクセサリの情報や、ライセンス情報により識別される自装置で運用されているライセンスを考慮し、不要な設定を除き、必要な設定を抽出して反映するといったインポートの仕方も可能となる。
本実施例では、インポートレベルを適切に決定し、第1の実施形態と同様に、ポリシーDB310に定義された各キーのレベル情報と比較しながら実際にインポートを行うか否かを判断する。
【0027】
(第3の実施形態)
本実施例では、設定情報のエクスポートに際してフィルタを行う場合の処理を説明する。前述の図12に替えて、図15および図16を用いてその処理を説明する。
【0028】
図15は、本実施例におけるエクスポート処理を説明するためのフローチャートである。
まず、S1501にて、ポリシーDB310を初期化する。
S1502にて、ユーザの入力を受けて、エクスポートレベルの決定を行う。これはユーザがエクスポートする設定情報をどのように利用するかを、異機種向け/同一機種向け/バックアップリストアから選択させ、それによりエクスポートレベルを決定する。
S1503で、各アプリケーションのモジュール402にエクスポートの指示が行われる。これを受けた各モジュールは、S1504にてストレージ403から設定情報を取り出しポリシーDB310に書き込む。この際、前述した実施例と異なり、エクスポートレベルに基づき、必要な設定を抽出してポリシーDBに書き込む。
その後、S1505において、機器識別情報を取り出してポリシーDBに書き込む。S1506にて、書き込まれ情報の形式をXMLに変換し、XMLファイル401を生成する。
【0029】
図16は、前述のS1504の処理を詳細に説明するためのフローチャートである。
S1601にて、エクスポート指示を受けた各モジュールは、S1502で決定したエクスポートレベルを確認する。S1602では、各アプリケーションのモジュールが、自アプリケーションに関連する設定項目に関して以降の処理ステップを繰り返す。全項目の処理を終えると、ループ処理を抜けて、S1504の処理を終了する。
S1603において、エクスポートしようとする設定項目がポリシーDB310に定義があるかを確認する。なければ次の項目へ進む。あればS1604にてポリシーDB310に定義されているキーレベルを取得する。S1605にて、エクスポートレベルと、キーレベルを比較し、現在のエクスポートレベルに対応するキーレベルかどうかを判断する。対応していると判断されれば、S1606にて当該設定項目とその値をストレージ403からポリシーDB310に書き込む。
【0030】
本実施例では、他の実施例に比べ必要な設定情報のみをエクスポートしている。これにより、エクスポートして他の装置にインポートされる間で移動するデータ量が削減される。また、インポート処理に際しても、解析する必要のあるデータが少なくなるので、効率的なインポート処理が行われることになる。
【0031】
(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
設定情報に従い複数のアプリケーションを制御する画像形成装置であって、
接続された機器から入力されるXMLで記述された設定情報をテンポラリ領域に保存する保存手段と、
前記テンポラリ領域に保存された設定情報から機器識別情報を取得する取得手段と、
前記取得手段により取得された機器識別情報と自装置の機器識別情報とを比較し、前記テンポラリ領域に保存された設定情報に含まれる各設定を反映する際に用いるインポートレベルを決定する決定手段と、
前記保存された設定情報において、当該複数のアプリケーションのための各モジュールを用いて、前記インポートレベルに応じて反映すべき設定を抽出して、各アプリケーションでの制御に利用するためのストレージに格納する格納手段とを有し、
前記インポートレベルを決定するための機器識別情報は、機種管理番号及び機体管理番号に加え、ファームバージョン、仕向け情報、ユーザ編集情報、アクセサリ接続情報、及びライセンス情報の少なくともいずれかの情報を含むことを特徴とする画像形成装置。
【請求項2】
ユーザの入力に基づき、エクスポートレベルを決定する決定手段と、
前記複数のアプリケーションのための各モジュールを用いて、各アプリケーションでの制御に利用するためのストレージに含まれる設定情報から、前記決定されたエクスポートレベルに従い必要な設定を抽出して、エクスポートすべき設定情報を管理するデータベースに書き込む書き込み手段とをさらに有することを特徴とする請求項1に記載の画像形成装置。
【請求項3】
前記接続された機器には、USBストレージデバイスが含まれることを特徴とする請求項1または2に記載の画像形成装置。
【請求項4】
設定情報に従い複数のアプリケーションを制御する画像形成装置における管理方法であって、
接続された機器から入力される設定情報をテンポラリ領域に保存する保存工程と、
前記テンポラリ領域に保存された設定情報から機器識別情報を取得する取得工程と、
前記取得工程で取得された機器識別情報と自装置の機器識別情報とを比較し、前記テンポラリ領域に保存された設定情報に含まれる各設定を反映する際に用いるインポートレベルを決定する決定工程と、
前記保存された設定情報において、当該複数のアプリケーションのための各モジュールを用いて、前記インポートレベルに応じて反映すべき設定を抽出して、各アプリケーションでの制御に利用するためのストレージに格納する格納工程とを有し、
前記インポートレベルを決定するための機器識別情報は、機種管理番号及び機体管理番号に加え、ファームバージョン、仕向け情報、ユーザ編集情報、アクセサリ接続情報、及びライセンス情報の少なくともいずれかの情報を含むことを特徴とする管理方法。
【請求項5】
請求項1乃至3のいずれかに1項に記載の手段としてコンピュータを機能させるためのプログラム。
【請求項1】
設定情報に従い複数のアプリケーションを制御する画像形成装置であって、
接続された機器から入力されるXMLで記述された設定情報をテンポラリ領域に保存する保存手段と、
前記テンポラリ領域に保存された設定情報から機器識別情報を取得する取得手段と、
前記取得手段により取得された機器識別情報と自装置の機器識別情報とを比較し、前記テンポラリ領域に保存された設定情報に含まれる各設定を反映する際に用いるインポートレベルを決定する決定手段と、
前記保存された設定情報において、当該複数のアプリケーションのための各モジュールを用いて、前記インポートレベルに応じて反映すべき設定を抽出して、各アプリケーションでの制御に利用するためのストレージに格納する格納手段とを有し、
前記インポートレベルを決定するための機器識別情報は、機種管理番号及び機体管理番号に加え、ファームバージョン、仕向け情報、ユーザ編集情報、アクセサリ接続情報、及びライセンス情報の少なくともいずれかの情報を含むことを特徴とする画像形成装置。
【請求項2】
ユーザの入力に基づき、エクスポートレベルを決定する決定手段と、
前記複数のアプリケーションのための各モジュールを用いて、各アプリケーションでの制御に利用するためのストレージに含まれる設定情報から、前記決定されたエクスポートレベルに従い必要な設定を抽出して、エクスポートすべき設定情報を管理するデータベースに書き込む書き込み手段とをさらに有することを特徴とする請求項1に記載の画像形成装置。
【請求項3】
前記接続された機器には、USBストレージデバイスが含まれることを特徴とする請求項1または2に記載の画像形成装置。
【請求項4】
設定情報に従い複数のアプリケーションを制御する画像形成装置における管理方法であって、
接続された機器から入力される設定情報をテンポラリ領域に保存する保存工程と、
前記テンポラリ領域に保存された設定情報から機器識別情報を取得する取得工程と、
前記取得工程で取得された機器識別情報と自装置の機器識別情報とを比較し、前記テンポラリ領域に保存された設定情報に含まれる各設定を反映する際に用いるインポートレベルを決定する決定工程と、
前記保存された設定情報において、当該複数のアプリケーションのための各モジュールを用いて、前記インポートレベルに応じて反映すべき設定を抽出して、各アプリケーションでの制御に利用するためのストレージに格納する格納工程とを有し、
前記インポートレベルを決定するための機器識別情報は、機種管理番号及び機体管理番号に加え、ファームバージョン、仕向け情報、ユーザ編集情報、アクセサリ接続情報、及びライセンス情報の少なくともいずれかの情報を含むことを特徴とする管理方法。
【請求項5】
請求項1乃至3のいずれかに1項に記載の手段としてコンピュータを機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2012−226662(P2012−226662A)
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願番号】特願2011−95180(P2011−95180)
【出願日】平成23年4月21日(2011.4.21)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願日】平成23年4月21日(2011.4.21)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]