以下、添付図面を参照して本発明の好適な実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
<システム構成の説明>
〔第1実施形態〕
図1は、本実施形態を示すデータ管理システムの構成を示す図である。本例のデータ管理システム(以下、システム)100は、管理サーバ110と画像形成装置の一例である複合機120及び130とPC140を含んで構成される。また、各装置は、ネットワーク150を介して相互に通信可能に接続されている。管理サーバ110は、複合機120及び複合機130(以下、総称してデバイスともいう)を監視しており、例えば、各デバイスの装置状態や機器構成等を監視している。管理サーバ110は、複合機120や複合機130で記憶されている設定値のマスタデータを保持し、同期通信を行うことにより、各デバイスにおける設定値の内容とを自動更新して同期させることができる。
ここで、設定値とは、例えば、ユーザモードやサービスモード等の各モードに関わるデバイス設定値である。また、例えば、カスタムメニュー、個人設定、アドレス帳等のユーザ設定値(ユーザデータ)である。
また、例えば、機器構成、ライセンス情報、機器稼働状態等の設定値(機器構成情報)である。同期通信とは、相手側の装置に保持されているデータの取得要求を相手側の装置に送信し、取得したデータに応じて自装置内のデータの内容を一致させる通信を含む。また、自装置内のデータが変更されたタイミングに応じて、相手側の装置に自装置内のデータを送信することを含む。また、本実施形態に示す情報処理装置が実行する機能は、印刷機能、コピー機能、センド機能、ファクシミリ機能を含むものとする。また、説明上、管理サーバ110が管理する各デバイスの設定情報に対して、複合機120が管理する設定情報をデバイス設定情報として識別するものとする。
図1において、管理サーバ110上のマスタデータが変更された場合には、管理サーバ110は、ネットワーク150を介して複合機120及び複合機130に対して変更情報を通知する。また、管理サーバ110は、複合機120若しくは130から設定値の変更情報を受信した場合には、自装置内のマスタデータの値を変更する。このように、データ管理システム100においては、管理サーバ110と、複合機120及び複合機130との間で、設定値の同期が行われる。データ管理システム100において、複合機120と複合機130とは同じ構成であるので、以下、特に断らない限り、複合機120を複合機120及び130の代表例として扱う。
複合機120は、複数種類の機能、例えばコピー機能やFAX機能等を実行可能ないわゆるMFP(Multifunctinal Peripheral)であり、内部の記憶領域にそれらの機能の実行の際に利用される設定値を記憶している。ここで、設定値に変更があった場合には、複合機120は、ネットワーク150を介して管理サーバ110に対して変更情報を通知する。また、複合機120は、管理サーバ110からマスタデータの変更情報を受信した場合には、自装置内の設定値の値を変更する。また、設定値によっては、複合機120と複合機130との間で、設定値の同期を行う場合もある。
管理サーバ110上のマスタデータに変更があった場合には、複合機120及び130の両方に対して設定値の変更情報が通知される。また、複合機120と複合機130のいずれかの設定値に変更があった場合には、まず、上記のように、一方の複合機から管理サーバ110に対して変更情報が通知され、その後、管理サーバ110を介して他方の複合機に対して変更情報が通知される。
PC140は、ネットワーク150を介して管理サーバ110や複合機120と通信可能な情報処理装置である。一般的なウェブブラウザを備え、管理サーバ110や複合機120の機能を遠隔地から利用することができる。
図2は、図1に示した管理サーバ110の構成を示すブロック図である。
図2において、管理サーバ110は、コントローラユニット200、操作部220、表示部230を含む。コントローラユニット200は、CPU203を含む。CPU203は、ROM206に記憶されているブートプログラムによりOSを起動する。また、CPU203は、OS上で、ハードディスクドライブ(HDD)205に記憶されているアプリケーションプログラム(以下、アプリケーション)を実行して各種処理を実行する。RAM204は、CPU203のワーキングメモリとして用いられる。
HDD205は、アプリケーションとマスタデータ等を記憶する。マスタデータの管理方法については後述する。システムバス210には、ROM206およびRAM204の他に、操作部I/F201、表示部I/F202、ネットワークI/F207が接続されている。操作部I/F201は、ポインティングデバイスやキーボード等を含む操作部220とのインタフェースであり、操作部220を介してユーザから入力された情報をCPU203に送信する。表示部I/F202は、ディスプレイ等を含む表示部230に表示すべき画面データを表示部230に対して出力する。また、ネットワークI/F207は、ネットワーク150上の各装置との間でデータの送受信を行う。
図3は、図1に示した複合機120の構成を示すブロック図である。なお、複合機130も同様の構成を備える。
図3において、複合機120は、コントローラユニット300、操作部320、スキャナ330、プリンタ340を含む。コントローラユニット300は、操作部320と接続されるとともに、画像入力デバイスであるスキャナ330や画像出力デバイスであるプリンタ340とも接続される。
コントローラユニット300において、CPU302は、ROM306に記憶されているブートプログラムによりOSを起動する。また、CPU302は、OS上で、ハードディスクドライブ(HDD)305に記憶されているアプリケーションプログラム(以下、アプリケーション)を実行して各種処理を実行する。RAM303は、CPU302のワーキングメモリとして用いられたり、画像データを一時的に記憶するための画像メモリ領域として用いられる。HDD305は、アプリケーション、画像データ、設定値を記憶する。複合機120における設定値の管理方法については後述する。
システムバス310には、ROM306及びRAM303の他に、操作部I/F301、デバイスI/F304、ネットワークI/F307、画像処理部308が接続される。操作部I/F301は、タッチパネル等を含む操作部320とのインタフェースであり、操作部320に表示すべき画面データを操作部320に対して出力する。また、操作部I/F301は、操作部320を介してユーザから入力された情報をCPU302に送信する。デバイスI/F304は、スキャナ330及びプリンタ340と接続され、画像データの同期系/非同期系の変換を行う。ネットワークI/F307は、ネットワーク150上の各装置との間でデータの送受信を行う。画像処理部308は、スキャナ330で読み取られた画像データの入力処理、プリンタへの画像データの出力処理、画像の回転/圧縮、解像度変換、色空間変換、階調変換などの処理を行う。
図4は、図1に示した管理サーバ110で保持されて管理されるマスタデータの構成を示すブロック図である。本実施形態では、管理サーバ110が管理する設定情報には、機能設定情報、ネットワーク設定情報、ユーザ設定情報、グループ設定情報を含まれている。
図4において、マスタデータ401は、デバイスに関する設定値と、ユーザに関する設定値とを含む。デバイスに関する設定値は、設定値情報データベース(DB)410と、デバイス共通設定値DB411と、登録デバイス管理DB413と、デバイス個別設定値DB412と、デバイス構成情報管理DB414とを含む。ユーザに関する設定値は、登録ユーザ管理DB415と、ユーザ設定値DB416とを含む。設定値情報DBについては、表1に設定値情報DB410に記憶されるデータの一例を示す。
設定値情報DB410は、管理サーバ110で管理される各設定値に関するメタデータを記憶するデータベースである。設定値情報DB410は、ユーザに提示する際の文言、デバイスと通信を行う際に設定値を識別するためのキー識別子、初期値、値域、適応機種/ファームウェアバージョン、設定値の表示条件(必要なライセンス名称等)を含む。設定値情報DB410で管理される各設定値は、デバイスの機種やファームウェアのバージョンに依存するか否かや、設定値の値域や初期値が異なる場合がある。例えば、設定値情報DBの表では、キー識別子「settings.pattern」で識別される設定値は、機種A、機種Bでは全ての個体に存在するが、機種Cではファームウェアのバージョンが3.01以降の個体にのみ存在することを表している。また、キー識別子「settings.density」で識別される設定値は、機種Bではインストールされているファームウェアのバージョンにより設定値の値域や初期値が異なることを表している。デバイス共通設定値DBについては、表2にデバイス共通設定値DB411に記憶されるデータの一例を示す。
デバイス共通設定値DB411は、管理サーバ110による管理対象の複数のデバイス全てで共有する設定値を管理するためのデータベースである。デバイス共通設定値DB411は、キー識別子、識別子に対応する値、設定値の最終更新日時が格納される。キー識別子は、設定値情報DB410のキー識別子と同一体系の識別子である。デバイス個別設定値DBについては、表3にデバイス個別設定値DB412に記憶されるデータの一例を示す。
デバイス個別設定値DB412は、管理サーバ110による管理対象の複数のデバイスそれぞれで値が異なる設定値を管理するためのデータベースである。デバイス個別設定値DB412は、各複合機に対応して複数存在する。デバイス個別設定値DB412は、グループ、キー識別子、識別子に対応する値、設定値の最終更新日時を記憶する。キー識別子は、設定値情報DB410のキー識別子と同一体系の識別子である。グループとは、複合機120が記憶する設定値を大まかに分類するものである。デバイス個別設定値DBの表を例とすると、キー識別子が「settings.pattern」の設定は、「印刷設定」のグループに含まれることを示す。
登録デバイス管理DBについては、表4に登録デバイス管理DB413に記憶されるデータの一例を示す。
登録デバイス管理DB413は、管理サーバ110による管理対象のデバイスの情報を管理するためのデータベースである。登録デバイス管理DB413は、管理対象のデバイスを一意に識別するためのデバイスID、デバイスの個体を識別する個体識別子等を記憶する。デバイスIDとしては、例えば、データ管理システム100内で一意に区別され得る識別情報が用いられても良いし、個体識別子として、例えば、MACアドレスが用いられても良い。
デバイス構成情報管理DBについては、表5にデバイス構成情報管理DB414に記憶されるデータの一例を示す。
デバイス構成情報管理DB414は、デバイスの個体毎のデバイス構成情報の内容を示し、各デバイスに対応して複数存在する。デバイス構成情報は、デバイスの個体を識別する個体識別子、機種名、ファームウェアのバージョン、利用可能な機能を表すインストール済みライセンス情報、アクセサリ、個体の稼働状態を含む。デバイス構成情報管理DBの機種名、ファームウェアのバージョン、ライセンスは、設定値情報DB410に記憶されている情報と同一体系の情報である。稼働状態とは、例えば、個体が同期通信モードであるか、若しくは非同期通信モードであるかである。
同期通信モードとは、管理サーバ110に図4に示すようなデータベースが存在し、デバイスが管理サーバ110と一定の時間間隔で同期通信を行うことで管理サーバ110のデータと自装置のデータとを同期通信により同期させるモードである。また、非同期通信モードとは、管理サーバ110との同期通信を行わないモードである。
同期通信モードの中には、更に同期通信を一時的に停止する状態や、その状態への移行中状態が含まれる。すなわち、一時停止中、一時停止移行中、一時停止解除中の状態である。同期中の状態も含め、4つの状態が存在する。同期通信の一時停止は、例えば、複合機120をネットワーク150から切断して移動する際に利用される。同期通信モードや非同期通信モードは、CPU302によりモード設定される。
登録ユーザ管理DBについては、表6に登録ユーザ管理DB415に記憶されるデータの一例を示す。
登録ユーザ管理DB415は、デバイスを利用するユーザに関する情報を管理するためのデータベースである。登録ユーザ管理DB415は、ユーザを一意に識別するためのユーザIDや、ログインの際にユーザが入力するユーザ名、ユーザが属するグループ名等を記憶する。ユーザ設定値DBについては、表7にユーザ設定値DB416に記憶されるデータの一例を示す。
ユーザ設定値DB416は、デバイスを利用する各ユーザが利用可能なユーザ毎の設定値を管理するためのデータベースである。ユーザ設定値DB416は、ユーザを一意に識別するためのユーザID、設定値を一意に識別するためのキー識別子、設定値の内容、設定値の最終更新日時を記憶する。例えば、ユーザID511で識別されるユーザの印刷設定1では、「カラーモード、白黒、部数3」として設定されている。ユーザIDは、登録ユーザ管理DB415におけるユーザIDと同一の体系のユーザIDである。
管理サーバ110は、上記のマスタデータ401の各データベースにより、管理対象のデバイスの各々で異なる設定値、管理対象のデバイス全てに共通の設定値、各設定値のメタデータ、ユーザデータを一元管理することができる。
設定値DBについては、表8にデバイスのHDD305に記憶される設定値DB800の一例を示す。
設定値DB800は、デバイスで使用される設定値を記憶するデータベースである。設定値DB800に記憶される設定値は、設定値を識別するためのキー識別子、設定値の値、UI表示文言、初期値、値域、表示条件等の要素を含む。それらの要素は、マスタデータ401で管理されている設定値情報DBの表の情報と同一体系の情報である。管理サーバ110若しくはデバイスにおいて設定値が変更された場合には、表8に示すキー識別子および値を用いて、通信先の装置との設定値の同期通信を行われる。各設定値の同期通信は、管理サーバ110のネットワークI/F207と、デバイスのネットワークI/F307とがネットワーク150を介して行われる。
デバイスのHDD305には、設定値DBの表に示すデータ、デバイス個別設定値DBの表に示すデータ、ユーザ設定値DBの表に示すデータと同一の体系のデータも記憶されている。管理サーバ110若しくはデバイスにおいて設定値が変更された場合には、ユーザIDを用いて、通信先の装置との設定値の同期通信が行われる。
図5は、図1に示した複合機120で動作する各アプリケーションを示す図である。なお、各アプリケーションは、RAM303、HDD305、ROM306のいずれかに記憶され、CPU302により読み出されて実行されることにより、各実施形態が実現される
図5において、同期管理アプリケーション501は、管理サーバ110と設定値の同期通信制御を行うアプリケーションである。詳細な説明は、図6を用いて後述する。
一括配信アプリケーション502は、複合機120が保持する設定値をまとめてインポートエクスポートするアプリケーションである。ここで、インポートとは、複合機120の外部に存在する設定値のデータを元に、複合機120がHDD305等に記憶している設定値を書きかえることを指す。また、エクスポートとは、複合機120がHDD305等に記憶している設定値を複合機120の外部に取り出すことを指す。詳細な説明は、図7を用いて後述する。
認証管理アプリケーション503は、複合機120を利用するユーザの識別、および操作権限の判定を行うアプリケーションである。ユーザは、複合機120を利用する際に、前記操作部320によってユーザの識別子及びパスワードを入力する。入力された情報を不図示のユーザDBに記憶された情報と比較することで、ユーザの識別および操作権限の判定を行う。
ライセンス管理アプリケーション504は、複合機120が提供する機能の有効化、無効化を行うライセンスを保持するアプリケーションである。詳細な説明は、図16を用いて後述する。
コピーアプリケーション505は、コピー機能を提供するアプリケーションである。コピー機能とは、スキャナ330で読み取った原稿を、プリンタ340で印刷することで原稿の複写を行う一般的な機能である。利用者は操作部320を介してコピー機能を利用指示する。
送信アプリケーション506は、送信機能を提供するアプリケーションである。送信機能とは、スキャナ330で読み取った原稿のデジタルデータを、ネットワークI/F307を介して別の情報機器へ送信する一般的な機能である。その際に、画像処理部308で所望のフォーマットに変換する機能を備える。例えば、暗号化PDFフォーマットのデジタルデータを送信する暗号化PDF送信機能を備え、暗号化PDF送信機能は後述するライセンス管理アプリケーションによって有効化できる。
図16は、図5に示したライセンス管理アプリケーション503のブロック構成を示す図である。以下、ライセンス管理アプリケーション503を構成する各ブロックについて説明する。
図16において、ライセンス管理アプリケーション503は、RAM303、HDD305、ROM306のいずれかに記憶され、CPU302により読み出されて実行されることにより、各実施形態の同期通信制御が実現される。
ライセンス記憶部1601は、ライセンスDBへの書き込み/読み出し等のアクセスを管理し、その結果を記憶する。ライセンスDBについては、表9にデバイスのHDD305に記憶されるライセンスDB900の一例を示す。
ライセンスDB900は、複合機120が提供する機能が有効であるか無効であるかを記憶するデータベースである。ライセンスDB900に記憶されるライセンスの情報は、機能番号、機能名称、機能の状態を含む。
ライセンス状態判定部1602は、ライセンス記憶部1601で記憶しているライセンスDBに対して、機能番号で識別される機能の状態を判定する。例えば、表9に記載された機能番号1のライセンス状態を問い合わせると、同期管理機能の状態が「有効」であることが判定される。複合機120で動作するアプリケーションは、ライセンスによって制御される機能を提供する際に、ライセンス状態判定部1602に問い合わせた結果に基づいて機能の提供可否を判断する。例えば、送信アプリケーション506は、機能番号2でライセンス状態判定部1602に問い合わせを行い、暗号化PDF送信機能が「無効」であると判定され、暗号化PDF送信機能を利用させない制御を行う。
ライセンス有効化部1603は、操作部320を介して入力されたライセンスに基づき、ライセンスの妥当性を判定した上で、該当する機能のライセンス状態を有効にする。そのため、ライセンスには、該当する機能を識別する為の機能番号と、妥当性を判定するための電子署名データが必要となる。
ライセンス無効化部1604は、操作部320を介してライセンス無効化の要求を受け付けることで、該当する機能のライセンス状態を無効にする。
図6は、図5に示した同期管理アプリケーション501のブロック構成を示す図である。以下、同期管理アプリケーション501を構成する各ブロックについて説明する。
図6において、同期管理アプリケーション501は、RAM303、HDD305、ROM306のいずれかに記憶され、CPU302により読み出されて実行されることにより、各実施形態の同期通信制御が実現される。
データ管理部601は、表8に示す設定値DB800への書き込み/読み出し等のアクセスを管理する。また、データ管理部601は、設定値DB800やユーザ設定値のデータ変更要求が発生した場合、同期要求受信部602に対して、変更内容の同期要求を出力する。データ変更要求とは、例えば、ユーザからのデータ編集要求であり、ユーザインタフェース画面等を介して受け付ける。同期要求には、データ種別、設定値を識別するためのキー識別子、設定値の値、要求受付時刻、設定値がユーザ設定値の場合にはユーザID及びユーザ名が含まれる。同期要求受信部602は、データ管理部601からの同期要求を受信し、受信した順番に同期要求管理部603に通知する。
同期要求管理部603は、通知された同期要求と、稼働状態管理部604及びデータ種別判定部606とを用いて、管理サーバ110との間で同期通信を行うかを判定する。ここで、同期通信を行うと判定された場合に、同期要求管理部603は、同期情報記憶部605により、通知された同期要求を記憶領域に格納する。また、管理サーバ110との同期通信を行う際には、通知された同期要求を同期通信部607に出力する。稼働状態管理部604は、同期管理アプリケーション501のライセンス状態をライセンス状態判定部1602を用いて判定する。同期管理アプリケーション501のライセンス状態が「無効」である場合、非同期通信モードであると判定する。同期管理アプリケーション501のライセンス状態が「有効」である場合、更に複合機120が同期通信モードであるか、非同期通信モードであるか、同期通信モードであれば更に同期中、一時停止中、一時停止移行中、一時停止解除中であるかを判定する。判定結果は、同期情報記憶部605に通知される。
同期情報記憶部605は、受け付けた同期要求の情報を記憶領域に格納する。同期情報記憶部605は、例えば、受け付けた同期要求の情報をファイル形式で、HDD305等の記憶領域に格納する。データ種別判定部606は、受け付けた同期要求が、デバイス設定値とユーザ設定値と機器構成情報のうちいずれの種別のデータを含むかを判定する。同期通信部607は、同期要求管理部603から出力された同期要求を用いて、ネットワークI/F207を介して管理サーバ110との間で同期通信する。
図7は、図5に示した一括配信アプリケーション502のブロック構成を示す図である。以下、一括配信アプリケーション502を構成する各ブロックについて説明する。
図7において、一括配信アプリケーション502は、RAM303、HDD305、ROM306のいずれかに記憶され、CPU302により読み出されて実行されることにより、各実施形態の同期通信制御が実現される。
ユーザインタフェース部701は、前記操作部320および前記操作部I/F301を介して複合機120の操作や表示を行う。ここでは、ユーザの操作に基づいてインポート要求やエクスポート要求を行い、その結果を表示する。
インポート要求を行う画面の例を、図8に示す。本例は、図1に示したPC140のウェブブラウザを介してインポート要求をおこなう画面の例である。インポートしたい設定値が保存されたファイルを指定し、パスワードを入力してOKボタンを押下するとインポート要求を受け付ける構成である。
インポートしたい設定値が保存されたファイルの例を、図9に示す。例として、XML形式で表現されたインポートファイルを示したが、ファイル形式に制約はなく、どんな形式であっても良い。「印刷設定」タグは、インポートしたい設定値のグループを示す。ここでグループとは、複合機120が記憶する設定値を大まかに分類するものである。「印刷設定」タグの子タグである「settings」タグと「pattern」タグは、設定値のキー識別子を表すタグである。「pattern」タグのValueは、インポートしたい設定値である。よって、このインポートデータは、「印刷設定」グループの「settings.pattern」というキー識別子の設定を「0」にするインポートデータを含むと分かる。
エクスポート指示の要求を行う画面の例を、図10の(a)に示す。「個人設定」、「ネットワーク設定」、「印刷設定」、「グループ設定」の4つのグループが画面上に表示され、チェックボックスでエクスポートする設定値のグループを選択指示する例である。選択後、パスワードを入力してOKボタンを押下すると、エクスポート処理が始まる。エクスポート処理完了後は、不図示のダウンロード画面から、エクスポートファイルをダウンロードする。エクスポートファイルは、インポートファイルと同じ構成である。作業の目的によって呼び方が変わるだけであって、例えば図9に示したようなファイルである。
インポートエクスポート要求受信部702は、前記ユーザインタフェース部701を介して受け付けたインポートまたはエクスポートの要求を受信する。また、インポート要求かエクスポート要求かを判定する。ここで、インポート要求であると判定した場合、インポート対象となる設定値を受け付け、インポート部703に渡した上でインポート部703に処理を指示する。一方、エクスポート要求であると判定した場合、エクスポート対象となるグループを受け付け、エクスポート部704に処理を指示する。
インポート部703は、インポート処理の実行制御を行う。インポート処理は、図9のようなインポートファイルを複合機120の外部から読み込み、複合機120が保持する設定値を置き換える更新処理を行う。この時の処理を、図9のインポートデータを例に説明する。
インポート部703はインポートエクスポート要求受信部702からインポート指示を受けると、対象グループ判定部706によって、インポートデータに含まれるグループを判定する。図9のインポートデータには、「個人設定」「ネットワーク設定」「印刷設定」「グループ設定」の4つのグループが含まれていることが判別される。
次に、同期状態判定部707によって、前記同期管理アプリケーション501の動作状態を判定する。動作状態は、前記稼働状態管理部604によって管理された状態を取得する。状態には、前述の通り同期通信モード、非同期通信モードが存在する。また、同期通信モードには、同期中、一時停止中、一時停止移行中、一時停止解除中の状態が存在する。同期状態判定部707は、同期通信モードか非同期通信モードかを判定する。また、同期通信モードにおける、同期中、一時停止中、一時停止移行中、一時停止解除中の状態を判定する。その判定は、稼働状態管理部604による同期管理アプリケーション501のライセンス状態と稼働状態の参照により行う。
次に、同期状態判定部707によって同期通信状態であると判定された場合に、同期一時制御部708によって、管理サーバ110が管理する設定情報とを同期させる処理を一時的に停止する。ここで一時停止するのは、2つの目的がある。1つ目は、インポート処理によって複合機120が保持する設定値が順次変更されることで、そのたびに管理サーバ110に対して同期要求が出てしまう無駄を省くためである。インポート処理が完了してから同期の一時停止要求を解除することで、インポート処理全体の変更内容が一度に同期処理される。
2つ目は、逆に管理サーバ110からの同期要求とインポート処理による変更の競合を防ぐためである。先優先、ないしは後優先で処理することは可能であるが、例えばインポート処理の結果をレポート表示したい場合に、レポート表示の内容がインポート処理以外の影響を受ける問題があった。同期処理が一時的に停止することで、この問題は回避可能である。
次に、対象グループ除外部709によって、インポート処理対象のグループからインポート処理すべきでないグループを削除する。インポート処理すべきでないグループは、対象グループ除外部709が静的に記憶しており、「グループ設定」と「個人設定」の2つである。
「グループ設定」と「個人設定」は、各ユーザが自由に変更して利用することが前提の設定である。そのため、管理サーバ110によるデータ管理システムにおいては、管理サーバ110が記憶するマスタデータの「グループ設定」と「個人設定」が、各ユーザが所望する最新のデータであると考えられる。よって、一括配信処理のインポート処理では、インポート対象グループから除外し、最新のデータが保たれるように制御される。
図9のインポートデータをインポートする例では、インポートデータに含まれる4つのグループの中で、「グループ設定」と「個人設定」がインポート対象から除外される。その結果、「ネットワーク設定」と「印刷設定」のみがインポート対象のグループとなる。
インポート部703は、対象グループ除外部709によって除外されたあとのグループに関する設定のみをインポート対象と認識し、インポート処理を継続する。図9の例では、「ネットワーク設定」グループの「ipaddress」設定を、「192.168.0.1」としてHDD305に書きこむ。更に、「印刷設定」の「settings.pattern」設定を、「0」としてHDD305に書きこむ。インポート処理が終わると、インポート部703は同期一時制御部708に対して同期の一時停止の解除を要求する。以上により、インポート処理が実現される。
エクスポート部704は、エクスポート処理の実行制御を行う。エクスポート処理は、複合機120が保持する設定値を読み込み、図9のようなエクスポートファイルに変換する処理を行う。処理の流れを、デバイス個別設定値DBの表3に示すデータとユーザ設定値DBの表7に示すデータがHDD305に記憶されていたとして説明する。
エクスポート部704は、前記インポートエクスポート要求受信部702から、エクスポート処理要求を受け付ける。その際に、エクスポート処理の対象となるグループを指定される。例えば、「個人設定」「印刷設定」「グループ設定」の3つのグループを指定されたとする。
エクスポート部704は、前記同期状態判定部707によって、前記同期管理アプリケーション501の動作状態を判定する。前記同期状態判定部707によって同期と判定された場合に、前記同期一時制御部708によって、同期を一時停止する。ここで、同期を一時停止する目的は、エクスポート処理中に意図せず設定値が変更されることで、設定値間の整合性が取れない状態でエクスポートデータを作成しないためである。次に、対象グループ除外部709によって、エクスポート処理対象のグループからエクスポート処理すべきでないグループを削除する。これにより、「個人設定」「グループ設定」が除外され、「印刷設定」がエクスポート対象として残る。エクスポート部704はエクスポート対象グループの設定だけを、エクスポートファイルに書き出す。デバイス個別設定値DBの表に示すデータを例にすると、グループが「印刷設定」のものとして、「settings.pattern」、「settings.density」が対象となる。
このようにしてエクスポート処理が終わると、エクスポート部704は、同期一時制御部708に対して同期の一時停止の解除を要求する。以上により、エクスポート処理が実現される。エクスポート可能グループ取得部705は、複合機120が保持する設定値のグループの一覧を作成し、要求元に返す。
一覧の作成にあたっては、HDD305の所定の場所にあらかじめグループの一覧を記憶しておき、一覧を参照する構成であってもよい。もしくは、設定値DBの表にあるグループの情報を検索し、グループの一覧を作成しても良い。ここでは、例えば「個人設定」、「ネットワーク設定」、「印刷設定」、「グループ設定」の4つのグループがエクスポート可能であるとする。
次に、同期状態判定部707によって、同期管理アプリケーション501の動作状態を判定する。同期状態判定部707によって同期と判定された場合に、対象グループ除外部709によって、エクスポート処理対象のグループからエクスポート処理すべきでないグループを削除する。また、削除されたグループは、エクスポート処理すべきでないグループとして記憶する。ここでは、例えば「ネットワーク設定」、「印刷設定」がエクスポート処理対象として残り、「個人設定」、「グループ設定」がエクスポート処理すべきでないグループとして記憶される。
この判定結果に応じて表示されるエクスポート画面の例を、図10(b)に示す。エクスポート対象として選択できるのは「ネットワーク設定」「印刷設定」であり、「個人設定」、「グループ設定」はエクスポート処理できないことが示されている。
ここで、あらかじめエクスポート可能グループ取得部705で取得したグループのみをインポートエクスポート要求受信部702にエクスポート要求する構成であれば、エクスポート部704において対象グループの判定をする必要性がない点について補足説明する。例えば、ネットワーク経由で直接エクスポート要求を行うケースで、対象グループが正しく指定されない場合が想定される。また、エクスポート可能グループ取得部705による問い合わせと、エクスポート部704によるエクスポート処理のタイムラグがあるため、その間に同期状態の変更が行われる可能性もある。そのため、エクスポート部704、エクスポート可能グループ取得部705双方で対象グループの判定を行う必要がある。
図12は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。本例は、ユーザが複合機120を利用する際に、管理サーバ110が保持する最新のユーザ設定値を利用する処理である。以下、デバイスの一例として複合機120として説明する。なお、各ステップは、複合機120のCPU302が記憶された制御プログラムを実行することで実現される。以下、CPU302が実行するモジュールを主体として説明する。
S1201において、認証管理アプリケーション503がユーザの認証を検知する。これにより、どのユーザが複合機120を利用しているのかが識別される。例えば、ユーザID「511」で識別されるユーザ名「sato」のユーザを認証したとする。
S1202において、同期管理アプリケーション501の稼働状態管理部604は、現在の稼働状態が同期通信モードであるかどうかを判定する。ここで、同期通信モードであると稼働状態管理部604が判定した場合、S1203へ進み、同期通信モードでないと判定した場合、S1205へ進む。
S1203において、同期通信部607が管理サーバ110との同期通信を行う。本例では、S1201において、ユーザID「511」のユーザが認証しているため、ユーザID「511」のユーザ設定値の取得要求が行われる。また、同時にユーザID「511」のユーザが所属する「グループA」のグループ設定の取得要求が行われる。
ユーザ設定値DBの表6の例では、ユーザID「511」に該当する、表7に示した4つの設定が管理サーバから複合機120に通信される。また、グループ設定値DBは不図示であるが、同様に「グループA」に紐づけられたグループ設定が管理サーバ110から複合機120に通信される。
S1204において、データ管理部601がS1203で受け取ったユーザ設定値とグループ設定値をHDD305の設定値DB800に書き込む。S1205において、S1201で認証されたユーザが、S1204で書きこまれた最新のユーザ設定値とグループ設定値を参照、利用する。
図13は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。本例は、管理モードが管理装置が管理する設定情報を情報処理装置が管理するデバイス設定情報と同期させるかどうかの判定に従い図5に示した一括配信アプリケーション502によるインポート処理の手順である。なお、デバイスの一例として複合機120として説明する。なお、各ステップは、複合機120のCPU302が記憶された制御プログラムを実行することで実現される。以下、CPU302が実行するモジュールを主体として説明する。
S1301において、ユーザインタフェース部701がユーザから受け付けるインポート要求を検知する。検知したインポート要求は、インポートエクスポート要求受信部702に対して行われる。インポートエクスポート要求受信部702は、インポート要求であることを判定し、インポート部703にインポート要求を行う。ここでは、図9のインポートデータがインポート要求されたものとする。
S1302において、同期状態判定部707が同期処理の稼働状態が同期通信モードか判定する。同期状態判定部707は、稼働状態管理部604による同期管理アプリケーション501のライセンス状態と稼働状態の参照により判定する。例えば、ライセンスが無効であれば、非同期通信モードと判定する。ライセンスが有効であれば、同期通信モードと判定する。ここで、同期通信モードであると同期状態判定部707が判定した場合、S1303へ進み、同期通信モードでないと判定した場合、S1308へ進む。
S1303において、同期状態判定部707が同期処理の稼働状態が同期中または一時停止解除中であるか判定する。ここで、同期中または一時停止解除中であると同期状態判定部707が判定した場合、S1304へ進み、同期中または一時停止解除中でないと判定した場合、S1305へ進む。
S1304において、同期一時制御部708が同期処理の一時停止を行う。なお、S1303において、一時停止解除中と同期状態判定部707が判定した場合は、一時停止が解除されて同期中になったあとに、再び一時停止移行中、一時停止中の順番で状態が変更される。
S1305において、対象グループ判定部706がインポートファイルに含まれるグループを判定する。図9のインポートデータであれば、「個人設定」「ネットワーク設定」「印刷設定」「グループ設定」の4つのグループが含まれていることが判別される。
S1306において、対象グループ除外部709がインポートファイルに含まれるグループに「個人設定」、「グループ設定」が含まれるか判定する。ここで、グループに「個人設定」、「グループ設定」が含まれていると判定した場合はS1307へ進み、含まれていないと判定した場合はS1309へ進む。図9に示したインポートデータであれば、グループに「個人設定」、「グループ設定」が含まれるため、S1307へ進む。
S1307において、対象グループ除外部709がインポート対象グループから「個人設定」、「グループ設定」を除外する。図9のインポートデータであれば、S1307の処理の結果、「ネットワーク設定」、「印刷設定」がインポート対象グループとして記憶される。
S1308では、対象グループ判定部706がインポートファイルに含まれるグループを判定し、インポート対象グループとして記憶する。処理自体はS1305と同等であるため、図9のインポートデータであれば、「個人設定」「ネットワーク設定」「印刷設定」「グループ設定」の4つのグループが含まれていることが判別される。
S1309において、インポート部703がインポート処理を実行する。ここでは、S1307もしくはS1308で記憶されたインポート対象グループをインポート対象とする。
S1310において、同期一時制御部708がS1304で一時停止要求をしたか判定する。ここで、同期一時制御部708が一時停止要求をしていると判定した場合はS1311へ進み、一時停止要求をしていないと判定した場合は、S1312へ進む。S1311において、同期一時制御部708が一時停止解除要求を行う。
S1312において、インポート部703がインポート完了をインポートエクスポート要求受信部702に通知する。インポートエクスポート要求受信部702はユーザインタフェース部701にインポート完了を通知する。ユーザインタフェース部701は、インポート完了を不図示のUIでユーザに通知する。
S1313において、ユーザが複合機120を利用する。この処理の流れは、図12にて説明したフローチャートに沿ったものである。本実施形態の構成によれば、図9のインポートデータをインポートしても「個人設定」、「グループ設定」がインポートされないため、ユーザは管理サーバ110が保持する最新の「個人設定」、「グループ設定」を利用できる。また、「個人設定」、「グループ設定」を除いた複合機120の設定はユーザの意図通りインポートすることが可能である。
図14は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。本例は、一括配信アプリケーション502によって、エクスポート画面を表示するためのエクスポート可能グループ取得要求の処理手順である。なお、デバイスの一例として複合機120として説明する。なお、各ステップは、複合機120のCPU302が記憶された制御プログラムを実行することで実現される。以下、CPU302が実行するモジュールを主体として説明する。
S1401では、エクスポート可能グループ取得部705が、ユーザインタフェース部701からのエクスポート可能グループ取得要求を検知する。S1402では、エクスポート可能グループ取得部705が、複合機120が保持する設定値のグループを取得する。ここでは、「個人設定」、「ネットワーク設定」、「印刷設定」、「グループ設定」の4つのグループが取得されたとする。
S1403は、同期状態判定部707によって、前記同期管理アプリケーション501の動作状態を判定する。非同期通信モードであると判定した場合、S1405を処理する。それ以外の稼働状態であると判定した場合、S1404を処理する。
S1404は、対象グループ除外部709によって、「個人設定」、「グループ設定」をエクスポート可能グループから除外する。S1402の例では、「ネットワーク設定」、「印刷設定」がエクスポート可能グループとして残る。また、「個人設定」、「グループ設定」がエクスポートすべきでないグループとして記憶される。
S1405は、エクスポート可能グループ取得部705が、エクスポート可能グループと、エクスポートすべきでないグループを通知する。S1404の処理結果によれば、図10の(b)のようなエクスポート画面を表示することができる。以上で、図14の処理を終了する。
図15は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。本例は、一括配信アプリケーション502によるエクスポート処理の手順である。なお、デバイスの一例として複合機120として説明する。なお、各ステップは、複合機120のCPU302が記憶された制御プログラムを実行することで実現される。以下、CPU302が実行するモジュールを主体として説明する。
S1501において、ユーザインタフェース部701がエクスポート要求を検知する。検知したエクスポート要求は、インポートエクスポート要求受信部702に対してエクスポート要求される。インポートエクスポート要求受信部702は、エクスポート要求であることを判定し、エクスポート部704にエクスポート要求を行う。ここでは、複合機120は、デバイス個別設定値DBの表3に示すデータ、ユーザ設定値DBの表に示すデータを保持する状態とする。また、エクスポート処理の対象として、「個人設定」、「印刷設定」、「グループ設定」の3つのグループを指定されたとする。
S1502において、同期状態判定部707が同期処理の稼働状態が同期通信モードか判定する。同期状態判定部707は、稼働状態管理部604による同期管理アプリケーション501のライセンス状態と稼働状態の参照により判定する。例えば、ライセンスが無効であれば、非同期通信モードと判定する。ライセンスが有効であれば、同期通信モードと判定する。ここで、同期通信モードであると同期状態判定部707が判定した場合、S1503へ進み、同期通信モードでないと判定した場合、S1508を処理する。
S1503において、同期状態判定部707が同期処理の稼働状態が同期中または一時停止解除中であるか判定する。ここで、同期中または一時停止解除中であると同期状態判定部707が判定した場合、S1504へ進み、同期中または一時停止解除中でないと判定した場合、S1505へ進む。
S1504では、同期一時制御部708が同期処理の一時停止を行う。なお、S1503において、一時停止解除中と判定されていた場合は、一時停止が解除されて同期中になったあとに、再び一時停止移行中、一時停止中の順番で状態が変更される。
S1505において、対象グループ判定部706がエクスポート対象グループを一時記憶する。この段階では、インポートエクスポート要求受信部702が受信したエクスポート対象グループをそのまま記憶する。S1501の例では、「個人設定」、「印刷設定」、「グループ設定」がそのまま記憶される。
S1506において、対象グループ除外部709がエクスポート対象グループに「個人設定」、「グループ設定」が含まれるか判定する。ここで、エクスポート対象グループに「個人設定」、「グループ設定」が含まれていると判定した場合はS1507へ進み、含まれていないと判定した場合はS1509へ進む。なお、S1501の例では、「個人設定」、「グループ設定」を含んでいるため、S1507を処理する。
S1507において、対象グループ除外部709がエクスポート対象グループから「個人設定」、「グループ設定」を除外する。S1501の例では、「個人設定」、「グループ設定」が除外され、「印刷設定」がインポート対象グループとして記憶される。
S1508において、対象グループ判定部706がエクスポート対象グループを判定する。この段階では、インポートエクスポート要求受信部702が受信したエクスポート対象グループをそのまま記憶する。S1501の例では、「個人設定」、「印刷設定」、「グループ設定」がそのまま記憶される。
S1509において、エクスポート部704がエクスポート処理を実行する。S1507もしくはS1508で記憶されたインポート対象グループをインポート対象とする。S1507の例では、エクスポート対象グループは「印刷設定」のみである。デバイス個別設定値DBの表3のデータであれば、「settings.pattern」、「settings.density」がエクスポート対象となる。
S1510において、同期一時制御部708がS1504で一時停止要求をしたか判定する。ここで、一時停止要求をしていると同期一時制御部708が判定した場合はS1511を処理する。一方、一時停止要求をしていないと同期一時制御部708が判定した場合は、S1512を処理する。S1511において、同期一時制御部708が一時停止解除要求を行う。
S1512において、エクスポート部704がエクスポート完了をインポートエクスポート要求受信部702に通知する。インポートエクスポート要求受信部702はユーザインタフェース部701にエクスポート完了を通知して、本処理を終了する。なお、ユーザインタフェース部701は、エクスポート完了を不図示のUIでユーザに通知する。
S1513において、ユーザが複合機120を利用する。この処理の流れは、図12にて説明したフローチャートに沿ったものである。本特許の構成によれば、「個人設定」、「グループ設定」がエクスポートされないため、ユーザは複合機120に記憶されている最新でない設定を誤って別の複合機にインポートすることがなくなる。
以上説明したように、本実施形態によれば、管理サーバ110で設定値が管理された環境において、設定値のインポートまたはエクスポートによって最新の個人設定やグループ設定が意図せず削除される危険性をなくすことができる。
〔第2実施形態〕
第1の実施形態では、対象グループ除外部709は同期状態に応じて画一的に「個人設定」や「グループ設定」を除外していた。しかし、例えば、異動などに伴う拠点移動時に管理サーバ110の管理していない複合機120に対してユーザ自身の「個人設定」を移動させる手段がなくなってしまう場合がある。そこで、第2の実施形態においては、一括配信を指示するユーザ自身の「個人設定」だけは処理対象に含める構成について説明する。以下の説明においては、第1実施形態と違う点について説明する。
図10の(c)は、第2の実施形態におけるエクスポート画面の例である。個人設定は選択不可の状態であるが、「個人設定」には注釈が添えられ、現在操作中のユーザである「UserID:511」の設定だけが処理対象になることが通知される。
エクスポート部704は、インポートエクスポート要求受信部702から、特定ユーザの個人設定がエクスポート対象であることを合わせて通知される。エクスポート処理対象グループに、「個人設定」がなく、特定ユーザの「個人設定」のみがある場合には、前記認証管理アプリケーション503から通知される認証されたユーザの「個人設定」のみをエクスポートする。図10の(c)の状態であれば、UserIDが511の「個人設定」のみがエクスポート対象となる。
エクスポート可能グループ取得部705は、認証管理アプリケーション503から通知される認証されたユーザの個人設定も含めてエクスポート可能グループを判定する。
図10の(c)の状態でエクスポートしたエクスポートデータの例を、図11に示す。UserIDが511の「個人設定」のみがエクスポートされている。
インポート部703は、インポートエクスポート要求受信部702から、特定ユーザの個人設定をインポートしたいことを合わせて通知される。前記認証管理アプリケーション503から通知された認証されたユーザの個人設定がインポートデータに含まれている場合、前記認証されたユーザの個人設定のみは同期状態に関わらずインポート対象とする制御を行う。以上の構成により、ユーザが自分の「個人設定」だけをエクスポートし、別のデバイスにインポートする機能が、同期状態に関わらず実現可能となる。
〔第3実施形態〕
第1実施形態では、対象グループ除外部709で除外するグループは固定であった。しかし、管理サーバ110の構成によっては、同期対象とする設定のグループが可変となる場合がある。「個人設定」「グループ設定」どちらか一方であったり、両方とも同期対象でないケースがある。第3の実施形態では、実際に同期対象となっている設定のみ前記対象グループ除外部709で除外する構成を説明する。以下の説明においては、第1の実施形態と違う点について説明する。
稼働状態管理部604は、対象設定値のグループ毎に通信モードの情報を保持する。例を稼働状態を表10に示す。
表10に示す稼働状態によれば、同期通信モードであるのは個人設定情報のみであることが分かる。同期要求管理部603は、稼働状態の判定をグループ別に行うように構成される。同期状態判定部707は、稼働状態管理部604からグループ別の稼働状態を取得する。
対象グループ除外部709は、インポート処理すべきでないグループを静的に記憶しており、「グループ設定」と「個人設定」の2つであった。このうち、前記同期状態判定部707によって判定されたグループ別の稼働状態を加味し、非同期通信モードでないグループだけをインポート処理すべきでないグループとして判定する。稼働状態の表を例とすると、非同期通信モードでないのは「個人設定」である。そのため、「個人設定」のみをインポート処理すべきでないグループとして認識し、除外する構成となる。以上の構成により、設定値のグループ毎に同期通信モードが異なる場合においても、適切に一括配信機能の対象グループを制限することができる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えばASIC)によっても実現可能である。