以下、本発明を実施するための最良の形態について図面を用いて説明する。
(第1の実施形態)
図1は、MFP(Multi Function Peripheral)101のハードウェア構成の一例を示す図である。MFP101は、画像形成装置の一例である。
システムバス110に対してCPU111、RAM112、ROM113、入力制御I/F114、表示制御I/F115、記憶装置I/F116、通信I/Fコントローラ117が接続されている。また、システムバス110に対しては、スキャナ121やプリンタ122も接続されている。システムバス110に接続される各部は、システムバス110を介して互いにデータのやりとりを行うことができるように構成されている。
CPU(Central Processing Unit)111は、各装置の制御やデータの計算・加工を行う装置である。RAM(Random Access Memory)112は、揮発性のメモリであり、CPU111の主メモリ、ワークエリア等の一時記憶領域として用いられる。ROM(Read Only Memory)113は、不揮発性のメモリであり、画像データやその他のデータ、CPU111が動作するための各種プログラム等が、それぞれ所定の領域に格納されている。CPU111は、例えばROM113に格納されるプログラムに従い、RAM112をワークメモリとして用いて、MFP101の各部を制御する。尚、CPU111が動作するためのプログラムは、ROM113に格納されるのに限られず、記憶装置120に記憶されていてもよい。CPU111がプログラムに基づき処理を実行することによって、後述するMFP101のソフトウェアの構成及びフローチャートの処理が実現される。
入力制御I/F114は、ユーザ操作を受け付け、操作に応じた制御信号を生成し、CPU111に供給する。例えば、入力制御I/F114は、ユーザ操作を受け付ける入力デバイスとして、不図示であるキーボードといった文字情報入力デバイスや数値などを直接入力するためのハードキー、あるいはタッチパネル118といったポインティングデバイス等と接続される。なお、タッチパネル118は、例えば平面的に構成された入力部に対して接触された位置に応じた座標情報が出力されるようにされている入力デバイスである。以下、本実施例においては、タッチパネルでの操作で説明しているが、それに限定されないことは言うまでもない。CPU111は、入力デバイスに対してなされたユーザ操作に応じて入力制御I/F114で生成され供給される制御信号に基づき、プログラムに従いMFP101の各部を制御する。これにより、ユーザ操作に応じた動作をMFP101に行わせることができる。
表示制御I/F115は、ディスプレイ119に対して画像を表示させるための表示信号を出力する。例えば、CPU111は、プログラムに従い、生成した表示制御信号を表示制御I/F115に対して供給する。表示制御I/F115は、この表示制御信号に基づき表示信号を生成してディスプレイ119に対して出力する。例えば、表示制御I/F115は、CPU111が生成する表示制御信号に基づき、GUI(Graphical User Interface)を構成するGUI画面をディスプレイ119に表示させる。また、タッチパネル118は、ディスプレイ119と一体的に構成されていても良い。例えば、タッチパネル118は光の透過率がディスプレイ119の表示を妨げないように構成され、ディスプレイ119の表示面の上層に取り付けられる。そして、タッチパネル118における入力座標と、ディスプレイ119上の表示座標が対応付けられる。これにより、あたかもユーザがディスプレイ119上に表示された画面を直接的に操作可能であるかのようなGUIを構成することができる。
記憶装置I/F116には、例えばHDD(Hard Disk Drive)やフラッシュメモリなどの記憶装置120が接続されている。記憶装置I/F116は、CPU111の制御に基づき、記憶装置120からのデータの読み出しや、記憶装置120に対するデータの書き込みを行う。なお、記憶装置120をRAM112やROM113の代わりに使用しても構わない。
通信I/Fコントローラ117は、CPU111の制御に基づき、例えばLANやインターネット、有線、無線等の各種ネットワークに対する通信を行う。ネットワーク130には、PCや他のMFP、プリンタ、サーバ等、様々な装置がMFP101と通信可能に接続される。また、後述する外部の認証サーバとの接続も通信I/Fコントローラ117を介して行われる。
スキャナ121は、CPU111の制御に基づき、原稿上の画像を読取り、画像データを生成する。例えば、CPU111は、入力制御I/F114を介して入力されたユーザの指示により、スキャナ121に対してスキャン処理を実施させる。スキャナ121は、原稿台やADF(Auto Document Feeder)に置かれた原稿を読取り、デジタルデータ化し、画像データを生成する。そして、スキャナ121は、生成した画像データを記憶装置I/F116を介して記憶装置120に格納する。
プリンタ122は、CPU111の制御に基づき、記憶装置120に保存された画像データを印刷処理する。例えば、CPU111は、入力制御I/F114を介して入力されたユーザの指示や、通信I/Fコントローラ117を介して外部装置から入力されたコマンドの指示によりプリンタ122に対して印刷処理を実施させる。プリンタ122は、記憶装置120から画像データを読出し、印刷可能なデータ形式に変換し、紙原稿に印字する。
MFP101のソフトウェアの構成について、図2を用いて説明する。なお、図2に示すMFP101のソフトウェア構成は、本実施例における説明のための一例を示したものであり、他の構成要素を含んだり、あるいは、本実施例と同様の効果のある異なる構成であっても構わない。図2の各制御部に対応するプログラムは、ROM113に記憶されており、起動時や機能利用時など、必要に応じてRAM112へ展開され、CPU111により実行される。これにより、図2に示す各制御部が実現される。
MFP101は、例えば、表示操作制御部201、認証制御部202、設定値記憶制御部203、設定値設定制御部204、設定値入出力制御部205などの各制御部を有している。また、MFP101には、コピー、スキャン、FAXなどのひとつ以上の機能(以下、Functionと呼ぶ)があり、それぞれのFunction毎に制御部がある。図2には、一例としてコピー制御部210、スキャン制御部211、送信制御部212が示される。当然ながら、MFP101は、図2に記載のFunction以外のMFP101の処理に関わるFunctionを有し、それぞれの制御部を有してもよい。
表示操作制御部201は、CPU111の制御に基づき、入力制御I/F114や表示制御I/F115を制御する。例えば、表示操作制御部201は、他の制御部からの指示に基づいて表示制御I/F115を介してディスプレイ119への表示を行ったり、入力制御I/F114を介してタッチパネル118にユーザが入力した情報を取得する処理を行う。なお、表示操作制御部201は、取得した情報を、各制御部へ通知する。
ユーザ情報DB320は、記憶装置120に記録されている。ユーザ情報DB320は、個人を登録者、すなわちMFP101の正当ユーザとし、登録者の認証情報を記憶している。認証情報は、登録者を示すユーザ識別子(ユーザ名)、パスワードを含む。すなわち、ユーザ情報DB320は、ユーザを識別するための識別情報とパスワードとを対応付けて記憶している。
認証制御部202は、CPU111の制御に基づき、ユーザを識別するための認証処理を行い、MFP101の操作者がMFP101の正当なユーザか否かの判断を行う。具体的には、操作者は、ユーザ名及びパスワードを入力する。そして、認証制御部202は、入力を受け付けたユーザ名及びパスワードと、ユーザ情報DB320に記憶されているユーザ名及びパスワードの組が一致する場合に、操作者が正当ユーザであると判断する。認証制御部202は、操作者が正当なユーザの場合にセッションを開始する。認証制御部202はまた、操作者がMFP101の利用を終了した場合に、セッションを終了する。以下、正当ユーザであると判断し、セッションを開始することをログインと称し、セッションを終了することをログアウトと称することとする。また、認証制御部202は、ユーザ情報DB320を制御する。認証制御部202は、個人の登録や削除、及び個人認証情報の更新等の機能を提供する。
なお、認証制御部202は、通信I/Fコントローラを介して、外部の認証サーバ(不図示)に接続し、認証サーバの認証結果を利用するようにしても構わない。外部の認証サーバとの認証情報のやり取りは、公知の技術を用いて行う。
次に、設定値記憶制御部203について説明する。設定値記憶制御部203は、CPU111の制御に基づき、デバイス設定と、個人設定を記憶するための制御部である。デバイス設定は全ユーザが参照する設定であり、個人設定はそれぞれのユーザのみが参照できる設定である。
設定DB400は、記憶装置120に記録されている。設定DB400は、デバイス設定情報(共用設定情報)、個人設定情報を記憶している。ここで、デバイス設定情報は、ユーザが未ログイン状態において、操作者が参照、利用可能な情報である。個人設定情報は、登録者としての個人ユーザのみが参照、利用可能な情報である。また各設定情報(デバイス設定情報、個人設定情報)は、設定項目と、設定項目に対する設定値とを含んでいる。なお、以下の説明においては、デバイス設定情報、個人設定情報を、適宜、設定情報と総称する。
設定値記憶制御部203は、デバイス設定情報、個人設定情報を設定DB400に記憶する。設定値記憶制御部に設定情報を記憶するために、設定値設定制御部204が用いられる。設定値設定制御部204は、デバイス設定情報、及び個人設定情報の値を登録・変更するための機能を持ち、タッチパネル118からユーザからの入力を受け付け、設定DB400への設定情報の登録、変更、及び削除を行う。このとき、設定値設定制御部204は、デバイス設定情報、個人設定情報を区別して入力を受け付け、それぞれに対応した設定値を保存する。
管理テーブルDB500は、記憶装置120に記録されている。管理テーブルDB500は、設定DB400に設定されている設定情報の数及びデータサイズ等の情報を記憶している。設定値記憶制御部203は、設定DB400の更新に伴い、管理テーブルDB500を更新する。さらに、設定値記憶制御部203は、管理テーブルDB500を参照し、適宜、設定DB400に登録されているデータ(設定情報)の自動削除を実行する。
図4に設定DB400のデータ構成の一例を示す。設定DB400は、設定項目を特定するキー(設定項目)と、設定値と、を組とする設定情報を記憶する。設定DB400は、階層構造で表現される。第一階層は、対象401の情報を含む。対象401とは、デバイス設定情報か個人設定情報かを特定し、各ユーザを識別する識別情報である。個人の対象401には、個人であることを示し、かつ各ユーザを識別するユーザ識別子が用いられる。図4では、デバイスを特定する情報として「デバイス」、ユーザA、Bのユーザ識別子としてそれぞれ「ユーザA」、「ユーザB」としている。対象401と設定項目402の組み合わせにより対応する設定値403が決定される。
図4では、設定項目として、表示言語、初期画面、個人アドレス帳、共有アドレス帳が挙げられている。表示言語は、ディスプレイ119に表示される文字の言語種別を示す情報である。初期画面は、MFPにユーザがログインした際に最初に表示される画面を示す情報である。個人アドレス帳、共有アドレス帳は、スキャンしたデータの送信時等において、宛先を指定するために使用されるアドレス帳である。なお、図4に示す設定項目は一例であり、これ以外にもキーボード設定、アクセシビリティ設定、ログイン後に表示するFunctionなどが挙げられ、これらの設定項目を個人設定としてカスタマイズできる。また、個人設定情報は、個人毎のアドレス帳などのようなFunctionごとの個人データを含んでもよい。
図4の例では、対象「ユーザA」でキー「表示言語」に対する設定値は「日本語」となる。対象「ユーザB」でキー「表示言語」に対する設定値は「中国語」となる。また、対象「ユーザB」で、キー「個人アドレス帳-個人アドレス1」に対する設定値は「ccc@abc.com」となる。個人設定情報がユーザ数分保存されるのに対し、デバイス設定情報はMFP101内で唯一の設定値となる。図4の例の場合、キー「デバイス-表示言語」に対する設定値は「英語」となる。
設定DB400の設定情報の中には、個人設定情報とデバイス設定情報で同じキーを持つものと、持たないものと、がある。同じキーを持つ場合、デバイス設定情報の設定値(デバイス設定値)は、個人設定情報の設定値(個人設定値)が登録されていない場合の初期値として扱われることもある。図4を例にすると、ユーザCは個人設定情報が登録されていないとする。その場合、ユーザCの表示言語には、デバイス設定値である「英語」が適用される。
また、個人設定情報とデバイス設定情報で同じキーを持たない場合、個人設定情報は登録されていない、または登録が0件として扱われる。例えば、キー「個人アドレス帳」は対象が「個人」の設定のみ存在するキーである。逆に「共有アドレス帳」は、対象が「デバイス」の設定のみ存在するキーである。図4の例では、ユーザCの個人アドレス帳は0件となるが、デバイス設定情報が存在するので、ユーザCは共有アドレス帳の共有アドレス1、共有アドレス2、共有アドレス3を参照することができる。
設定値記憶制御部203は、ログイン時に設定DB400内の個人設定値を読み込み、MFP101の各設定に反映させる。そのため、ユーザは自身が登録した個人設定情報に合わせてカスタマイズされたMFP101を利用することができる。また、設定値記憶制御部203は、ログアウト時に設定DB400内のデバイス設定値を読み込み、MFP101の各設定に反映する。そのため、未ログイン状態で使用できる機能は、デバイス設定値にて利用することができる。
個人設定の例として、図5を参照しつつ、表示言語設定について説明する。設定DB400には、図4に示す設定情報が記憶されているものとする。図5は、ユーザAがログインして、画面がログイン画面501からトップメニュー(メインメニュー)画面502に遷移する様子を示している。図4に示すように、デバイス設定の表示言語設定は、対象「デバイス」、キー「表示言語」の設定値が「英語」である。一方、ユーザAの表示言語は対象「ユーザA」、キー「表示言語」の設定値が「日本語」である。
ログイン画面501は、未ログイン状態で表示される画面である。したがって、ログイン画面501においてはデバイス設定情報が利用され、ログイン画面501の文字は、表示言語の設定値「英語」で表示されている。
メインメニュー画面502は、ログイン処理により認証に成功し、未ログイン状態からログイン状態への移行後に表示される画面である。したがって、メインメニュー画面502においては、ユーザAの個人設定情報が利用され、メインメニュー画面502の文字は、表示言語の設定値「日本語」で表示される。また、ユーザAがログアウトすると、デバイスの表示言語設定を反映して、ログイン画面501の文字が「英語」で表示される。
図7は、管理テーブルDB500のデータ構成を示す図である。管理テーブルDB500には、上限管理テーブル700、ユーザ情報テーブル710、設定情報管理テーブル720が記憶されている。
図7(A)は、上限管理テーブル700の一例である。上限管理テーブル700には、設定DB400に個人設定情報を登録可能なユーザの上限を示す最大ユーザ数701、登録可能な個人設定情報のデータサイズの上限である最大記憶容量702が記憶されている。図7(A)の例では最大ユーザ数701が10、最大記憶容量702が10MBとなっている。
図7(B)は、ユーザ情報テーブル710の一例である。ユーザ情報テーブル710には、個人設定情報を登録済みの個人ユーザのユーザ識別子711と、個人設定情報で使用されているデータサイズを示す使用サイズ712と、各ユーザが対応する設定情報を利用した最終利用日時713と、が対応付けて記憶されている。なお、本実施例においては、最終利用日時713は、ユーザが最後にログインした日時である最終ログイン日時に相当するものとして説明を行う。すなわち、ユーザのログインが行われたときに、認証制御部202から設定値設定制御部204にログインが通知され、設定値設定制御部204が、設定値記憶制御部203に最終利用日時713を更新する指示を行う。これにより最終利用日時713が更新される。当然ながら、別のタイミングで最終利用日時713を更新するようにしてもかまわない。例えば、個人設定情報の追加、更新、削除のタイミングで最終利用日時713を更新したり、ログアウト時に最終利用日時713を更新したりしても構わない。図7(B)の例では、ユーザAの使用サイズが2MB、最終利用日時が2018年5月4日10時21分である。ユーザB、C、D、Eも同様にそれぞれの使用サイズと最終利用日時が記載されている。
図7(C)は、設定情報管理テーブル720の一例である。設定情報管理テーブル720には、個人設定情報を登録している個人設定登録済みユーザ数721、各ユーザの個人設定情報の使用サイズを合計した使用記憶容量722が記録されている。図7(C)の例では、個人設定情報を登録しているユーザ数は5ユーザであり、全ユーザの個人設定情報の合計使用サイズは、8MBであることを示している。
なお、図7の各管理テーブルは、設定値記憶制御部203によって制御されている。設定値記憶制御部203は、設定値設定制御部204から個人設定情報の登録、更新、削除の指示があると、上限管理テーブル700を参照して、個人設定情報の更新後に最大ユーザ数701、最大記憶容量702を超えていないか確認する。それぞれの上限値を超えていなければ、設定値記憶制御部203は、設定DB400を更新し、ユーザ情報テーブル710の該当ユーザ識別子の使用サイズ712、設定情報管理テーブル720の使用記憶容量722の値を更新する。
また、新規にユーザの個人設定情報が追加された場合、あるいは、既存のユーザの個人設定情報が削除された場合には、設定値記憶制御部203は、ユーザ情報テーブル710にユーザ識別子711の追加、削除を行う。新規にユーザ識別子が追加された場合は、設定値記憶制御部203は、ユーザ情報テーブル710の当該ユーザの使用サイズ712、最終利用日時713も合わせて更新する。更に、設定値記憶制御部203は、設定情報管理テーブル720の個人設定登録済みユーザ数721と、使用記憶容量722の値を更新する。
最大ユーザ数、最大記憶容量サイズの上限値を超えていれば、設定値記憶制御部203は、設定値設定制御部204にエラーを返して、個人設定情報の更新を行わない。その場合、表示操作制御部201を介して、個人設定を保存できない旨のエラーがディスプレイ119に表示される。
次に、図3を用いて、個人設定情報のエクスポート機能、インポート機能について説明する。図3(A)は、個人設定情報をエクスポートするための個人設定エクスポート画面の一例である。301は、個人設定情報が登録されているユーザであり、302は、該当ユーザの個人設定情報をエクスポート対象に含めるか否かを設定するためのチェックボックスである。ボタン303は、チェックボックス302に対して、全ユーザを一括してチェックするためのボタンである。ボタン304は、チェックボックス302で選択されているものを全て選択解除するためのボタンである。ボタン305は、チェックボックス302で選択されているユーザの個人設定情報のエクスポートを実行指示するためのボタンである。図3(A)の例では、ユーザA、ユーザB、ユーザCの個人設定情報がエクスポート対象として選択されている。
図3(A)の画面は、表示操作制御部201によって表示されている。なお、この画面はMFP101に備えられたディスプレイ119に表示しても構わないし、例えば、表示データをHTML化して、通信I/Fコントローラ117を介して、不図示の外部のPCのブラウザで表示する形態でも構わない。また、通信I/Fコントローラ117を介して、外部のPCにインストールされた専用アプリケーション上に表示する形態でも構わない。すなわち、MFP102は、MFP102自身が備える操作部または外部からエクスポート指示を受信することができる。
ボタン305の押下によりエクスポートが指示されると、表示操作制御部201から設定値入出力制御部205に対し、選択されたユーザの個人設定情報のエクスポートを実行するよう要求される。設定値入出力制御部205は、設定値記憶制御部203を介して、選択されたユーザの個人設定情報を設定DB400から取得し、更にユーザ情報テーブル710から、該当するユーザの使用サイズ712や最終利用日時713の情報も取得する。設定値入出力制御部205は、設定値記憶制御部203から取得した情報から、個人設定移行データ600を生成する。
ここで、ユーザを選択して個人設定情報をエクスポートする処理について、図14のフローチャートを用いて説明する。なお、本フローは、ROM113に記憶されたプログラムがCPU111によって制御されることにより実行される。
S1401において、CPU111は、個人設定エクスポート画面(図3(A))を表示させる。S1402において、CPU111は、個人設定エクスポート画面で管理者が選択したユーザを、エクスポート対象ユーザ一覧として取得する。
S1403において、CPU111は、エクスポート対象ユーザ一覧の中から未選択の任意の1ユーザを選択する。S1404において、S1403で選択したユーザの全ての個人設定情報を取得する。具体的には、設定DB400から、S1403で選択したユーザのユーザ識別子と一致するデータを全て読み出す。
S1405において、CPU111は、S1404で読み出した個人設定情報を用いてアーカイブファイルを生成する。これは、tar(tape archive)など任意のアーカイブ形式を用いる。S1406において、CPU111はS1403で選択したユーザの情報を取得する。具体的には、CPU111は、ユーザ情報テーブル710からユーザ識別子711、使用サイズ712、最終利用日時713を取得する。なお、ユーザの情報はこの限りでなく、他の情報があっても構わないし、一部の情報でも構わない。
S1407において、CPU111は、S1403で選択したユーザに対する個人設定情報を一時保存する。具体的には、不図示の一時保存記憶領域に、S1403で選択したユーザに対するS1405で生成した個人設定情報のアーカイブファイルと、S1406で取得したユーザ情報を保存する。
S1408において、CPU111は、エクスポート対象ユーザ一覧に含まれるユーザを全て処理したか判断する。全て処理した場合(Yes)は、S1409へ進む。エクスポート対象ユーザ一覧に未処理(未選択)のユーザが残っていると判断された場合(No)は、S1403へ戻り、別のユーザが選択される。
S1409において、CPU111は、S1407で一時保存されているエクスポート対象ユーザ一覧に含まれる全ユーザのアーカイブファイルを、個人設定移行データとして1ファイルにまとめる。具体的には、前述と同じくtarなどの形式で1ファイルにアーカイブを行い、S1407で一時保存したユーザの個人設定情報を削除する。
図6は、個人設定移行データ600の一例を示す図である。601は個人設定情報の移行対象のユーザ識別子、602は各ユーザの個人設定情報の使用サイズ、603は各のユーザの最終利用日時である。これらの情報は、図7(B)のユーザ情報テーブル710から取得した値が格納されている。604は、各ユーザの個人設定情報のアーカイブファイルであり、設定DB400の対象ユーザの設定項目402、設定値403の組み合わせがアーカイブされて、ユーザ毎に記録される。例えば、tar形式など任意のアーカイブ形式でアーカイブされる。図6の例では、ユーザ名+“.tar”のファイルとしてアーカイブして格納されている。
不図示であるが、個人設定移行データ600が生成されると、図3(A)の画面でエクスポートを指示したユーザが、当該データをPC上のファイルシステムや、USBメモリなどのメモリメディアに格納するための画面が表示される。
ここで、個人設定移行データ600を他のMFP102にインポートすることにより、エクスポート対象のユーザの個人設定情報をMFP102に格納することができる。なお、MFP102は、図1のMFP101と同じコントローラユニット、同じプログラム構成である別のデバイスであることを示すものである。MFP102は、個人設定情報など、格納されているデータがMFP101とは異なるものとする。
図3(B)は、MFP102でインポートの実行を指示するための個人設定インポート画面の一例である。なお、この画面は、MFP101に備えられたディスプレイ119に表示しても構わないし、例えば、表示データをHTML化して、通信I/Fコントローラ117を介して、不図示の外部のPCのブラウザで表示する形態でも構わない。また、通信I/Fコントローラ117を介して、外部のPCにインストールされた専用アプリケーション上に表示する形態でも構わない。すなわち、MFP102は、MFP102自身が備える操作部または外部からインポート指示を受信することができる。
311は、インポート対象の個人設定移行データ600のパスを入力するフィールドである。このフィールドに個人設定移行データ600のファイルパスが入力され、312のインポート実行ボタンを押下することで、MFP102に対して、MFP101でエクスポート対象として選択されたユーザの個人設定情報がインポートされる。具体的には、MFP102の設定値入出力制御部205が、個人設定移行データ600のアーカイブファイルを解凍し、更に、各ユーザの個人設定情報のアーカイブファイル604を解凍する。設定値入出力制御部205は、設定値記憶制御部203に指示して、設定DB400の対象ユーザの設定項目402、設定値403に、それぞれのユーザ毎に解凍した個人設定情報を復元する。これによって、MFP102に、MFP101でエクスポート対象としたユーザの個人設定情報が復元される。個人設定情報のインポートに関する詳細な説明は後述する。
図8(A)は、MFP102のユーザ情報テーブル800、図8(B)は、設定情報管理テーブル810の例である。なお、上限管理テーブルは、MFP102も図7(A)の上限管理テーブル700と同じである。
この状態のMFP102に、図6の個人設定移行データ600をインポートする場合について説明する。MFP102において、個人設定情報は、9ユーザ、9.75MB格納されている。一方、個人設定移行データ600には、3ユーザ、5MB分の個人設定情報が格納されているため、すべてインポートすると上限管理テーブル700の最大ユーザ数、最大記憶容量を超えてしまう。従って、個人設定移行データ600をすべてインポートするためには、登録されている個人設定情報から、必要な分だけ削除する必要がある。
そこで、本実施例では、まず最初に、個人設定移行データ600、ユーザ情報テーブル800の両方に含まれるユーザの個人設定情報を削除する。続いて、ユーザ情報テーブル800を参照し、最終利用日時801が古いユーザの個人設定情報を、インポートに必要な分だけ削除する。
この例であれば、個人設定移行データ600、ユーザ情報テーブル800の両方にUserBの個人設定情報が含まれているため、まず、ユーザ情報テーブル800からUserBの個人設定情報を削除する。これにより、MFP102の個人設定登録済みユーザ数が8、個人設定情報の合計使用サイズが7.75MBとなるが、個人設定移行データ600に含まれる3ユーザ、5MB分の個人設定情報をインポートすると、上限を超えてしまう。そこで、次に最終利用日時801が古いユーザであるUserYの個人設定情報を削除する。これにより、MFP102の個人設定登録済みユーザ数は7、個人設定情報の合計使用サイズが7.5MBとなる。ユーザ数は上限内に収まるようになったが、個人設定移行データ600の5MBを加えると、上限10MBを超えるため格納できない。
そこで更に、次に最終利用日時801が古いユーザ4の個人設定情報を削除する。これによって、MFP102の個人設定登録済みユーザ数は6、個人設定情報の合計使用サイズが7MBとなるが、インポートに必要な5MBは空いていないため、まだインポートできない。同様にして、ユーザの最終利用日時801が古い順に、User5(使用サイズ0.5MB)、User2(使用サイズ2MB)の個人設定情報を削除すると、MFP102の個人設定登録済みユーザ数は4、個人設定情報の合計使用サイズは4.5MBとなる。これにより、個人設定移行データ600をすべてMFP102にインポートすることが可能になる。
本実施例では、上述のように、個人設定移行データ600、ユーザ情報テーブル800の両方に含まれているUserBの個人設定情報を優先して削除している。仮に、UserBの個人設定情報を優先して削除せずに、最終利用日時801が古い順に削除した場合は、以下の順で削除され、個人設定移行データ600のインポートに必要な5MBが確保される(括弧内は各ユーザの使用サイズ)。UserY(0.25MB)、User4(0.5MB)、User5(0.5MB)、User2(2MB)、UserX(1MB)、User3(0.5MB)。つまり、UserBの個人設定情報は個人設定移行データ600に含まれているため、必ず更新されるべきものであるにも関わらず、MFP102でのUserBの最終利用日時が新しいために、削除対象にならない。その結果、UserBを優先して削除した場合に比べて、UserX、User3の個人設定情報が余分に削除されてしまうことになる。
以下、図9のフローチャートを用いて、本実施例における個人設定情報のインポート処理について説明する。なお、本フローは、MFP102のROM113に記憶されたプログラムがCPU111によって制御されることにより実行される。
S901において、CPU111は、インポート対象の個人設定移行データ600の読込みを行う。S902において、CPU111は、S901で読込んだ個人設定移行データ600に含まれるユーザと同一のユーザの個人設定情報がMFP内に存在するか確認する。具体的には、CPU111は、個人設定移行データ600内のユーザ識別子601と、MFP内のユーザ情報テーブル800のユーザ識別子で同一のものがあるかを判定する。同一のユーザ識別子が存在すれば(Yes)、S903へ進み、同一のユーザ識別子が存在しない場合(No)は、S904に進む。
S903において、CPU111は、S902で同一のユーザ識別子があると判定されたユーザを優先削除ユーザとして設定する。ここで、優先削除ユーザに設定されるユーザは、1つに限らず、ユーザ識別子が同一のものであれば、複数のユーザが設定される。S904において、CPU111は、設定情報管理テーブル810から個人設定登録済みユーザ数を取得し、S905において、設定情報管理テーブル810から使用記憶容量を取得する。
S906において、CPU111は、S904で取得した個人設定登録済みユーザ数から、S903で設定した優先削除ユーザのユーザ数を引いた値を求める。その値と、個人設定移行データ600に含まれるユーザ数の合計が、上限管理テーブル700の最大ユーザ数701を超えているか否かを判定する。最大ユーザ数を超えていれば(Yes)、S908へ進み、最大ユーザ数を超えていなければ(No)、S907へ進む。
S907において、CPU111は、S905で取得した使用記憶容量から、S903で設定した優先削除ユーザの各ユーザについて、ユーザ情報テーブル800の使用サイズを減じた値を求める。その値と、個人設定移行データ600内に含まれる各ユーザの使用サイズ602の合計した値を加算し、加算した値が最大記憶容量を超えているか否かを判定する。最大記憶容量702を超えていなければ(No)、S930へ進み、最大記憶容量702を超えていれば(Yes)、S908へ進む。
S930に進んだ場合は、個人設定移行データ600をすべてインポートしても、最大ユーザ数、最大記憶容量を超えることが無いため、記憶済みの個人設定情報を削除することなく、通常のインポート処理が行われる。なお、通常のインポート処理とは、詳細は説明しないが、個人設定移行データ600内の各ユーザの個人設定情報のアーカイブファイルを展開して、個人設定情報を復元する処理である。なお、個人設定移行データとMFPに同一のユーザが存在する場合は、MFP内の当該ユーザの個人設定情報を削除してから、個人設定情報が復元される。
S908において、CPU111は、S903で設定した優先削除ユーザに含まれるユーザの個人設定情報を削除する。S909において、CPU111は、個人設定移行データ600の中から、S910以降の処理を行っていない未選択の任意の1ユーザを選択する。
S910において、設定情報管理テーブル810を確認し、個人設定登録済みユーザ数721が、上限管理テーブル700の最大ユーザ数701に達しているか否かを確認する。最大ユーザ数に達している場合(Yes)は、S912へ進み、最大ユーザ数に達していない場合(No)は、S911へ進む。
S911において、CPU111は、設定情報管理テーブル810の使用記憶容量と、S909で選択したユーザの個人設定移行データ600の使用サイズ602を合計した値を求める。そして、CPU111は、合計した値が、上限管理テーブル700の最大記憶容量702を超えているか確認し、最大記憶容量を超えている場合(Yes)は、S912へ進み、最大記憶容量を超えていない場合(No)は、S913へ進む。
S912は、S909で選択したユーザの個人設定情報をインポートすると上限を超える場合の処理であり、CPU111は、ユーザ情報テーブル800の最終利用日時801を確認して、一番古いユーザの個人設定情報を削除する。そして、S910へ戻り、S909で選択したユーザの個人設定情報インポート可能になったかを再度確認する。
S913に進んだ場合、S909で選択したユーザの個人設定情報をインポートしても上限を超えないため、個人設定移行データ600の該当ユーザの設定情報が、MFPに復元される。S914において、CPU111は、個人設定移行データ600に含まれる全ユーザの個人設定情報をインポートしたか確認する。個人設定情報のインポートが完了していないユーザがいる場合(No)は、S909へ戻る。個人設定移行データ600に含まれる全てのユーザの個人設定情報のインポートが完了している場合(Yes)、本フローチャートの処理を終了する。
本実施例によれば、個人設定移行データのインポートにより、MFPの最大ユーザ数や最大記憶容量を超える場合であっても、全データをインポートできるように、自動的に最終利用日時の古いユーザの個人設定情報が削除される。よって、管理者がすべて手動で個人設定情報を削除する必要がなくなるため、管理者の手間を省くことが可能になる。
(第2の実施形態)
第1の実施形態では、個人設定情報のインポート指示を行うユーザが一般ユーザであるか、管理者ユーザであるかを特段区別しない例について説明した。よって、一般ユーザが個人設定情報のインポート指示を行う場合であっても、最終利用日時の古いユーザの個人設定情報が自動的に削除されてしまう場合がある。ここで、MFPの運用環境によっては、個人設定情報の自動削除は管理者ユーザのみが可能とし、一般ユーザによる自動削除は行わせなくない、というケースも存在する。
そこで、本実施形態では、そのようなケースに対応したときの処理について図15のフローチャートを用いて説明する。なお、図9のフローチャートと同じ処理については同一番号を付与することで、説明は割愛する。
S907においてYesと判定された場合、S1501に進み、CPU111は、インポート作業を実行しているユーザの権限を取得する。ここで、権限とは、MFPの全ての操作を行える管理者ユーザや、ネットワーク設定などデバイスの全体に関する設定を行うことなどが制限された一般ユーザ、例えば、コピーだけなど一部の機能のみ利用できるゲストユーザがある。S1501において、個人設定情報のインポートを実行しているユーザが管理者ユーザである場合(Yes)は、S908へ進み、最終利用日時が古いユーザの自動削除を行ってインポートを実施する。個人設定情報のインポートを実行しているユーザが管理者ユーザでない場合(No)は、S1502へ進む。
S1502では、CPU111は、個人設定を保存するためのユーザ、あるいは記憶領域のサイズの上限を超えているため、インポートできない旨のエラーメッセージをディスプレイ119に表示させる。
このように、本実施例によれば、管理者ユーザがインポートするときのみ、個人設定の自動削除が行われ、一般ユーザがインポートを行うときには、個人設定情報の自動削除が行われるのを制限することができる。なお、一般ユーザがインポートを行うときでも、MFPの上限を超えない場合には通常通りインポートを行うことができるため、単に管理者のみにインポートの権限を与える場合に比べ、ユーザの利便性が向上する。
(第3の実施形態)
本実施形態におけるMFPは、ユーザのログイン時や個人設定情報の保存時に、上限管理テーブル700で管理される上限を超えないよう、最終利用日時の古いユーザの個人設定を自動的に削除する機能(以下、自動削除機能)を有するものとする。更に、本実施形態におけるMFPは、この自動削除機能を有効にするか無効にするかを管理者が設定できるものとする。すなわち、自動削除機能が有効な場合は、ユーザのログイン時にユーザ数や記憶容量が上限を超えると、最終利用日時の古いユーザの個人設定情報が削除され、自動削除機能が無効な場合はユーザ数や記憶容量が上限を超えても個人設定情報が削除されない。
本実施形態では、この自動削除機能が無効に設定されている場合であっても、個人設定情報のインポート時には個人設定情報を削除できるようにする例について、図10のフローチャートを用いて説明する。なお、図9のフローチャートと同じ処理については同一番号を付与することで、説明は割愛する。
自動削除機能を有効にするか無効にするかは、設定値記憶制御部203が、不図示の自動削除フラグとして保持しており、自動削除フラグがONのときは、上記の自動削除が行われ、自動削除フラグがOFFのときは、上記自動削除は行わないものとする。
S907においてYesと判定された場合、S1001に進み、CPU111は、自動削除フラグの値を確認し、自動削除機能が有効であるか否かを判定する。自動削除フラグがOFFであれば(No)、S1002へ進み、ONであれば(Yes)、S908へ進む。
S1002において、CPU111は、図11(A)に示す画面を表示させる。図11(A)に示す画面では、個人設定移行データをインポートすると上限を超えてしまう旨のメッセージ、及び、古いユーザの個人設定情報を自動的に削除するか否かをユーザに問い合わせるメッセージが表示される。
S1003において、CPU111は、図11(A)の画面を介したユーザの選択に基づき、個人設定情報の自動削除を行うか否かを判定する。図11(A)の画面で自動削除を行うことが選択されていれば(Yes)、S908へ進み、自動削除を行うことが選択されていなければ(No)、S1004へ進む。
S1004では、CPU111は、図11(B)の警告メッセージを表示して、インポートを実行しているユーザに対し、不要なユーザの個人設定の削除を促す。OKボタンが押下されると、メッセージを非表示とし、処理を終了する。
本実施形態によれば、自動削除機能が無効に設定されている場合であってもインポート時に自動削除を行うか否かをユーザが選択することができるため、通常は自動削除を行わない運用であっても、インポートを容易に行うことが可能となる。
(第4の実施形態)
上記各実施形態では、最終利用日時の古いユーザの個人設定情報を無条件で削除する例について説明した。しかしながら、たとえ最終利用日時が古いユーザであっても、例えば、休職などで長期不在のユーザの場合などは、復職時に備えて、個人設定を残しておきたいというケースがある。本実施例では、自動削除の対象外とするユーザをあらかじめ指定しておくことで、指定されたユーザの個人設定情報を自動削除の対象から除外できるようにする例について説明する。
図12は自動削除の対象外となるユーザを指定するための画面の一例である。図12には、MFP102に個人設定情報が登録されているユーザ一覧1201が表示されており、自動削除の対象外のユーザを指定するためのチェックボックス1202が設けられている。選択クリアボタン1203はチェックボックス1202の選択をクリアするものであり、キャンセルボタン1204は自動削除対象外ユーザの選択を中止するために利用される。確定ボタン1205は、自動削除対象外ユーザを決定するために使用される。
図12の例では、UserYが自動削除対象外にすることが指定されている。第1の実施形態で示したように、個人設定移行データ600をMFP102にインポートすると、UserYの最終利用日時が古いため、UserYの個人設定情報は削除されてしまう。本実施形態では、自動削除の対象外としてUserYが指定されているため、UserYの個人設定情報については、自動削除されることがない。なお、図12の例では、UserBのチェックボックスが非表示になっている。これは、個人設定移行データ600内のユーザ識別子601が含まれるユーザの個人設定情報は、インポートによって置き換えられるため、削除対象としてチェックできないようにしている。
次に、図13のフローチャートを用いて、本処理について説明する。なお、本フローは、ROM113に記憶されたプログラムがCPU111によって制御されることにより実行される。
S1301において、CPU111は、図12の画面を表示させ、管理者が選択した自動削除対象外ユーザを削除除外ユーザリストに設定する。ここで、削除除外ユーザリストに含まれるユーザは、インポート処理の際に、例えば最終利用日時が古いものであっても自動的に個人設定情報が削除されないユーザの一覧である。不図示であるが、削除除外ユーザリストには、自動削除対象外のユーザ識別子の一覧が記載されている。また、削除除外ユーザリストは、設定値記憶制御部203によって保存されている。
S1302において、CPU111は、設定情報管理テーブル810の使用記憶容量を取得して、sizeTotalAfterDeleteに代入する。sizeTotalAfterDeleteとは、自動削除実行後のMFP内の個人設定情報の合計サイズを表すものである。
S1303において、CPU111は、設定情報管理テーブル810の個人設定登録済みユーザ数を取得して、userTotalAfterDeleteに代入する。userTotalAfterDeleteは、自動削除実行後のMFP内の個人設定を持つユーザ数を表すものである。
S1304において、CPU111は、インポートするための個人設定移行データ600に含まれるユーザの個人設定情報がMFP内に存在するか確認する。具体的には、CPU111は、個人設定移行データ600を確認して、ユーザ識別子601と同じユーザ識別子が、ユーザ情報テーブル800に存在するか確認する。同一のユーザ識別子が存在する場合(Yes)は、S1305へ進み、存在しない場合(No)は、S1306へ進む。
S1305において、CPU111は、個人設定移行データ600内のユーザ識別子601とユーザ情報テーブル800のユーザ識別子が同一のユーザを優先削除ユーザリストに設定する。ここで、優先削除ユーザリストとは、MFP内に個人設定情報が記憶されたユーザであり、かつ、個人設定移行データ600に含まれるユーザである。優先削除ユーザリストに含まれるユーザの個人設定は、インポートされるため、優先的に削除対象となる。
S1306において、CPU111は、優先削除ユーザリストに含まれるユーザを削除対象ユーザリストに設定する。S1307において、CPU111は、優先削除ユーザリストに含まれるユーザに対して、MFP内の個人設定情報の使用サイズの合計値を算出する。具体的には、CPU111は、ユーザ情報テーブル800において、優先削除ユーザリストのユーザと同一のユーザ識別子の使用サイズを取得して、合計する。
S1308において、CPU111は、sizeTotalAfterDeleteから、S1307で算出した値を減算する。これにより、sizeTotalAfterDeleteの値は、個人設定移行データに含まれるユーザと同じMFP内のユーザの個人設定情報のサイズを除外した、MFP内の個人設定情報の使用記憶容量となる。これは、インポートによって、MFP内の個人設定情報は、個人設定移行データに含まれるユーザの個人設定情報に置き換えられることを踏まえたサイズとなる。
S1309において、CPU111は、userTotalAfterDeleteから、優先削除ユーザリストに含まれるユーザ数の値を減算する。これにより、userTotalAfterDeleteの値は、個人設定移行データに含まれるユーザと同じMFP内のユーザを除外した、MFP内の個人設定登録済みユーザ数となる。
S1310において、CPU111は、userTotalAfterDeleteと個人設定移行データに含まれるユーザ数の合計が、上限管理テーブル700の最大ユーザ数701を超えているかを確認する。これにより、個人設定移行データ600をインポートした結果、最大ユーザ数を超えるか否かが判断される。最大ユーザ数を超えていると判断された場合(Yes)は、S1312へ進み、最大ユーザ数を超えていない判断された場合(No)は、S1311へ進む。
S1311において、CPU111は、個人設定移行データ600に含まれる全ユーザの使用サイズの合計とsizeTotalAfterDeleteの和が、MFPの最大記憶容量を超えているか判断する。最大記憶容量702を超えていると判断された場合(Yes)は、S1312へ進む。最大記憶容量702を超えていないと判断された場合(No)は、インポートを行っても上限管理テーブル700の値を超えない。そのため、S1318へ進み、CPU111は、削除対象ユーザリストに含まれる全ユーザの個人設定情報を削除する。そして、S1319では、個人設定移行データをMFPにインポートする処理が行われる。
S1312において、CPU111は、ユーザ情報テーブル800のユーザの中から、S1312の処理で今まで選択されておらず、削除対象ユーザリストに含まれていないユーザの中から、最終利用日時801が最も古いユーザを選択する。S1313において、CPU111は、S1312で条件に合うユーザを選択することができたか否かを判定する。選択できたと判断されれば(Yes)、S1314へ進む。
S1312で条件に合うユーザを選択できていない場合は、自動削除対象外ユーザを除くユーザを全て削除しても、個人設定移行データ600をインポートするとユーザ数、あるいは最大記憶容量を超えてしまう。S1313でNoと判定された場合、S1320へ進み、CPU111はインポートできない旨のエラーメッセージ(不図示)を表示させて処理を終了する。
S1314において、CPU111は、S1312で選択したユーザが自動削除除外ユーザリストに含まれるか確認を行う。自動削除除外ユーザリストに含まれている場合(Yes)は、当該ユーザの個人設定の自動削除ができないため、S1312に戻る。自動削除除外ユーザリストに含まれていない場合(No)は、S1315へ進む。
S1315において、CPU111は、S1312で選択されたユーザを削除対象ユーザリストに含める。S1316において、CPU111は、sizeTotalAfterDeleteからS1312で選択したユーザの使用サイズを減算する。具体的には、CPU111は、ユーザ情報テーブル800から、選択されたユーザ識別子の使用サイズを取得して、その値をsizeTotalAfterDeleteから減算する。S1317において、CPUは、userTotalAfterDeleteから1を減算し、S1310に戻る。
本実施形態によれば、インポート時に、予め指定したユーザを除外して自動削除を行うことが可能になり、管理者が所望のユーザの個人設定情報をMFP102に残しながら、インポートを行うことが可能となる。
なお、図12の画面で自動削除対象外ユーザを選択する際に、個人設定移行データ600に含まれるユーザ(UserB)を選択対象から除外する例について説明したが、個人設定移行データ600に含まれるユーザを選択可能にしてもよい。個人設定移行データに含まれるユーザが選択された場合は、該当するユーザの個人設定移行データに含まれる個人設定情報をインポートせずに、MFP102に存在している個人設定情報をそのまま残すような形態でも構わない。あるいは、MFP102内に存在している個人設定情報をそのまま残すか、個人設定移行データに含まれる個人設定情報に置き換えるかを管理者に選択させるような形態でも構わない。
また、最終利用日時を指定して、指定した日時よりも最終利用日時が新しいユーザの個人設定情報については自動削除を行わないようにしてもよい。例えば、図12の画面において、ユーザを指定するだけでなく、日時を指定できるようにして、最終利用日時が、指定された日時以降のユーザを自動削除の対象外ユーザとするようにする。この場合の処理は、S1301において最終利用日時が、図12の画面で指定された日時以降のユーザについても削除除外ユーザリストに設定すればよい。
更にまた、自動削除の対象となるユーザが一定数を超えた場合には、インポート処理を行うか中止するかを選択できるようにしてもよい。この場合、予め自動削除を行うユーザの最大ユーザ数を設定しておく。そして、S1315の処理の後に、削除対象ユーザリストに含まれるユーザ数が予め決めた一定数を超えるか確認する処理を行うことで実現できる。
(第5の実施形態)
上記各実施形態では、自動削除を行う個人設定情報を選択する条件として、最終利用日時が古いユーザから削除を行う例について説明したが、他の条件でも構わないし、複数の条件を複合しても構わない。
自動削除対象のユーザを選択するための条件を指定する例について、図18の自動削除条件設定画面と、図16のフローチャートを用いて説明する。なお、本フローは、ROM113に記憶されたプログラムがCPU111によって制御されることにより実行される。
図18は、自動削除条件設定画面の一例であり、個人設定情報のインポート時に不要なユーザの個人設定情報を自動削除するために、対象のユーザを選択するための条件を設定する画面である。
1801は、自動削除の条件である。図18では、「最終ログイン日時が古い」「最終変更日時が古い」「デフォルト設定を利用」の3つが表示されている。条件は、この3つに限定されることは無く、他の条件であっても構わない。「最終ログイン日時が古い」が指定された場合は、ユーザがログインした日時が古いユーザから選択される。「最終変更日時が古い」が指定された場合は、個人設定情報を最終的に変更した日時が古いユーザから選択される。「デフォルト設定を利用」が指定された場合は、デバイス設定と同じ設定を個人設定として使っていて、変更していないユーザが選択される。
1802は、自動削除の対象ユーザを探索するための条件として採用するか否かのチェックボックスである。1802でチェックされた条件は、自動削除の対象ユーザを探索するときに使用される用。1802のチェックは、1つだけ選択できるようにしてもよいし、複数の条件を選択できるようにしてもよい。1803はOKボタンであり、押下されると、1802でチェックされた条件が自動削除条件として確定される。1804は、Cancelボタンであり、押下されると、1802でチェックされた条件が破棄される。なお、1801の各条件を上下に移動可能とし、例えば、上に表示された条件の方を、自動削除の対象のユーザを選択するときに優先する条件としてもよい。
管理者は、個人設定のインポートを行う前に、図18の自動削除条件設定画面で、個人設定の自動削除が行われる場合に削除されるユーザを選択するための条件を設定しておく。図18の画面は、表示操作制御部201によって表示されている。なお、MFP101に備えられたディスプレイ119に表示しても構わないし、例えば、表示データをHTML化して、通信I/Fコントローラ117を介して、不図示の外部のPCのブラウザで表示する形態でも構わない。また、通信I/Fコントローラ117を介して、外部のPCにインストールされた専用アプリケーション上に表示する形態でも構わない。
続いて、図16のフローチャートを用いて説明する。図9のフローチャートと同じ処理については、同一番号を付与することで、説明は割愛する。
S910でYesと判定された場合、又はS911でYesと判定された場合、S1601へ進み、CPU111は、予め管理者が図18の画面で設定した自動削除条件にマッチする任意の1ユーザを選択する。具体的には、CPU111は、ユーザ情報テーブル800を確認して、自動削除条件と一致するユーザを選択する。なお、条件の探索に必要な情報は、ユーザ情報テーブル800に追加されているものとする。例えば、ユーザ情報テーブル800には、個人設定情報の最終変更日時、及びデフォルト設定から変更したか否かを示すフラグがユーザ情報テーブル800に追加されているものとする。なお、ユーザ情報テーブル800に追加するのでなく、設定DB400に格納された個人設定情報を確認するようにしても良い。
S1602において、CPU111は、図18で設定された自動削除条件と一致するユーザを選択することができたか確認する。選択できていれば(Yes)、S1603へ進み、選択できていなければ(No)、S1604へ進む。
S1603において、CPU111は、S1601で選択されたユーザの個人設定情報を削除して、S910へ戻る。S1604では、インポートが完了する前に自動削除の対象のユーザが選択できなくなったということなので、CPU111は、インポートが完了できなかった旨を示すエラーメッセージを表示させて処理を終了する。
本実施形態によれば、インポート時に個人設定情報を自動削除するユーザの条件を管理者があらかじめ設定することができる。
(第6の実施形態)
本実施形態では、第3の実施形態において、個人設定情報の自動削除を行わないことが選択された場合に、インポート先のMFPのユーザリストを表示し、削除対象となるユーザをユーザに指定させる例について、図17のフローチャートを用いて説明する。なお、図10のフローチャートと同じ処理については、同一番号を付与することで、説明は割愛する。
S1003において、インポート時に自動削除を行わないと判定された場合(No)、S1701へ進む。S1701において、CPU111は、図19の削除対象のユーザを指定するための削除対象ユーザリスト画面を表示させる。ここで、図19(A)は、インポート時に削除するユーザを選択するための削除対象ユーザ指定画面の一例である。図19(A)では、MFP102に記憶されている個人設定情報を持つユーザ一覧1901が表示されており、削除対象のユーザとして指定するためのチェックボックス1902が設けられている。選択クリアボタン1903はチェックボックス1902の選択をクリアするものであり、キャンセルボタン1904は削除対象のユーザの選択を中止するために利用される。確定ボタン1905は、削除対象のユーザを決定するために使用される。図19(A)の例では、User4、User5、UserZが削除対象のユーザとすることが指定されている。なお、UserBは、個人設定移行データ600に含まれているユーザであるので、チェックできないが、強制的に削除対象として設定されているものとする。
S1702において、CPU111は、S1701で選択された削除対象ユーザを除いたデバイス内のユーザ数と、個人設定移行データに含まれるユーザ数の合計が、最大ユーザ数を超えているかを確認する。最大ユーザ数701を超えている場合(Yes)は、S1704へ進み、超えていない場合(No)は、S1703へ進む。
S1703において、CPU111は、S1701で選択された削除対象ユーザを除いたデバイス内の個人設定の合計使用サイズと、個人設定移行データ600に含まれる個人設定情報のサイズの合計が、最大記憶容量を超えているかを判定する。最大記憶容量を超えている場合(Yes)は、S1704へ進み、超えていない場合(No)は、S930へ進む。S903に進んだ場合、CPU111は、S1701で選択された削除対象ユーザの個人設定情報を削除し、個人設定移行データ600のインポート処理を行う。
S1704において、CPU111は、図19(B)の画面を表示し、個人設定を削除する対象となるユーザを選択し直すかユーザに選択させる。S1705において、個人設定を削除する対象となるユーザを選択し直す旨がユーザにより選択された場合(Yes)は、S1701へ戻る。個人設定を削除する対象となるユーザを選択し直さない旨が選択された場合(No)は、インポートできないため処理を終了する。
上記処理によれば、インポート時に個人設定情報の自動削除を行うか否かを管理者に選択させたうえで、自動削除を行わない旨が選択された場合には、自動削除するユーザを管理者が指定することができる。
なお、図17のフローチャートでは、削除するユーザを選択する例について説明したが、個人設定移行データ600に含まれるすべての個人設定情報をインポートせずに、インポートする個人設定情報を選択できるようにしてもよい。すなわち、インポート対象の個人設定移行データ600に含まれるユーザの中からインポート対象としてユーザを選択する形態でも構わない。この場合のフローチャートの例として、S1701からS1705の処理を個人設定のインポート対象のユーザが選択された内容とすればよい。そこで、S1701’からS1705’として説明する。
S1701’では、図19(C)のように、インポート対象とするインポートユーザを選択するための選択画面が表示される。1911は、個人設定移行データ600に含まれるユーザ、1912は、個人設定情報をインポートするかどうかを指定するチェックボックスである。ボタン1913は、1312のチェックボックスに対して、全ユーザを一括してチェックするためのボタンである。ボタン1914は、チェックボックス1312で選択されているものを全て選択解除するためのボタンである。ボタン1915は、チェックボックス1912で選択されているユーザの個人設定情報をインポートするためのボタンである。図19(C)の例では、ユーザA、ユーザCが個人設定のインポート対象の候補として選択されている。図19(C)の画面は、表示操作制御部201によって表示されている。なお、MFP101に備えられたディスプレイ119に表示しても構わないし、例えば、表示データをHTML化して、通信I/Fコントローラ117を介して、不図示の外部のPCのブラウザで表示する形態でも構わない。また、通信I/Fコントローラ117を介して、外部のPCにインストールされた専用アプリケーション上に表示する形態でも構わない。
S1702’では、デバイス内のユーザ数と、S1701’で選択されたユーザ数の合計が、最大ユーザ数を超えているか判定される。このとき、S1701’で選択されたユーザが、ユーザ情報テーブル800に含まれている場合は、該当するユーザ数が、デバイス内のユーザ数から減じられる。S1702’で最大ユーザ数を超えている場合は(Yes)、S1704’へ進み、超えていない場合は(No)、S1703’へ進む。
S1703’では、デバイス内の個人設定の合計使用サイズと、S1701’で選択されたユーザの個人設定のサイズの合計が、最大記憶容量を超えているか否かが判定される。このとき、S1701’で選択されたユーザが、ユーザ情報テーブル800に含まれている場合は、デバイス内の個人設定の合計サイズとして、該当するユーザのサイズを加えない。S1703’で、最大記憶容量を超えている場合は(Yes)は、S1704’へ進み、超えていない場合(No)は、S930へ進む。
S1704’では、図19(D)の画面が表示され、インポート対象のユーザを選択し直すかユーザに選択させる。S1705’では、インポート対象のユーザを再選択するか否かが判定される。図19(D)の画面で再選択する旨が選択された場合(Yes)、S1701’へ戻り、再選択しない旨が選択された場合(No)、処理を終了する。
なお、上記説明では、S1701~S1705と、S1701’~S1705’と分けて説明したが、両方の処理を含めて、個人設定を削除するユーザの選択と、個人設定をインポートするユーザの選択を同時に行えるようにしても構わない。
以上のように、本実施形態によれば、インポート時に、個人設定を削除したいユーザを選択する、あるいは、個人設定をインポートしたいユーザを選択することで、管理者が自由に個人設定情報を残すユーザをコントロールすることが可能となる。
(第7の実施形態)
上記各実施形態では、不要なユーザの個人設定の自動削除が行われる例について説明した。本実施形態では、自動削除された個人設定をバックアップデータとして保存する例について、図20のフローチャートを用いて説明する。なお、図9のフローチャートと同じ処理については、同一番号を付与することで、説明は割愛する。
S910でYesと判定された場合、又はS911でYesと判定された場合、S2001へ進む。S2001において、CPU111は、S909で選択されたユーザの全ての個人設定情報を取得する。具体的には、CPU111は、設定DB400からS909で選択したユーザのユーザ識別子と一致するデータを全て読み出す。
S2002において、CPU111は、S2001で読み出した個人設定情報のアーカイブファイルを生成する。その際、tarなど任意のアーカイブ形式を用いる。S2003では、CPU111は、S909で選択したユーザの情報を取得する。具体的には、CPU111は、ユーザ情報テーブル800からユーザ識別子、使用サイズ、最終利用日時を取得する。なお、ユーザの情報はこの限りでなく、他の情報があっても構わないし、一部の情報でも構わない。
S2004において、CPU111は、S909で選択したユーザに対する個人設定情報を一時保存する。具体的には、CPU111は、不図示の一時保存記憶領域に、S2002で生成した個人設定情報のアーカイブファイルと、S2003で取得した個人情報を保存する。この後、S912へ進む。
また、S914において、個人設定移行データ600に含まれる全てのユーザの個人設定情報をインポートしたと判断された場合(Yes)に、S2005へ進む。
S2005において、CPU111は、S2004で一時保存されているユーザのアーカイブファイルを更にアーカイブし、バックアップ用個人設定移行データとして、1ファイルにまとめる。具体的には、CPU111が、tarなどの形式で1ファイルにアーカイブを行い、S2004で生成された一時保存したユーザの個人設定情報を削除する。
S2006では、不図示であるが、予め管理者が指定したファイルサーバや、USBなどのメモリメディアの保存先に、S2005で作成したバックアップ用個人設定移行データを保存する。バックアップ用個人設定移行データは、インポートに利用することができる。よって、バックアップ用個人設定移行データをインポートすることにより、自動削除されたユーザの個人設定を復元することが可能となる。
本実施形態によれば、インポート時に、個人設定が自動削除されてしまっても、削除された個人設定をバックアップしているため、必要に応じて、個人設定を復元することが可能となる。
(その他の実施形態)
なお、上記各実施形態では、個人設定情報を登録可能なユーザ数と、登録可能な個人設定情報のデータサイズそれぞれに上限を設け、インポートによってこれら上限を超えないよう制御する例について説明したが、一方のみに上限を設けるようにしてもよい。すなわち、個人設定情報を登録可能なユーザ数にのみ上限を設けてもよいし、登録可能な個人設定情報のデータサイズのみに上限を設けるようにしてもよい。
また、上記各実施形態によれば、個人設定移行データ600のインポート後にちょうど最大記憶容量になるケースでも、インポートが行えることとなる。しかしながら、その場合、インポート完了後にMFPを利用するときに、個人設定情報を新たに登録することが出来ずに、使いづらいことが有り得る。そこで、例えばS911では、最大記憶容量と比較するのではなく、最大記憶容量に一定値を加えた値と比較するようにしてもよい。これにより、個人設定情報のインポート後に一定値分だけ保存領域に余裕がある状態になるので、インポート直後であっても新たな個人設定情報を登録することができる。
なお、上記実施形態ではコピー機能、スキャナ機能等の複数の機能を有する画像形成装置100を例として説明したが、このうち一部の機能のみを有する画像処理装置にも本発明は適用可能である。また、パーソナルコンピュータやPDA、携帯電話、FAX、カメラ、ビデオカメラ、その他の画像ビューワ等、他の情報処理装置に適用しても構わない。
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのコンピュータプログラム、及び該コンピュータプログラムを記憶した記憶媒体は本発明を構成することになる。