(57)【特許請求の範囲】
【請求項１】
複数のアプリケーションを制御する画像形成装置であって、
接続された機器から入力される設定情報をテンポラリ領域に保存する保存手段と、前記テンポラリ領域に保存された設定情報から、機種管理番号及び機体管理番号を少なくとも含む機器識別情報を取得する取得手段と、
前記取得手段により取得された機器識別情報と自装置の機種管理番号及び機体管理番号との比較の結果として、（１）前記取得手段により取得された機器識別情報に含まれる機種管理番号及び機体管理番号が、自装置の機種管理番号及び機体管理番号と一致する場合と、（２）前記取得手段により取得された機器識別情報に含まれる機種管理番号が自装置の機種管理番号と一致し、機器識別情報に含まれる機体管理番号が自装置の機体管理番号と一致しない場合と、（３）前記取得手段により取得された機器識別情報に含まれる機種管理番号が自装置の機種管理番号と一致しない場合と、でそれぞれ異なる１つのインポートレベルを、３つのインポートレベルの中から決定する決定手段と、
前記決定されたインポートレベルと、前記テンポラリ領域に保存された設定情報に含まれる複数の設定値のそれぞれに対応する属性に応じて、該設定情報から自装置に対して反映すべき１以上の設定値を抽出する抽出手段と、
前記抽出手段により抽出された１以上の設定値を各アプリケーションでの制御に利用するためのストレージに格納する格納手段と、を有し、
前記設定値に対応する属性には、（一）インポート対象外、（二）前記取得手段により取得された機器識別情報に含まれる機種管理番号及び機体管理番号が、自装置の機種管理番号及び機体管理番号と一致する場合のみインポート可、（三）前記取得手段により取得された機器識別情報に含まれる機種管理番号が自装置の機種管理番号と一致し、機器識別情報に含まれる機体管理番号が自装置の機体管理番号と一致しない場合にもインポート可、及び、（四）前記取得手段により取得された機器識別情報に含まれる機種管理番号が自装置の機種管理番号と一致しない場合にもインポート可の４つの属性が存在し、
前記抽出手段は、前記決定手段が決定した前記インポートレベルにおいてインポート可能な設定値であることを示す属性に対応する設定値を抽出することを特徴とする画像形成装置。
【請求項２】
ユーザの入力に基づき、エクスポートレベルを決定する決定手段と、
エクスポートすべき設定値を管理するデータベースに、前記決定されたエクスポートレベルに従い前記抽出手段により前記ストレージから抽出された設定値を書き込む書き込み手段と、
エクスポート命令に応じて、前記書き込まれた設定値を用いてエクスポートファイルを生成する生成手段と、を更に有することを特徴とする請求項１に記載の画像形成装置。 
【請求項３】
前記接続された機器には、ＵＳＢストレージデバイスが含まれることを特徴とする請求項１または２に記載の画像形成装置。
【請求項４】
前記保存手段により前記テンポラリ領域に保存される設定情報は、ＸＭＬで記述されることを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項５】
前記機器識別情報には、ファームバージョン、及び仕向け情報の少なくともいずれかの情報が更に含まれることを特徴とする請求項１乃至４のいずれか１項に記載の画像形成装置。
【請求項６】
前記機器識別情報には、アクセサリ接続情報、及びライセンス情報の少なくともいずれかの情報が更に含まれることを特徴とする請求項５に記載の画像形成装置。
【請求項７】
前記生成手段は、前記エクスポートファイルに対して、自装置の機器識別情報を追加することを特徴とする請求項２に記載の画像形成装置。
【請求項８】
前記複数の設定値のそれぞれに対応する属性は、前記画像形成装置のデータベースで管理されることを特徴とする請求項１乃至７のいずれか１項に記載の画像形成装置。 
【請求項９】
複数のアプリケーションを制御する画像形成装置における管理方法であって、接続された機器から入力される設定情報をテンポラリ領域に保存する保存工程と、前記テンポラリ領域に保存された設定情報から、機種管理番号及び機体管理番号を少なくとも含む機器識別情報を取得する取得工程と、
前記取得工程で取得された機器識別情報と自装置の機種管理番号及び機体管理番号との比較の結果として、（１）前記取得工程で取得された機器識別情報に含まれる機種管理番号及び機体管理番号が、自装置の機種管理番号及び機体管理番号と一致する場合と、（２）前記取得工程で取得された機器識別情報に含まれる機種管理番号が自装置の機種管理番号と一致し、機器識別情報に含まれる機体管理番号が自装置の機体管理番号と一致しない場合と、（３）前記取得工程で取得された機器識別情報に含まれる機種管理番号が自装置の機種管理番号と一致しない場合と、でそれぞれ異なる１つのインポートレベルを、３つのインポートレベルの中から決定する決定工程と、
前記決定されたインポートレベルと、前記テンポラリ領域に保存された設定情報に含まれる複数の設定値のそれぞれに対応する属性に応じて、該設定情報から自装置に対して反映すべき１以上の設定値を抽出する抽出工程と、
前記抽出された１以上の設定値を各アプリケーションでの制御に利用するためのストレージに格納する格納工程と、を有し、
前記設定値に対応する属性には、（一）インポート対象外、（二）前記取得工程で取得された機器識別情報に含まれる機種管理番号及び機体管理番号が、自装置の機種管理番号及び機体管理番号と一致する場合のみインポート可、（三）前記取得工程で取得された機器識別情報に含まれる機種管理番号が自装置の機種管理番号と一致し、機器識別情報に含まれる機体管理番号が自装置の機体管理番号と一致しない場合にもインポート可、及び、（四）前記取得工程で取得された機器識別情報に含まれる機種管理番号が自装置の機種管理番号と一致しない場合にもインポート可の４つの属性が存在し、
前記抽出工程では、前記決定工程において決定した前記インポートレベルにおいてインポート可能な設定値であることを示す属性に対応する設定値を抽出することを特徴とする管理方法。
【請求項１０】
前記接続された機器には、ＵＳＢストレージデバイスが含まれることを特徴とする請求項９に記載の管理方法。
【請求項１１】
前記保存工程で前記テンポラリ領域に保存される設定情報は、ＸＭＬで記述されることを特徴とする請求項９または１０に記載の管理方法。
【請求項１２】
前記機器識別情報には、ファームバージョン、及び仕向け情報の少なくともいずれかの情報が更に含まれることを特徴とする請求項９乃至１１のいずれか１項に記載の管理方法。
【請求項１３】
請求項１乃至８のいずれか１項に記載の手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタや複写機、それらにさらなる機能が追加された複合機などを含む画像形成装置の設定情報の管理技術に関するものである。
【背景技術】
【０００２】
近年、画像形成装置には複数の機能が搭載されるばかりか、各種アプリケーションをインストールして、直接、またはネットワーク上からそれら機能を利用する形態が増加している。機能の増加に応じて、設定または調整すべき設定情報の項目数は増加し、オフィスに初期設置するだけでも、かなりの時間を要するようになった。
そこで、オフィスシステムに納品する前に、システムにあわせたアプリケーションやオプションの導入、およびその設定作業を、事前にまとめて販売側でおこなう、設置前キッティングが行われるようになった。ここでは、事前に納品先から受注した条件や、納入先の既存の機器（たとえば、リプレイス対象機）から取り出した設定情報に従って、手入力で設定を行う。ここで繁忙期に台数が増加し、負荷が集中すると、出荷までの時間が延びてしまう。また、このように調整・設定を済ませて出荷しても、搬入・搬出時の振動・温度差・湿度差などにより、そのまま利用できず、交換せざるを得なくなる、着荷不良になる場合がある。この場合、納入する画像形成装置に対して、再度、設定をする必要がある。このような場合などには、画像形成装置に対して設定値を素早く反映させることが要望されている。
例えば、装置にネットワークやメモリメディアを接続し、他の装置との間における設定項目の共通部分を取得あるいは配信する従来技術がある。特許文献１では、異機種間で共通である設定情報と、特定機種のみに有効な設定情報を区分して管理し、外部記憶装置に出力している。また外部記憶装置から、有効な設定値のみを選択して、内部不揮発メモリに反映する構成が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２３８７９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、近年では画像形成装置の設定情報は、画像形成部分、画像処理部分、インストールされたアプリケーション、及び機器構成の各々に応じた固有な情報と、各機種において共通機能の初期値やアドレス帳などの共通な情報と、細分化されている。例えば、機器構成に応じた固有な設定情報は、同一の機器構成をもつ画像形成装置に限られ、他の構成の画像形成装置においては異なる形式の設定項目やその値で管理され得る。また、ライセンスやセキュリティに関連する設定は、運用面などを考慮した機体固定の情報であり、たとえ同一構成の画像形成装置であっても、転用することはできないものがある。他にも、アプリケーションに応じた固有な設定情報も、そのアプリケーションを設計したベンダーなどにより異なる形式の設定項目などで管理され得る。
さらに、特定の新機種における新機能や仕様変更された機能の設定情報は、当初は固有の設定情報として管理される。しかし、その後、その機能が全機種に浸透すると、固有であった設定情報が、古い機種が淘汰されるにつれ、共通の設定情報に変化しうる。
ここで、特許文献１に記載された技術では、機器情報を管理するため、設定項目毎に送出許可と受入許可を示す更新フラグを持たせ、その設定値を管理している。つまり、設定情報が設定項目ごとに固定的に更新フラグで管理されている。上述したように、画像形成装置における設定情報の用途は細分化されているので、特許文献１記載の管理方法では十分な管理ができない。また、該フラグで送出許可が無効である場合には、外部へその設定値が送出されることが無くなるが、それでは上述したような共通設定への変化した際に、その設定値を他の機器でも引き継がせるといった柔軟な対応ができないといった課題が生じる。
そこで本発明は、それら課題を考慮して、画像形成装置の設定情報を適切に分類し、柔軟に他の機器へ引き継がせるために、画像形成装置の特性である様々な機器識別情報を十分に考慮した管理手法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、本発明の画像形成装置は、接続された機器から入力される設定情報をテンポラリ領域に保存する保存手段と、前記テンポラリ領域に保存された設定情報から、機種管理番号及び機体管理番号を少なくとも含む機器識別情報を取得する取得手段と、前記取得手段により取得された機器識別情報と自装置の機種管理番号及び機体管理番号との比較の結果として、（１）前記取得手段により取得された機器識別情報に含まれる機種管理番号及び機体管理番号が、自装置の機種管理番号及び機体管理番号と一致する場合と、（２）前記取得手段により取得された機器識別情報に含まれる機種管理番号が自装置の機種管理番号と一致し、機器識別情報に含まれる機体管理番号が自装置の機体管理番号と一致しない場合と、（３）前記取得手段により取得された機器識別情報に含まれる機種管理番号が自装置の機種管理番号と一致しない場合と、でそれぞれ異なる１つのインポートレベルを、３つのインポートレベルの中から決定する決定手段と、前記決定されたインポートレベルと、前記テンポラリ領域に保存された設定情報に含まれる複数の設定値のそれぞれに対応する属性に応じて、該設定情報から自装置に対して反映すべき１以上の設定値を抽出する抽出手段と、前記抽出手段により抽出された１以上の設定値を各アプリケーションでの制御に利用するためのストレージに格納する格納手段と、を有し、前記設定値に対応する属性には、（一）インポート対象外、（二）前記取得手段により取得された機器識別情報に含まれる機種管理番号及び機体管理番号が、自装置の機種管理番号及び機体管理番号と一致する場合のみインポート可、（三）前記取得手段により取得された機器識別情報に含まれる機種管理番号が自装置の機種管理番号と一致し、機器識別情報に含まれる機体管理番号が自装置の機体管理番号と一致しない場合にもインポート可、及び、（四）前記取得手段により取得された機器識別情報に含まれる機種管理番号が自装置の機種管理番号と一致しない場合にもインポート可の４つの属性が存在し、前記抽出手段は、前記決定手段が決定した前記インポートレベルにおいてインポート可能な設定値であることを示す属性に対応する設定値を抽出することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、画像形成装置の特性である様々な機器識別情報を十分に考慮し、柔軟に他の機器へ設定情報を引き継がせることができる。
【図面の簡単な説明】
【０００７】
【図１】画像形成装置を含むシステム構成図
【図２】画像形成装置の構成を示すブロック図
【図３】ソフトウェアモジュール図
【図４】インポート時データフローダイアグラム
【図５】エクスポート時データフローダイアグラム
【図６】ＤＢスキーマとＸＭＬスキーマのサンプル
【図７】ＤＢ内に保持されるメタ情報のサンプル
【図８】第１の実施形態におけるインポートシーケンス図
【図９】第１の実施形態におけるインポートシーケンス図
【図１０】第１の実施形態におけるインポートシーケンス図
【図１１】第１の実施形態におけるインポートシーケンス図
【図１２】第１の実施形態におけるエクスポートシーケンス図
【図１３】第２の実施形態におけるレベル決定因子の説明
【図１４】第２の実施形態におけるレベル決定因子の状態によるレベル決定テーブル
【図１５】第３の実施形態におけるエクスポートシーケンス図
【図１６】第３の実施形態におけるエクスポートシーケンス図
【発明を実施するための形態】
【０００８】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【０００９】
（設定値管理のシステム全体の構成図）
図１は、本発明の実施形態に係る、印刷装置や複写機、それらにさらなる機能が追加された複合機などを含む画像形成装置を含む一般的なシステム構成図である。複写機００１、複写機００２は、原稿を読み取り、画像処理後に、複写物を出力する。また、ネットワーク００３を介して受信するクライアントコンピュータが生成するＰＤＬデータなどを出力するプリンタでもある。逆に、複写機００１などが読み取ったイメージデータは、同じくネットワーク００３を介して、ファイルサーバ／メールサーバといったさまざまな装置に送信することもできる。デバイス群００５においては、複写機００１と複写機００２はデバイス構成が異なることを図示している。
管理サーバ００４は、ネットワーク００３を介して、複写機００１、複写機００２を含む、管理対象のデバイス群００５と接続され、設定情報のエクスポートやインポートなどといったデバイス管理のための通信を行う。この通信には、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、ＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）といった公知のプロトコルを用いる。
遠隔ユーザ環境００６は、管理サーバ００４と同一の機能性であるが、インターネット００７を介して、遠隔保守サービス用の遠隔操作端末００８と接続されている。これにより、遠隔操作端末００８は、遠隔ユーザ環境００６と通信を行い、管理対象デバイス群００５に含まれる画像形成装置の設定情報をエクスポートさせる。この設定情報は蓄積され、デバイス群に含まれる他の画像形成装置や、新たに設定されるような画像形成装置、ほかの顧客環境の画像形成装置などに対してインポートすることができる。
また、画像形成装置は、操作パネルから所定操作により、管理サーバ００４を介さず、ＵＳＢストレージデバイス００８に対して、直接、設定情報をエクスポートすることができる。ＵＳＢストレージデバイス００８に蓄積した設定情報は、他の画像形成装置に適宜、インポートすることができる。
【００１０】
（ハードブロック構成に関する説明）
図２は、本発明の実施形態に係る画像形成装置のハードウェア構成を示すブロック図である。図２において、１００は画像形成装置の情報処理部を司るメインコントローラ全体である。また１０１は画像形成装置の画像処理部を司るサブコントローラ全体である。１００と１０１はバスブリッジ１１６を介してバス間で接続されている。まずメインコントローラ１００の構成要素を説明する。
ＦＬＡＳＨＲＯＭ１１０あるいはＨＤＤ１１１に記憶されたソフトウェアを実行するＣＰＵ１  １０８を備える。ＣＰＵ１  １０８はシステムバス１１５に接続される各デバイスを総括的に制御する。ＦＬＡＳＨＲＯＭ１１０あるいはＨＤＤ１１１は、プログラムのみでなく、画像データやユーザ設定の記憶領域としても使われる。１０９はＲＡＭ１で、ＣＰＵ１  １０８の主メモリ、ワークエリア等として機能する。１１２は操作部Ｉ／Ｆで、画像形成装置に備えられたＬＣＤパネル１０４に描画する。また１１２には、操作ボタンおよび／あるいはタッチパネル１０３も接続されている。１１３は１０４と一体になっており、オペレータの指示入力を制御する。１１３はネットワークインタフェースカード（ＮＩＣ）で、他のネットワーク機器あるいはファイルサーバ等とＬＡＮ１０２を介して双方向にデータをやりとりする。１１４は外部ストレージインタフェース（ＵＳＢ）で、メモリメディアリーダあるいはＩＣカードリーダなどの外部装置を接続し、双方向にデータをやりとりする。
次に、サブコントローラ１０１の構成要素を説明する。１０６は、例えば電子写真方式あるいはインクジェット方式などで実現される紙への印字部である。１０５は、紙に印字された画像を読み込むための画像読み取り部である。多くの場合、画像読み取り部１０５にはオプションとしてオートドキュメントフィーダ（不図示）が装着されており、複数枚の原稿を自動的に読み込むことができる。これらはデバイスインタフェース１２０を通して制御信号をＣＰＵ２  １１７との間で授受する。ＣＰＵ２  １１７はシステムバス１２７に接続される各デバイスを総括的に制御する。１０５から入力される画像は、スキャナ画像処理部１２１を介してＲＡＭ２  １１８に読み取り画像として入力される。１２３は、メモリ画像処理部（ＩＭＡＧＥＣ）で、画像形成装置のＲＡＭ２  １１８上の画像を処理して、ＲＡＭ２  １１８に出力する。画像処理には、回転・変倍・色空間変換・グレースケール変換・合成・符号化・復号化などの処理が含まれる。ＣＰＵ２  １１７は、ＲＡＭ２  １１８上の画像を、１２３で画像処理後に、バスブリッジ１１６を介して、メインコントローラ上の記憶装置１１０および１１１に保存する。またＣＰＵ２  １１７は、バスブリッジ１１６を介して、メインコントローラ上の記憶装置１１０および１１１に保存１０６されている画像をＲＡＭ２  １１８に読み出し、１２２を経由して１０６に出力する。１２１および１２２は、色空間変換、移動、色調整、濃度制御、遅延量制御が含まれる。ラスターイメージプロセッサ（ＲＩＰ）１１９は、ＲＡＭ２  １１８上のＰＤＬコードをビットマップイメージに展開し、ＲＡＭ２  １１８に出力する。ＳＲＡＭ１２４は、ＣＰＵ２  １１７との間で不揮発データを高速に入出力する。ＭＯＤＥＭ１２５は、公衆回線１０７に接続し、ファクス画像入出力に伴う変復調を行う。
【００１１】
（インポートサービスの動作概要）
図３は、本発明における画像形成装置に実装されるインポートサービスのシステム構成図を示す。
ネットワークのインポートサービスに関連する処理を説明する。ここでは、インポートする設定情報として、アドレス帳データ、部門管理データ、機器設定データの処理を例として説明する。インポートサービスリクエスタ３０１は設定情報を送信し、インポートサービスプロバイダ３００は設定情報を受信する。インポートサービスリクエスタ３０１とインポートサービスプロバイダ３００はイントラネット３０２を介してＳＯＡＰメッセージで通信する。ＨＴＴＰサーバ３０３、ＳＯＡＰサーバ３０４でリクエストメッセージの解釈をした後、そのメッセージに該当する処理のＣＧＩ３０６を起動する。ネットワークインポートモジュール３０７は、要求を受けて処理する。ＳＯＡＰサーバ３０４は、サービスリクエストにあわせて機器設定インポートＣＧＩ３０６を起動する。起動されたＣＧＩは、ネットワークインポートモジュール３０７に、受信した設定情報を含む設定ファイルをテンポラリ領域３２０にストアさせた後、二次ストア完了の応答待ちを行う。この設定ファイルは複数のＸＭＬファイルをまとめた圧縮形式で構成されている。一次ストア完了後に、設定管理部３０８に二次ストア処理を要求する。
設定管理モジュール３０９は、テンポラリ領域３２０から圧縮データを読み取って解凍処理を行う。解凍処理が成功した場合は、インポートファイル用のポリシーデータベース３１０を初期化する。初期化に成功した場合は、解凍処理後に得られたＸＭＬデータをパースしながら、各設定項目に対応する情報をポリシーＤＢ３１０に登録処理を開始する。具体的には、ＸＭＬデータ内に含まれる機体管理番号（シリアル番号）および機種管理番号（シリーズ番号）といった機器識別情報を取得する。機器識別情報の取得に成功すると、インポートサービスを実行している画像形成装置の機器識別情報を取得して、設定情報の中のインポートすべき設定の範囲を示すインポートレベルを決定する。このインポートレベルの決定後に、設定管理モジュール３０９は、ＸＭＬデータ内に含まれる残りの全設定項目に関する情報をポリシーＤＢ３１０に登録処理する。ここで、ポリシーデータベースに反映できなかった設定項目は、反映履歴（不図示）に登録しておく。設定管理モジュール３０９は、予め登録された、インポート制御部３１３に設定反映の範囲（インポートレベル）とともに通知を行う。設定管理モジュール３０９は、インポート要求元に、二次ストア完了の応答を返す。
インポート制御部３１３のインポートモジュール群３２１は、設定管理モジュール３０９から通知を受けると、通知とともに入力された設定情報を、実際に画像形成装置内での制御に利用するための三次ストアを行う。各インポートモジュールは、画像形成装置内の各機能に固有な一部の設定情報や装置内で共通的に利用される一部の設定情報などをそれぞれ管理するために用意されている。これらインポートモジュールにより、最終的にインポートファイル内で必要な一部の設定情報を抽出され、その設定が画像形成装置において反映される。ここで、各インポートモジュール３１８〜３１４は、二次ストアされたポリシーＤＢ３１０から処理対象の設定項目に合致する一部の設定情報を取得する。ここで取得される設定情報には、設定値や反映ポリシーなどが含まれる。設定管理モジュール３０９から通知されたインポートレベルと反映ポリシーとを比較して反映すべき設定情報であると判断された場合には、インポートモジュールが実際に画像形成装置で利用されるように、制御用の設定ＤＢ３２２に登録する。
本実施例では、機器設定インポートモジュール３１４は、ポリシーＤＢ３１０から機器設定に係る設定情報のみを一項目ずつ読み取って、制御用の機器設定ＤＢ３１５に登録する。部門管理設定インポートモジュール３１６は、ポリシーＤＢ３１０から部門管理に係る設定情報のみを読み取って、制御用の部門管理設定ＤＢ３１７に登録する。アドレス帳インポートモジュール３１８は、ポリシーＤＢ３１０からアドレス帳設定に係る設定情報のみを読み取って、制御用のアドレス帳ＤＢ３１９に登録する。
次に、ＵＳＢストレージからのインポート処理について簡単に説明する。ＵＳＢストレージインポート部３１１は、ネットワークインポート部３０５の代わりに、ＵＳＢストレージデバイス００８からのインポート処理を行う。ＵＳＢインポートモジュール３１２は、ＵＳＢストレージデバイス００８に設定ファイルが入っていることを検出する。ＵＳＢインポートモジュール３１２は、設定ファイルをテンポラリ領域３２０に保存させた後、設定管理部３０８に二次ストア処理を要求する。残りのインポート動作はネットワークインポート処理に準ずる。
また、各インポートモジュールは、二次ストアされたポリシーＤＢ３１０から、処理対象となる設定項目に対応する設定情報の取得に際して後述するメタ情報をさらに取得する。インポートモジュール群３２１が、各設定情報を制御用の設定ＤＢへ登録する際には、暗号化処理、工場出荷値に戻す処理、あるいは現在の値に対して上書きしない処理などといったメタ情報で指定される登録方法の制御を行う。インポートモジュール群３２１によるそれぞれが担当する設定情報の制御用の設定ＤＢ３２２への登録が完了すると、各インポートモジュールは、設定管理部３０８に三次ストア処理の完了を通知する。設定管理部３０８は、すべての要求先インポートモジュールから完了が通知されると、次回起動時に更新された設定値が反映されるように、画像形成装置をリブートさせる。なお、制御用の設定ＤＢ３２２に関しては、ＳＲＡＭデバイスやＨＤＤデバイスあるいはそれらのハイブリッド構成となっており、高速・安定動作する反面、容量あたりの単価が高く、容量的制約が大きいものを想定している。
【００１２】
図４は、図３の構成におけるインポート時における一次ストア以降のデータの流れを模式化したデータフローダイアグラムである。
まず、インポート処理開始時にはポリシーＤＢは、初期化される。インポート時にネットワークインポート部３０７やＵＳＢインポートモジュール３１２が取得したインポート用ＸＭＬファイル４０１は、設定管理モジュール３０９によって、ポリシーＤＢ３０１に蓄積される。この際、ポリシーＤＢに記載のない名称のキーに関してはＸＭＬ４０１に記載があっても書き込まれない。また、ＸＭＬ上に記載されたサイズや型情報と、ポリシーＤＢ３０１のそれに相違があっても書き込まれない。
ポリシーＤＢ３０１にデータのストアが完了すると、設定管理モジュール３０９より機器内の各アプリケーション４０２など（図３では３１４、３１６，３１８）にインポート命令が通知される。この際、ＸＭＬに記載されていた情報を元に算出したインポートレベルを通知する。このインポートレベルの算出についての詳細は後述する。各アプリケーションは自身のデータをポリシーＤＢ３０１から取り出し、通知されたレベルと、ポリシーＤＢ３０１の内部のキー毎に記載されているメタ情報のうちレベル情報と比較する。その結果、書き込み可と判断されたものに限り、実際の制御に用いる設定が格納されるストレージ４０３（図３では３１５，３１７、３１９）に書き込む。
【００１３】
図５は、エクスポート時のデータフローダイアグラムである。
まず、エクスポート処理開始時には、ポリシーＤＢが初期化される。設定管理モジュール３０９からのエクスポート指示を受けた各アプリケーション４０２が、設定情報をストレージ４０３から読み出し、ポリシーＤＢ３１０に書き込む。この際には、特にポリシーなどを考慮することなくエクスポート可能な全ての設定項目とその値をＤＢに書き込む。全てのアプリケーションがポリシーＤＢ３０１に設定情報を書き込んだのち、設定管理モジュール３０９が設定情報をＸＭＬの形式に変換する。さらにその際に、自装置の機器識別情報を取得して、ＸＭＬファイル４０１に付加情報として書き込む。この付加情報は、他の装置へ設定情報をインポートするときに、インポートレベルを決定する際に用いられることになる。全ての情報が書き込まれたＸＭＬファイル４０１が機器外へ取り出されエクスポートされることになり、図４で説明した入力されたＸＭＬファイルになる。
【００１４】
図６は、ポリシーＤＢ３１０の内部スキーマ例とＸＭＬ４０１の記載例である。
６０６が設定情報の概念構造であるが、６０６に示すように階層構造を持ったキーで構成され、各リーフがデータを持つ構造になっている。これをＤＢおよびＸＭＬで表現する。
ＤＢのテーブルスキーマとしては６０１のようなＫｅｙＩＤをリレーションのキーとしてリレーショナルＤＢの構造をしている。キーの構造とメタ情報を示すＫｅｙＬｉｓｔテーブル６０２には、キーの名称定義とメタ情報が記載されている。ツリー上の階層構造を持った構造となるため親階層を示すＰａｒｅｎｔＩＤを持つことで階層表現される。メタ情報としてはこの例では３２Ｂｉｔのビット列で表現されており、本発明ではレベル情報などビットアサインの形で規定する。
データの中身を示すＶａｌｕｅＬｉｓｔテーブル６０３には実際のデータであるＶａｌｕｅとデータサイズとデータ型を示す情報が保持される。また本発明においては初期状態でＶａｌｕｅには値が入っていない状態となる。
最後に補足情報となるＶａｌｕｅＲａｎｇｅテーブル６０４にはＶａｌｕｅに設定可能なデータの値域情報が保持される。
これを元に、ＸＭＬファイルを作成されると、６０５のような形でタグと要素を作成している。これが一例となりＤＢ内の情報を、ほぼそのままＸＭＬ表現できていることになる。
【００１５】
図７は、ＫｅｙＬｉｓｔテーブル６０２に定義されたメタ情報の運用例である。この例では４バイト（＝３２ビット）の領域を規定しており、本発明ではそのうちの４ビットを利用している。
アーカイブビット７０１はインポートもしくはエクスポート時にデータが書き込みされたことにより立つ動的なメタ情報フラグである。エクスポート用のＸＭＬを作成する際に参照されたり、ＸＭＬのデータをポリシーＤＢから読み出す際に参照されてデータが入っているかどうかを判断するフラグとして利用する。クリプトビット７０２はデータ暗号化を行うか否かを示す静的なメタ情報フラグである。このフラグが立っているデータはＸＭＬにデータ記載される際に暗号化され、またＸＭＬからポリシーＤＢにデータを書き込む際に復号化される動きをする。
最後に、レベル７０４はこの例では２ビットがアサインされ０〜３の４種類を定義する静的なメタ情報である。例えば、０＝インポートエクスポート対象外、１＝同一機種同一個体でのバックアップリストアのみ可、２＝同一機種異個体でのインポートエクスポート可、３＝異機種間でのインポートエクスポート可、などと規定されている。後述のシーケンスでも説明するが、このレベルを基準にインポートの可否が判断される。
【００１６】
図８〜図１１では、ＸＭＬファイルを受信してからインポートが完了するまでの処理を、フローチャートを用いて説明する。
図８は、インポート処理の全体を示すシーケンスである。
Ｓ８０１では、ポリシーＤＢの初期化がおこなわれる。それまでに書き込まれていた値は全てリセットされ、アーカイブビット７０１もリセットされる。これによりＤＢはキー名称と型とサイズ、および静的に定義されたメタ情報のみが存在し、値の入っていない状態のＤＢとなる。
Ｓ８０２で、ＸＭＬファイルをストアして、Ｓ８０３にてＸＭＬファイルの中身をパースしてポリシーＤＢにデータを書き込む二次ストアを行う。その後、Ｓ８０４にて受信したＸＭＬの付加情報と、インポート動作を行っている自装置に関する情報とを用いてインポートレベルを決定する。その後、Ｓ８０５において決定したインポートレベルと共に各モジュール（４０２）にインポートの指示を出し、Ｓ８０６で自装置の制御に実際用いるためのストレージ（４０３）への反映作業が行われる。
【００１７】
図９では、Ｓ８０３のＸＭＬデータのポリシーＤＢへの格納手順について、詳しく説明する。
Ｓ９０１では、ＸＭＬファイルを順次パース（解析）する。図６で説明したように、ＸＭＬファイル６０５は、値をもつタグが階層構造を持ったキーで表現されている。
Ｓ９０２で、解析対象である１つのキーを解釈する。そして、Ｓ９０３でポリシーＤＢ内に同一の名称のキーが存在するかどうかを確認し、存在しなければＳ９０１で次項目のパースを行う。ポリシーＤＢに同一名称のキーの存在が確認されていれば、Ｓ９０４でＸＭＬファイル内の該当キーに定義されている値を取得して、ポリシーＤＢに書き込める形式に変換する。
Ｓ９０５では、そのデータ構造がＤＢに定義済みのサイズと一致するかを確認し、サイズ不正などがあれば、その項目の書き込みを行わずにＳ９０１に戻り、次項目のパースを行う。一方、型とサイズ情報が一致していれば、Ｓ９０６へ進む。Ｓ９０６では、該当項目の値をポリシーＤＢに書き込む。この際に、メタ情報のアーカイブビットが１に変化することになる。その後、Ｓ９０７で全ての項目の書き込みが終われば終了し、まだ次の項目があれば、Ｓ９０１に戻り、次項目をパースしてポリシーＤＢへのデータ書き込みを続ける。
【００１８】
図１０では、Ｓ８０４のインポートレベルを決定する処理を詳しく説明する。
Ｓ１００１にて、ＸＭＬファイルに付加情報として記載されているエクスポートしてきた装置の機器識別情報（機種管理番号（機種コード）、機体管理番号（シリアル番号））を取得する。Ｓ１００２では、自装置の機器識別情報（機種管理番号、機体管理番号）を読み出し、取得する。Ｓ１００１、及びＳ１００２で取得された機器識別情報からインポートレベルを以下のように決定する。
Ｓ１００３では、ＸＭＬファイル記載の機種管理番号と自装置の機種管理番号とが一致するかを判別し、一致していなければ別機種からのインポートであると判断してＳ１００５でインポートレベルが３と設定される。Ｓ１００３で、同一機種と判断されるとＳ１００４に進む。続いて、Ｓ１００４では、ＸＭＬファイル記載の機体管理番号と自装置の機体管理番号とを比較する。これが一致しなければ同一機種で別の機体番号の装置からの設定情報であると判断され、Ｓ１００６にてインポートレベルが２と設定される。Ｓ１００４にて機体管理番号も一致した場合は、自機種のバックアップリストアと判断し、Ｓ１００７でインポートレベルが１と設定される。
【００１９】
図１１では、Ｓ８０６のデータ展開の処理を詳しく説明する。この処理は、１つタスクで順次コールされてもよいし、同時に複数のタスクで実行されてもよいが、機器内に存在するアプリケーション（４０２）の数だけ実行される。
まず、Ｓ１１０１では、図９で説明した処理により決定されたインポートレベルの確認を行う。そして、自装置内の各アプリケーションに対応するモジュールは、Ｓ１１０２以降の処理を繰り返しことで、ＸＭＬファイル（設定情報）内に含まれる反映すべき設定とその値をインポートする。
Ｓ１１０３で、前述のモジュールは、任意の項目をＤＢに問い合わせ、設定がポリシーＤＢに二次ストアされているかどうかを確認する。具体的には、アーカイブビット７０１が立っているかどうかで判断される。二次ストアの存在が確認されなければ次の項目へ進む。存在が確認されればＳ１１０４に進み、その設定を取得するとともに、ポリシーＤＢに定義されているそのキーのメタ情報からレベル情報を確認する。
Ｓ１１０５にて、Ｓ１１０１で確認したインポートレベルと、そのキーのキーレベルを比較し、インポート可能かどうかの判断を行う。例えば、キーに定義されているメタ情報がキーレベル１（同一個体でのバックアップリストア許可）で、インポートレベル３（異機種からのインポート）であれば許可を与えないため、当該設定をインポートせずに、次の項目へ進む。また、例えば、キーレベル３（異機種間インポートエクスポート許可）で、インポートレベル１（同一個体のバックアップリストア）の場合は、インポートされた設定の反映が許可されるためＳ１１０６に進み、ストレージに書き込みを行うことになる。
【００２０】
図１２は、エクスポートの際の処理を詳しく説明するためのフローチャートである。
前述した図５で示したデータフローダイアグラムでの動作の詳細である。
まず、Ｓ１２０１にて、ポリシーＤＢ３１０を初期化する。これによりＶａｌｕｅに値が入っていない状態になる。
Ｓ１２０２では、各アプリケーションのモジュール４０２にエクスポートの指示が行われる。Ｓ１２０３にて、各モジュールは、ストレージ４０３から設定情報を取り出し、ポリシーＤＢ３１０に書き込む。この際には、インポート時に加味したレベルの考慮は行わず、関連するすべてのデータをポリシーＤＢ３１０に書き込む。Ｓ１２０４では、自装置の機器識別情報を取り出してポリシーＤＢに書き込む。この機器識別情報は、機種管理番号と、機体管理番号（ＳＮ）の２種類である。Ｓ１２０５にて、ポリシーＤＢに書き込まれた設定情報をＸＭＬのフォーマットに変換して、ＸＭＬファイル４０１を生成する。
【００２１】
（第２の実施形態）
本実施例においては、前述のＳ８０４のインポートレベルの決定処理について、さらに特徴的な判定を行う。具体的には、設定情報のインポートに際して、機種管理番号（機種コード）、機体管理番号（シリアル番号）以外の機器識別情報も考慮して、本実施例では、より最適な設定情報のインポート処理を行うことを目的とする。
【００２２】
図１３には、本実施例で利用するインポートレベルの決定因子として利用可能な情報を列挙している。具体的には、画像形成装置のファームバージョン、仕向け情報、紙サイズの基準情報、ポリシーＤＢバージョン、ユーザ編集情報、アクセサリ接続情報、ライセンス情報などが含まれる。
【００２３】
図１４には、図１３で示す決定因子に応じたインポートレベルの判定の具体例を示すテーブルを示している。表中にハイフン”−“で示している項目は、その内容を気にしない（Ｄｏｎ’ｔ  Ｃａｒｅ）であることを意味している。第２の実施形態では、図１４のテーブルに従ってインポートレベルを決定する。図１４は、各決定因子の組み合わせによって、インポートレベルが１つ決定することを示している。ここで、インポートレベルの意味は第１の実施形態と同様である。具体的には、レベル０がインポート不可能を示し、レベル１が同一装置におけるバックアップリストア、レベル２が同一機種からのインポート、レベル３が異機種からのインポートが可能であることをそれぞれ意味する。
【００２４】
ケース１は、ユーザ編集情報が「有」であるケースで、この場合他の判断因子がどのような状態であってもインポートレベルを１とする。これはユーザが編集している情報は基本的には全面的に受け入れるというポリシーを表現している。
ケース２は、ユーザ編集情報が「無」で、仕向け情報がインポート動作を行っているデバイスと「一致」していて、機種管理番号が「不一致」であるケースである。この場合はインポートレベルが３に決定される。このケースは第１の実施形態の異機種からのインポートと同じ振る舞いである。
ケース３は、ユーザ編集情報が「無」で、仕向け情報がインポート動作を行っているデバイスと「一致」していて、機種管理番号が「一致」、かつ機体管理番号（ＳＮ）が「不一致」。さらにファームバージョンが「特定のバージョンよりも新しい」という条件のケースである。この場合は、インポートレベルが２に決定される。これは第１実施形態の同一機種異個体からのインポートと同じ振る舞いである。
ケース４は、ユーザ編集情報が「無」で、仕向け情報がインポート動作を行っているデバイスと「一致」していて、機種管理番号が「一致」、かつ機体管理番号（ＳＮ）が「一致」。さらにファームバージョンが「特定のバージョンよりも新しい」という条件のケースである。この場合インポートレベルが１に決定される。これは第１実施形態の同一機種異個体からのインポートと同じ振る舞いである。
ケース５は、ユーザ編集情報が「無」で、仕向け情報がインポート動作を行っているデバイスと「一致」していて、機種管理番号が「一致」、でファームバージョンが「特定のバージョンよりも古い」という条件のケースである。この場合は、インポートレベルが３に決定される。同一機種であるが、古いファームウェアであることから異機種相当の振る舞いをさせるというポリシーを表現している。
ケース６は、ユーザ編集情報が「無」で、仕向け情報が「不一致」のケースである。このケースは基本的にはインポートを受け付けないようにするため、インポートレベルを０と設定している。
【００２５】
図１４の表の設定は様々なポリシーを考慮して設定可能である。例えばケース３、４、５において判断材料に用いられているファームバージョンは、同一機種であってもファームバージョンの違いによって運用される設定情報が異なる場合があり得る。よって、具体的には、バージョンアップに際して大幅な仕様変更があった場合などには、ファームが古いバージョンの際にバックアップしていた情報を新バージョンの同一機種にインポートする場合には異機種からのインポートとみなす。
【００２６】
また、ケース１などのように、ユーザがアプリケーションを使って変更を行ったユーザ編集情報に関しては、ユーザが編集したことを示すフラグ情報をＸＭＬファイル内の設定の属性として持たせる。そのフラグが立っていれば無条件に設定情報をインポートできるようインポートレベル１として、ユーザの意図した編集がブロックされ、反映されないような制御を防ぐことができる。
また、アクセサリ接続情報により識別される自装置に接続されるアクセサリの情報や、ライセンス情報により識別される自装置で運用されているライセンスを考慮し、不要な設定を除き、必要な設定を抽出して反映するといったインポートの仕方も可能となる。
本実施例では、インポートレベルを適切に決定し、第１の実施形態と同様に、ポリシーＤＢ３１０に定義された各キーのレベル情報と比較しながら実際にインポートを行うか否かを判断する。
【００２７】
（第３の実施形態）
本実施例では、設定情報のエクスポートに際してフィルタを行う場合の処理を説明する。前述の図１２に替えて、図１５および図１６を用いてその処理を説明する。
【００２８】
図１５は、本実施例におけるエクスポート処理を説明するためのフローチャートである。
まず、Ｓ１５０１にて、ポリシーＤＢ３１０を初期化する。
Ｓ１５０２にて、ユーザの入力を受けて、エクスポートレベルの決定を行う。これはユーザがエクスポートする設定情報をどのように利用するかを、異機種向け／同一機種向け／バックアップリストアから選択させ、それによりエクスポートレベルを決定する。
Ｓ１５０３で、各アプリケーションのモジュール４０２にエクスポートの指示が行われる。これを受けた各モジュールは、Ｓ１５０４にてストレージ４０３から設定情報を取り出しポリシーＤＢ３１０に書き込む。この際、前述した実施例と異なり、エクスポートレベルに基づき、必要な設定を抽出してポリシーＤＢに書き込む。
その後、Ｓ１５０５において、機器識別情報を取り出してポリシーＤＢに書き込む。Ｓ１５０６にて、書き込まれ情報の形式をＸＭＬに変換し、ＸＭＬファイル４０１を生成する。
【００２９】
図１６は、前述のＳ１５０４の処理を詳細に説明するためのフローチャートである。
Ｓ１６０１にて、エクスポート指示を受けた各モジュールは、Ｓ１５０２で決定したエクスポートレベルを確認する。Ｓ１６０２では、各アプリケーションのモジュールが、自アプリケーションに関連する設定項目に関して以降の処理ステップを繰り返す。全項目の処理を終えると、ループ処理を抜けて、Ｓ１５０４の処理を終了する。
Ｓ１６０３において、エクスポートしようとする設定項目がポリシーＤＢ３１０に定義があるかを確認する。なければ次の項目へ進む。あればＳ１６０４にてポリシーＤＢ３１０に定義されているキーレベルを取得する。Ｓ１６０５にて、エクスポートレベルと、キーレベルを比較し、現在のエクスポートレベルに対応するキーレベルかどうかを判断する。対応していると判断されれば、Ｓ１６０６にて当該設定項目とその値をストレージ４０３からポリシーＤＢ３１０に書き込む。
【００３０】
本実施例では、他の実施例に比べ必要な設定情報のみをエクスポートしている。これにより、エクスポートして他の装置にインポートされる間で移動するデータ量が削減される。また、インポート処理に際しても、解析する必要のあるデータが少なくなるので、効率的なインポート処理が行われることになる。
【００３１】
（他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005939742.tif 000002
【図２】
0005939742.tif 000003
【図３】
0005939742.tif 000004
【図４】
0005939742.tif 000005
【図５】
0005939742.tif 000006
【図６】
0005939742.tif 000007
【図７】
0005939742.tif 000008
【図８】
0005939742.tif 000009
【図９】
0005939742.tif 000010
【図１０】
0005939742.tif 000011
【図１１】
0005939742.tif 000012
【図１２】
0005939742.tif 000013
【図１３】
0005939742.tif 000014
【図１４】
0005939742.tif 000015
【図１５】
0005939742.tif 000016
【図１６】
0005939742.tif 000017