以下、本発明の実施形態について図面を用いて詳細に説明する。
(実施形態1)
まず、本実施形態のデータ処理装置および外部機器を含むデータ処理システムの構成を説明する。
図1は、本実施形態のデータ処理装置および外部機器の構成を説明するブロック図である。
図1のデータ処理システムにおいて、データ処理装置1と外部機器2とがネットワークを介して接続されている。
外部機器2は、パーソナルコンピュータ(PC)などであり、データ処理装置1の外部からデータ処理装置1にアクセスすることが可能である。
データ処理装置1は、スキャン機能、プリント機能、ファックス機能、及び電子メール送信機能などの複数の機能を兼ね備えたMFP(Multi Function Peripheral)である。
コントローラユニット100は、データ処理装置1の制御を行う装置である。CPU101は、システム全体を制御するための演算装置である。システムバス111は、CPU101、RAM102、ROM103、HDD104、操作部I/F105、デバイスI/F107、及びネットワークI/F110を接続する。RAM102は、CPU101が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。またRAM102は、オペレーティングシステムやシステムソフトウェア、アプリケーショソフトウェアなどのプログラムもロードされる。ROM103は、システムのブートプログラムが格納されている。またROM103は、システムプログラムやアプリケーションプログラムが格納されている。またROM103は、フォントなどデータ処理装置1に必要な情報も格納されている。HDD104はハードディスクドライブで、オペレーティングシステム、システムソフトウェア、アプリケーションソフトウェア、及び画像データ等を格納する。本実施形態では、HDD104に共有フォルダが構成されている。RAM102に格納されたプログラムは、CPU101によって実行され、RAM102、ROM103やHDD104に格納された画像データや実行コマンド等を処理する。
また小型のデータ処理装置では、HDD104を搭載せずにシステムソフトウェア、アプリケーションソフトウェア等をROM103に格納して、ハードディスクレスの構成もある。あるいは、HDD104の代わりにSSD(Solid State Disk)などのフラッシュメモリのような記憶装置を用いても構わない。この場合には、HDD104の代わりに搭載したSSDに共有フォルダを構成する。またデータ処理装置1は、ネットワーク上のPCやサーバなどであってもよい。
コントローラユニット100は、操作部I/F105、デバイスI/F107、ネットワークI/F110を備える。操作部I/F105は操作部106と接続されている。操作部106は、データ処理装置1の状態を知らせるタッチパネルなどの表示装置と、データ処理装置1に指示を与えるための操作ボタンとが一体となった装置である。デバイスI/F107は、画像入出力デバイスであるスキャナ108やプリンタ109とコントローラユニット100を接続し、画像データの入力や出力を行う。スキャナ108からデバイスI/F107を介して入力された画像データは、RAM102やHDD104に格納される。格納された画像データは、必要に応じてRAM102に格納されたアプリケーションプログラムで画像処理される。また、画像データが出力される場合は、画像データは、デバイスI/F107を介してプリンタ109へ出力される。ネットワークI/F110は、LANに接続し、画像データ、あるいはデータ処理装置1を制御する情報の入出力を行う。
例えば、FAX機能を持つデータ処理装置の場合には、図1には図示していないモデム装置向けI/Fがコントローラユニット100に具備されて、モデムによって公衆回線と接続して、FAX伝送を可能としてもよい。
なお図1では図示していないが、データ処理装置1はUSBI/Fなどの外部記憶媒体からデータを読み出すインターフェースを備えていてもよく、フラッシュメモリカードなどに格納されたデータを読み出してプリントするようにしてもよい。
次に図2を用いて、第1の実施形態におけるデータ処理装置1のソフトウェア構成について説明する。データ処理装置1は、ネットワークサーバ201、アプリケーション213、認証制御部203、及びデータアクセス処理部204を有する。これらの機能は、HDD104あるいはROM103に格納されているプログラムを、オペレーティングシステムによってRAM102にロードして実行する。
ネットワークサーバ201は、データ処理装置1のネットワークサーバ機能を実行するモジュールである。ネットワークサーバ機能とは、データ処理装置1内の記憶装置215に格納されたデータをPCなどの外部機器からアクセスするための機能である。また外部機器2から送信されたデータを印刷するためのパケットデータを受信する機能もある。本実施形態では、記憶装置215はHDD104の一部に相当する。なお外部機器2との通信は、処理する機能に応じたプロトコルに従って行われる。例えば、ネットワークサーバ201は、データ処理装置1内の記憶装置内のデータを共有してファイルサーバとして機能するために、SMB(Server Message Block)プロトコルを用いてファイルの共有を行うファイルサーバ機能をもつ。ネットワークサーバ201は、より具体的には、通信制御部205、プロトコル解析部206、プロトコル生成部207、及びネットワークアクセス制御部208から構成される。
通信制御部205は、外部機器2からネットワーク経由でアクセスが行われた場合、ネットワークI/F110を介してパケットデータを受信する。通信制御部205は、受信したパケットデータのプロトコルを判定し、プロトコル解析部206に解析を依頼する。
なお通信制御部205は、TCP/IPやUDPなどの下位層のプロトコルの解釈まで行う。プロトコル解析部206は、ファイル共有プロトコルといった、TCP/IPより上位層のプロトコルを解析する。なお、図2において、プロトコル解析部206は一つだが、プロトコル毎にプロトコル解析部を用意してもよい。複数のプロトコル解析部を用意した場合は、通信制御部205でプロトコルに応じて解析の依頼先を変える必要がある。
プロトコル解析部206は、プロトコルの種類を特定し、その結果をネットワークアクセス制御部208へ通知する。プロトコル解析部206の解析結果には、どのモジュールへ処理を依頼すればよいかを示す情報が含まれている。
プロトコル生成部207は、ネットワークアクセス制御部208から受け取った処理結果を、通信制御部205へ通知する。ネットワークアクセス制御部208は、記憶装置215に格納されたフォルダ情報を要求したり、記憶装置215のデータにアクセスしたりする。フォルダ情報の要求とは、指定されたフォルダに含まれるフォルダまたはファイルの情報(以下、単に「フォルダ情報」という場合もある)を取得する要求である。フォルダ情報とは、フォルダの種類や、フォルダ名、データサイズ、更新日時の情報を含む情報のことである。
データアクセス処理部204は、記憶装置215に格納されたファイルの読み書きを行う。またデータアクセス処理部204は、ファイルの読み書きだけでなく、ファイル情報またはフォルダ情報の取得も行う。
データアクセス処理部204は、より具体的には、要求受信部216、データ処理部217、及びデータアクセス部218から構成される。要求受信部216は、ネットワークアクセス制御部208及びローカルアクセス制御部212からファイルまたはフォルダの情報の要求を受信したり、ファイルの情報またはフォルダの情報を返したりする。データ処理部217は、記憶装置215に格納されているファイルまたはフォルダのアクセス権を確認し、アクセス制御や情報処理を行う。データアクセス部218は、記憶装置215にアクセスして、ファイルへの読み書きを実行する。なお記憶装置215は、図2で一つしか記載していないが、ネットワークサーバ201から要求されたファイルの格納場所によって、複数の記憶装置215を切り替えることができる。例えば、データを自身のデータ処理装置1の中に保存したい場合は、HDD104が対象となるが、外部のネットワーク上の装置に保存したい場合は、ネットワークI/F110を介した外部装置が対象となる。
認証制御部203は、データ処理装置1内の記憶装置215にアクセスするためのユーザ名、パスワード、権限をユーザDB214に記憶している。認証制御部203は、ネットワークアクセス制御部208またはローカルアクセス制御部212から受け取ったユーザ名及びパスワードが正しいかを確認し、正しい場合には、当該ユーザが持つ権限を返す。
アプリケーション213は、データ処理装置1の機能を実行するプログラムモジュールである。例えば、読み取ったデータを複写するコピー機能のアプリケーションや、読み取ったデータを記憶装置に格納する機能のアプリケーションなど機能毎に様々なアプリケーションがある。図2においては、それらを一般化してアプリケーション213としている。アプリケーション213は、更に、ユーザI/F制御部209、スキャナ制御部210、プリンタ制御部211、ローカルアクセス制御部212から構成される。ユーザI/F制御部209は、操作部I/F105を介して、操作部106に画面を表示したり、操作部106からのユーザの操作を受け取ったりする。ローカルアクセス制御部212では、ユーザI/F制御部209から受け取ったユーザ操作に基づいて各種処理を行い、結果をユーザI/F制御部209を介して操作部106に表示する。例えば、スキャナ108からの読み取りがユーザI/F制御部209から要求された場合は、スキャナ制御部210に対して、原稿の読み取りを依頼して、デバイスI/F107を介してスキャナ108から原稿を読み取る。また、プリントがユーザI/F制御部209から要求された場合は、プリンタ制御部211に対して、プリントを依頼して、デバイスI/F107を介してプリンタ109で印刷を実行する。このとき、スキャナ108から読み取って生成されたデータの格納や、プリンタ109で印刷するデータの取得は、データアクセス処理部204に対して依頼される。データアクセス処理部204については、前述したネットワークサーバ201での処理と同様である。また、データアクセス処理部204に対してアクセスするために認証が必要な場合には、ローカルアクセス制御部212から認証制御部203に認証要求が行われる。認証制御部203の処理についても、前述したネットワークサーバ201と同等である。なお、図2では、データアクセス処理に特化して図示しており、ネットワークサーバ201やアプリケーション213以外の構成については図示していない。
図3を用いて、本実施形態におけるデータ処理装置1内の記憶装置215の中のフォルダ構造について説明する。図3は、記憶装置215に含まれるファイル及びフォルダの構造を模式的に示した図である。図3からわかるように、ファイル及びフォルダは階層構造で記憶装置215にデータとして格納されている。rootフォルダの下に、shareフォルダとusersフォルダがある。shareフォルダの下には更にfooフォルダ、fooフォルダの下にはa.jpgファイル及びb.jpgファイルがある。usersフォルダの直下は、認証制御部203によって認証されたユーザに関連付けられたフォルダで分類されている。本実施形態においては、ユーザDB214にユーザ名tanaka、yamada、suzuki、及びaraiの情報を記憶している。そして、記憶装置215は、各ユーザの情報と関連づけて、tanakaフォルダ、yamadaフォルダ、suzukiフォルダ、及びaraiフォルダを管理している。つまり、tanakaフォルダは、ユーザtanakaに関連付けられている。yamadaフォルダは、ユーザyamadaに関連付けられている。suzukiフォルダは、ユーザsuzukiに関連付けられている。araiフォルダは、ユーザaraiに関連付けられている。
同様に図3を用いて、ファイル及びフォルダのそれぞれに対して設定されるアクセス権について説明する。記憶装置215に記憶されているファイル及びフォルダは、認証制御部203によって認証されたユーザのアクセス権を制御するアクセスコントロールリスト(ACL)を持ち、ACLに応じて各ユーザがファイル又はフォルダにアクセスできるか否かを判断する。具体的には、fooフォルダに格納されているa.jpgファイルには、ユーザtanakaに対して読み書き可能なアクセス権(RW)が与えられている。言い換えれば、ユーザtanaka以外のユーザはa.jpgファイルにアクセスすることはできない。b.jpgファイルには、全てのユーザに対してアクセス権が与えられている。
usersフォルダの下に格納されている各ユーザのフォルダは、それぞれのユーザのみアクセス可能なACLが設定される。その下に置かれるファイル、フォルダに対しても、当該ユーザのみアクセス可能なACLが設定される。例えば、/users/tanaka以下は、ユーザtanakaしかアクセスできないACLが設定される。
なお、shareフォルダ、usersフォルダのように分けずに、個々のファイルやフォルダに対して個別にACLを設定するようにしても構わない。また、図3は、shareフォルダ、usersフォルダを説明するためのもので、それらの下に置かれるファイル及びフォルダはどのように格納したとしても、各フォルダやファイルにアクセス権が適切に設定されていればよい。
更に本実施形態では、前述したACLとは別のアクセス制御を行う方法として、管理者権限の有無を認証ユーザ毎に設定している。
管理者権限を持っていない、すなわち特別の権限を与えられていない一般ユーザは、前述のACLに従ってファイルまたはフォルダにアクセスする。すなわち、認証制御部203によってログインして認証されたユーザは、アクセス権が設定されているファイル及びフォルダにのみアクセスすることができる。
一方、管理者権限を持つユーザ、すなわち、他のユーザに関連付けられたフォルダまたはファイルを操作することが可能なユーザは、記憶装置215内のファイルの削除などのメンテナンスなどの業務を行うことが可能である。管理者権限を持つユーザは、ACLによってアクセス権が設定されているか否かに関わらずファイルまたはフォルダにアクセスすることができる。すなわち管理者権限を持つユーザは、アクセス権が無いデータに対してもアクセスすることが可能である。
図4は、記憶装置215に記憶されたユーザDBに格納される情報のデータ構成を示す図である。図4を用いて、ユーザDBにおいてユーザごとに設定されている管理者権限について説明する。本実施形態では、ユーザyamadaが管理者権限を持つユーザであり、それ以外のユーザは管理者権限を持たない。ユーザyamadaは、自分のフォルダに格納されているファイルのプリント操作や、文書の格納操作の他に、記憶装置215の容量が不足したときに不要なファイルを削除する操作も行うことができる。例えば、ユーザyamadaは管理者権限を持っているので、図3によると、ユーザyamadaが、ユーザyamadaに関してアクセスを許可する記載がACLに無いがa.jpgにアクセスすることが可能となる。
なお本実施形態における管理者権限を持つユーザとは、全てのユーザのフォルダ及びファイルにアクセスすることができるユーザのことである。管理者権限を持つユーザは、図3で示したファイルシステムの全てのデータに対して全ての操作(読み取り、書き込み、削除)ができる。ただし、管理者権限を持つユーザは、全てのユーザのフォルダ及びアクセスできる必要はなく、自分以外の特定のユーザのフォルダやファイルにアクセスすることができるだけであってもよい。また、管理者権限を持つユーザは、データの中身を読み取ることができないが、削除だけが行えるようにするなど特定の操作だけできるようにしてもよい。
また、複数の異なる管理者権限をそれぞれのユーザに設定することもできる。例えば、第1の管理者権限は全ての操作ができる権限、第2の管理者権限は削除のみができる権限、第3の管理者権限はフォルダの作成ができる権限、といったように、特定の操作のみができる権限を管理者権限として適用することができる。
次に、フォルダ情報を取得する要求を受けたデータ処理装置1が行う処理を、図5のフローチャートを用いて説明する。図5のフローチャートの各ステップを実行するためのプログラムは、データ処理装置1のHDD104またはROM103に記憶されており、RAM102にロードされてCPU101によって実行される。
図5のフローチャートは、ユーザによって指定されたフォルダに含まれるファイルまたはフォルダを表示する要求を外部機器2または操作部106から受け取ることにより処理を開始する。なお、このフローチャートが開示される前にすでに認証制御部203によるユーザ認証が済んでいるものとする。
S501では、データアクセス処理部204は、フォルダ情報の要求を受け取る。本実施形態において、フォルダ情報の要求とは、指定されたフォルダに含まれるフォルダまたはファイルの情報(以下、単に「フォルダ情報」という)を取得する要求である。フォルダ情報の要求には、フォルダのパス、ユーザ名、管理者権限の有無、及び要求元が含まれている。フォルダのパスは、記憶装置215に記憶されているファイルの記憶場所を示す情報である。フォルダのパスは、認証制御部203で認証がされたユーザによって指定される。
フォルダ情報に含まれる要求元とは、ネットワークアクセス制御部208、またはローカルアクセス制御部212のいずれかである。なお以降の説明では、ネットワークアクセス制御部208から受け取った要求であれば「ネットワークからの要求」、ローカルアクセス制御部212から受け取った要求であれば「ローカルからの要求」という。
S502では、データアクセス処理部204は、S501で受け取ったフォルダ情報の要求に含まれるフォルダのパスを確認し、フォルダのパスに対して設定されているアクセス権をACLから取得する。
S503では、データアクセス処理部204は、S501で受け取ったフォルダ情報の要求に含まれるユーザ名に対してアクセス権が設定されているか否かを判断する。アクセス権が設定されていなければ(S503でNO)、S504へ進む。S504では、データアクセス処理部204は、指定したフォルダに対してアクセスすることができないことを通知するエラーメッセージを、要求元のネットワークアクセス制御部208またはローカルアクセス制御部212に返答する。一方、S503の確認の結果、指定フォルダに対してアクセス権が設定されていれば(S503でYES)、S505へ進む。なお図示してはいないが、ここでフォルダ情報の要求に含まれるユーザ名に対してアクセス権が設定されていなかったとしても、管理者権限を持つユーザからのアクセスであれば、S505へ進む。
S505では、データアクセス処理部204は、S501で受け取ったフォルダ情報の要求に含まれるフォルダのパスを確認することにより、指定フォルダがusersフォルダであるか否かを判断する。指定フォルダがusersフォルダであれば(S505でYES)、S507へ進み、指定フォルダがusersフォルダでない場合(S505でNO)、S506へ進む。S506では、指定フォルダの直下に格納されているすべてのフォルダ情報(またはファイルの情報)を記憶装置215から取得し、要求元に返答する。
フォルダ情報とは、種類、名称、データサイズ、更新日時の情報を含む情報のことである。
なお、ネットワークからの要求である場合、ネットワークアクセス制御部208はパケットにフォルダ情報を含めて外部機器2へ送信し、外部機器2のディスプレイ装置3でフォルダ情報を表示する。要求元がローカルアクセス制御部212である場合、フォルダ情報に基づき操作部106でフォルダ情報を表示する。なおフォルダ情報の表示の仕方は、後述するが、フォルダ名だけを表示したり、アイコンとともに表示したり、フォルダの内容を詳細に表示したりしてもよい。
S507では、データアクセス処理部204は、S501で受け取ったフォルダ情報の要求に含まれる管理者権限の有無を確認して、フォルダ情報を要求したユーザが管理者権限を持っているか否かを判断する。要求を行ったユーザが管理者を持つと判断した場合(S507でYES)、S508へ進む。要求を行ったユーザが管理者権限を持っていない、すなわち一般ユーザであると判断された場合(S507でNO)、S509へ進む。S509では、データアクセス部218は、S501で受け取ったフォルダ情報の要求に含まれるユーザ名を確認する。そしてデータアクセス部218は、確認したユーザ名に対してアクセス権が設定されているユーザのフォルダ情報のみを記憶装置215(HDD104)から選択し、選択されたユーザのフォルダ情報を要求元に返答する。したがって、要求ユーザが一般ユーザである場合、要求ユーザのフォルダのみが操作部106またはディスプレイ装置3に表示されることになる。
本実施形態によれば、一般ユーザについては、アクセスできないフォルダを表示しないので、操作対象のフォルダを見つけやすいという効果がある。
S508では、データアクセス処理部204は、S501で受け取ったフォルダ情報の要求に含まれる要求元の情報を確認することにより、要求元がローカルからの要求であるかネットワークからの要求であるかを判断する。ローカルからの要求であれば(S508でYES)、S510へ進み、ネットワークからの要求であれば(S508でNO)、S509へ進む。
S509では、データアクセス処理部204は、フォルダ情報の要求に含まれるユーザ名を取得し、取得したユーザ名に対してACLに記述されているアクセス権が設定されているフォルダ情報のみを選択する。そしてアプリケーション213は、選択されたユーザ名のフォルダ情報を操作部106で表示する。管理者権限を持つユーザは、ACLでアクセス権が設定されているか否かに関わらず全てのユーザのフォルダに対してアクセスすることができる。しかし、ローカルからフォルダ情報を要求した場合には、自分自身のフォルダだけを表示する。
S510では、データアクセス処理部204は、S501で受け取ったフォルダ情報の要求に含まれるユーザ名に関わらず、全てのユーザのフォルダ情報を記憶装置215(HDD104)から取得し、全てのユーザのフォルダ情報の一覧を生成する。データアクセス処理部204は、生成された一覧情報を要求元に返して、ユーザI/F制御部209によって操作部106に表示する。S510で全てのユーザのフォルダ情報を表示する理由は、ネットワークから管理者権限を持つユーザの要求を受け取った場合には、ACLの記述に従うのではなく、管理者権限(全てのユーザのフォルダにアクセスできる権限)に従うからである。
S509によれば、アクセス権が設定されているユーザのフォルダ情報を選択し、選択されたフォルダ情報を表示させるよう制御している。しかし、アクセス権の設定の有無で表示を切り替えるのではなく、別の方法でフォルダの表示の仕方を切り替えるようにしてもよい。例えば、フォルダの階層構造がユーザ毎に分類されている環境であれば、受け取ったフォルダ情報の要求に含まれるユーザ名と、指定フォルダに含まれるフォルダ又はフォルダの名称とが一致するものだけを、要求を行ったユーザのフォルダ情報として表示してもよい。また別の方法としては、フォルダの作成者や、フォルダに対して与えられた他の設定に基づいて、要求を行ったユーザのフォルダの情報を表示してもよい。
またS509の処理は、フォルダ情報を要求したユーザが管理者権限を持たない場合(S507でNO)とフォルダ情報を要求したユーザが管理者権限を持ち、かつローカルからの要求である場合(S507でYES)とで同じ処理を行うようにした。しかし、それぞれの場合で別々の処理を行うことも可能である。
S510の処理によれば、フォルダ情報を要求したユーザのフォルダ情報だけでなく、全てのユーザのフォルダ情報を表示している。しかし、全てのユーザのフォルダ情報を表示させるのではなく、特定のフォルダ情報だけを表示してもよい。例えば、フォルダの削除をする権限が管理者権限として与えているのであれば、削除可能なフォルダのみを表示してもよい。つまり管理者権限として操作可能なフォルダ情報のみを表示してもよい。
なお、図5のフローチャートにおいては、説明を簡単にするために、指定フォルダがusersである場合の表示の切り替えについて説明しているが、users以外のフォルダに対しても要求元及び管理者権限の有無に応じて、表示の有無を切り変えてもよい。
図6は、フォルダ情報の要求の応答結果にしたがって、操作部106またはディスプレイ装置3で表示する画面の一例である。
図6(a)は、一般ユーザtanakaが、外部機器2からSMBを用いてネットワーク経由でusersフォルダの一覧を取得した場合に、外部機器2のディスプレイ装置3に表示される操作画面の一例である。この場合には、ネットワークからのフォルダ一覧要求であり、かつ管理者権限も無いので、tanakaフォルダだけが表示される。一般ユーザtanakaに対してアクセス権が設定されていない他のユーザのフォルダは表示されない。
図6(b)は、一般ユーザtanakaが、操作部106からusersフォルダの一覧を取得した場合に、操作部106に表示される操作画面の一例である。この場合には、ローカルからのフォルダ一覧要求であり、かつ管理者権限も無いので、同様にtanakaフォルダだけが表示される。
図6(c)は、管理者権限を持つユーザyamadaが、外部機器2からSMBを用いてネットワーク経由でusersフォルダの一覧を取得した場合に、外部機器2のディスプレイ装置3に表示される操作画面の一例である。この場合には、管理者権限があるので、usersフォルダ直下に格納されている各フォルダにアクセス権が設定されているか否かに関わらず、全てのユーザのフォルダが表示され、表示されたフォルダにアクセスすることもできる。つまり、ネットワーク上の装置で操作する場合には、指定フォルダに含まれるファイルの削除などの管理者権限をもつユーザにしかできない作業を、データ処理装置の操作部と比べて操作しやすい環境で行うことができる。
図6(d)は、管理者権限を持つユーザyamadaが、操作部106からusersフォルダの一覧を取得した場合に、操作部106に表示される操作画面の一例である。この場合には、管理者権限はあるが、ローカルからの要求なので、自分自身のyamadaフォルダだけが表示される。この結果、管理者権限を持つユーザがデータ処理装置の操作部で操作する場合、他のユーザのフォルダが見えることがなく、データ処理装置の本来の機能であるプリントやスキャナとしての機能が使いやすくなる。また不用意に他のユーザのフォルダを操作してしまうことも防止する効果もある。
さらに、管理者としての操作(例えば、ウィルスチェックのための操作や、破損ファイルのリストアなど)を行う場合、管理者としての操作を実現できるアプリケーションが実装されているのは外部機器に実装されていることが多い。このような場合、仮に他のユーザのフォルダやファイルを表示したとしても管理者としての操作が操作部上からできなければ意味がない。管理者としての操作を行えなければ意味のないファイルを表示しないことで、管理者がデータ処理装置の操作部で操作する場合の操作性が向上する、という優れた効果もある。
なお、図6(d)では、管理者権限を持つユーザyamadaのフォルダだけを表示した。しかし、yamadaのフォルダを他のフォルダと区別して表示したり、他のフォルダよりも優先して表示したりすれば、yamadaのフォルダ及び他のユーザのフォルダの両方を表示してもよい。
また本実施形態によれば、ネットワークからの要求に従ってフォルダ情報を要求した場合には、ディスプレイ装置3でフォルダ情報を表示する。ディスプレイ装置3の画面領域を操作部106の画面領域よりも広くすれば、たとえ他のユーザのフォルダが表示されたとしても操作性を損なうことがない。
また本実施形態によれば、図6(d)の操作画面のように、スキャンボタンやプリントボタンを表示する。例えば、スキャンした画像を自分のフォルダに保存する場合や、自分のフォルダ内の文書を印刷する場合などに、他のユーザのフォルダが表示されない。そのため、すぐに自分自身のフォルダを探すことができ、非常に使い勝手の良いユーザインターフェースを提供することができる。
図7は、データ処理装置1において、図6(d)の操作画面が表示された後に開始する処理を示すフローチャートである。本フローチャートの各ステップを実行するためのプログラムは、データ処理装置1のHDD104またはROM103に記憶されており、RAM102に格納されて、CPU101によって実行される。
S701では、ユーザI/F制御部209は、操作部106に表示された操作画面を介して操作者から操作を受け付ける。
S702では、データアクセス処理部204は、ユーザI/F制御部209から受け取った指示に基づいて、操作者が管理者モードを選択したか否かを判断する。管理者モードが選択されたと判断すると(S702のYES)、S703へ進む。S703では、返答を受け取ったアプリケーション213は、操作部106に全ユーザのフォルダ情報を図8の画面に表示する。図8は、ローカルから管理者権限を有するユーザyamadaによって管理者モードが選択された時に表示される操作画面である。管理者モードボタンが、一般ユーザモードボタンに切り替わっており、管理者権限を持つユーザyamada以外のフォルダ情報も表示されている。
S704では、データアクセス処理部204は、操作者がスキャン指示を行ったかどうかを判断する。スキャン指示が行われたことを判断すると(S704でYES)、スキャナ制御部210は、スキャナ108で原稿を読み取り、画像を記憶装置215に記憶する処理を行う(S705)。なお本実施形態においては、図6(d)の画面を表示することにより、操作者によってスキャン指示が行うボタンと、画像データをファイルとして格納するフォルダとが同一の操作画面で選択することができる。この結果、管理者権限を持つ操作者はスキャン操作の対象となるフォルダを簡単に見つけることが可能となるともに、操作対象のフォルダを選択した後に、スキャナ108に原稿をセットした後に他の装置に移動することなくスキャン処理を行わせることができる。
S706では、データアクセス処理部204は、操作者によってプリント指示が行われたどうかを判断する。プリント指示が行われたことを判断すると(S706でYES)、プリンタ制御部211は、選択したファイルをデバイスI/F107を介してプリンタ109へ出力し画像の印刷を行う(S707)。
操作者から受け付けた操作がプリント指示でないと判断された場合(S706でNO)は他の処理を行い(S708)、図7のフローチャートの処理を終了する。
図7のステップS702およびS703の処理によれば、ローカルから管理者権限を持つユーザがフォルダ情報の要求をした場合でも、操作部に表示された操作画面上で管理者モードを選択すれば、全てのユーザのフォルダ情報を表示できるようにした。
この結果、ネットワークとデータ処理装置1の通信が遮断された場合、または、データ処理装置がSMBのファイル共有プロトコルを利用できない場合などであっても、他のユーザのフォルダのメンテナンス作業を行うことができるという効果がある。
本実施形態によれば、ネットワークが使えない環境や、ネットワークが使えてもファイル共有が禁止されている環境においても、管理者権限を持つユーザしか行うことができない作業を行うことが可能となる。またモードを選択可能にすることにより、ユーザがスキャン操作(またはプリント操作)をする用途で操作部を操作しているのか、メンテナンスなどの操作をする用途で操作部を操作しているのかに応じて適切に表示を切り替えることができる。更に、全ユーザのフォルダが表示される管理者モードと、自分のフォルダのみが表示される一般ユーザモードを切り替えることが行えるので、データ処理装置の機能を使用するときでも、容易に自分のフォルダにアクセスでき、利便性を損なわない。
なお、SMBのファイル共有プロトコルを用いる代わりに、WebDAV(Web Distributed Authoringand Versioning)のプロトコルを使ってフォルダの一覧を取得してもよい。またSMBのファイル共有プロトコルとWebDAVプロトコルの両方の機能を備え、ユーザがファイルの一覧を要求する際にどちらのプロトコルで要求を行うかを指定するようにしてもよい。
また、本実施形態においては、フォルダ情報を表示する例を示したが、ファイルの情報(例えば、ファイル名、ファイルフォーマット、ファイルの作成者、ファイルの更新日時など)を表示するようにしてもよい。
(実施形態2)
実施形態1では、管理者権限を持つユーザがローカルからのフォルダの一覧を要求したときに自分のフォルダのみ表示させることにより、操作部の操作画面の操作領域が小さくても対象フォルダを簡単に探すことができることを説明した。
しかしながら、管理者権限を持つユーザは、自分のフォルダだけが表示されるのではなく、メンテナンス作業が必要となる他のユーザのフォルダも一緒に画面に表示された方が望ましい場合もある。
そこで本実施形態では、管理者権限を持つユーザがフォルダの一覧を要求したときに、自分のフォルダに加えてメンテナンスが必要なユーザのフォルダも表示する例について説明する。
まず、具体的に、管理者権限を持つユーザがメンテナンス作業をする必要が生じるケースについて説明する。
データ処理装置1の操作部106に表示される画面は、一般的にディスプレイ装置3と比べると画面領域が小さい。例えば、指定フォルダに10000個のファイルが格納されている場合に、一度に10ファイルずつしか操作部106に表示できないとすると、全てのファイルを確認するために少なくとも1000回以上スクロール操作をする必要があり、操作性がよくない。そこで本実施形態では、1フォルダに格納可能なファイル及びフォルダの合計数に制限を設けている。具体的には、1フォルダに格納可能なファイル及びフォルダ数を1000以下に制限している。
1フォルダに格納可能なファイル数を制限していることによって、例えば以下のような問題が発生する。定型業務として、受信したFAX文書を既定フォルダに自動的に画像ファイルとして格納しているとする。1フォルダ内のファイル数が上限に達すると(本実施形態では、1000個)、それ以上ファイルが保存できなくなってしまう。
したがって、フォルダ内のファイル数が上限に近づいたときに、管理者権限を持つユーザは、そのフォルダに対してアクセス権が設定されているユーザに通知したり、あるいはそのフォルダに格納されている画像ファイルを削除したりする必要がある。
そこで本実施形態では、管理者権限を持つユーザがフォルダの一覧を要求したときに、自分のフォルダに加えてメンテナンスが必要なユーザのフォルダも表示するようにしている。
図9を用いて、実施形態2におけるデータ処理装置のソフトウェア構成について説明する。実施形態1で説明した図2と同一の機能部については、同一の番号を付与して説明は省略する。データアクセス処理部204の中に、フォルダ監視部1101が存在する。フォルダ監視部1101は、データアクセス部218が、記憶装置215に対して、フォルダやファイルの生成処理を行ったときに、当該フォルダ内のファイル及びフォルダ数を監視する。ファイル及びフォルダ数が、予め定められた数以上になっているときは、イベント送信部902に、フォルダ内のファイル、フォルダ数が一定数以上である旨のイベントの送信を依頼する。イベントとは、ある特定の条件になったときに発行され、機器内の他のモジュールに状態や状況を通知するためのものである。以下、本実施形態では、1フォルダ中に700件格納されたときと、900件格納されたときにそれぞれイベントを発行するものとする。イベント送信部902は、イベントキュー903にイベントを送信する。
図10は、イベント送信部902によって送信されるイベントの一例である。図10(a)のイベントは、2010年5月25日11時25分52秒(時差+9時間)に、ユーザsuzukiのフォルダ/users/suzuki/abc/xyz/内のファイル、フォルダの合計が700件に達したことを示している。イベント種別(EVENT)1201は、1フォルダ中に700件格納されたときのイベントであることを示す。ユーザ(user)1202は、イベントを起こしたユーザがユーザ名suzukiであることを示す。イベント日時(date)1203は、イベントが発行された日時を示す。パス(path)1204は、イベントが起こったパスを示している。
図10(b)、(c)、(d)のイベントも図10(a)と同様に、イベント種別(EVENT)1205、ユーザ(user)1202、日時date1207、及びパス(path)1208の属性を持つ。
図11のフローチャートを用いて、実施形態2におけるデータ処理装置1の処理を説明する。図11において、図3と同じ処理をする箇所については同一の符号を付与し、同一の符号を付与した箇所の処理の説明は省略する。なお、本フローチャートの各ステップを実行するためのプログラムは、データ処理装置1のHDD104、あるいはROM103に記憶されており、RAM102にロードされて、CPU101によって実行される。
S1101〜S1106の処理は、それぞれS501〜S506と同じ処理のため、説明を省略する。
S1107では、データアクセス処理部204は、S1101で受け取ったフォルダ情報の要求に含まれる管理者権限の有無を確認して、要求したユーザが管理者権限を持つか否かを判断する。要求したユーザが管理者権限を持つと判断した場合(S1107でYES)、S1109へ進む。要求したユーザが管理者権限を持たないと判断した場合(S1107でNO)、S1108に進む。S1108では、フォルダ情報の要求に含まれるユーザ名に対応するフォルダ情報のみを取得する。そして取得したフォルダ情報を外部機器2または操作部106で表示する。
S1109では、データアクセス処理部204は、S1101で受け取ったフォルダ情報の要求に含まれる要求元の情報に基づいて、ローカルからの要求であるかネットワークからの要求であるかを判断する。ローカルからの要求であれば(S1109でYES)、S1111へ進み、ネットワークからの要求であれば(S1109でNO)、S1110へ進む。S1110では、データアクセス処理部204は、フォルダ情報の要求を行ったユーザに関わらず、全てのユーザのフォルダ情報を記憶装置215から取得し、外部機器2と接続されたディスプレイ装置3でフォルダの一覧を表示する。
S1111では、データアクセス処理部204は、イベントが発生中か否か判断する。
より具体的には、データアクセス処理部204は、イベントキュー903に格納されているイベントを確認し、1フォルダ中に700件格納されたときのイベント、または、900件格納されたときのイベントが存在するかを確認する。イベントキュー903にイベントが格納されていることを確認すると(S1111でYES)、S1112へ進む。何もイベントがない場合(S1111でNO)、S1108へ進む。
S1112では、データアクセス処理部204は、S1111で発生中と判断したイベントに対応するユーザのフォルダ情報を取得する。
S1113では、データアクセス部218は、S1112で取得したイベント種別とS1112で取得したフォルダ情報をフォルダの一覧に追加する。次にデータアクセス処理部204は、イベントキュー903内の所望のイベントで未処理のものがあるか判断する。未処理のものがあれば、データアクセス処理部204は、次の所望のイベントを取得して、S1112で再度フォルダ一覧に追加する処理が行われる。イベントキュー903内に未処理のイベントが無ければ、S1114へ進む。
なお、図10(a)のイベントのように、ユーザのフォルダよりも下位の階層でイベントが発生した場合には、S1112では、当該ユーザのフォルダを取得する。つまり、図10(a)の1204であれば、/users/suzukiがユーザのフォルダとして取得される。また、同一のユーザに対するイベントが複数ある場合でも、当該ユーザのフォルダは、一つだけ取得される。更に、同一のユーザに対して、異なるイベント種別のイベントが複数存在した場合には、より優先度が高いものを、当該ユーザに対して発行されているイベントとする。
ここで、イベントの優先度について説明する。本実施例においては、1フォルダ中に700件もしくは900件格納されたときにイベントが発行されるが、900件の方が1フォルダのファイル、フォルダ数の上限の1000件に近い。そのため、700件のイベントよりも900件のイベントを優先して処理する必要があるため、優先度は900件の方が高いことになる。このようにイベント種別に応じて優先度が設定されている。
S1114では、データ処理部217は、イベント種別にしたがってS1112で取得したフォルダ一覧のフォルダの並べ替えを行う。つまり、イベント種別の優先度が高いものをフォルダ一覧の上位に移動する。
S1115では、データアクセス部218が、管理者権限を持つユーザのフォルダ情報を記憶装置215から取得して、フォルダ一覧の先頭に追加する。このとき、すでにS1002で管理者権限を持つユーザのフォルダ情報を取得していれば、新たに取得せずに、S1002で取得した情報をフォルダ一覧の先頭に移動する。
S1112〜S1115の処理の具体的な説明を、図12を用いて行う。図12は、図10(a)、(b)、(c)のイベントを取得して並べ替える処理を説明するための図である。データアクセス処理部204は、イベントキュー903からイベントを順次取り出す。まずデータアクセス処理部204は、図10(a)のイベントを取得して、ユーザsuzukiの、1つのフォルダに格納されるファイルおよびフォルダ数が700件を超えていることを確認する。データアクセス処理部204は、/users/suzukiフォルダの情報を取得して、フォルダ一覧情報に加える。すなわち、図12(a)のように、フォルダ一覧情報に、ユーザsuzukiのフォルダ情報とイベント種別が記載される。次いで、データアクセス処理部204は、図10(b)のイベントを取得し、ユーザaraiの、1フォルダに格納されるファイルおよびフォルダ数が700件を超えていることを確認する。ユーザaraiのフォルダ情報はまだ取得していないので、記憶装置215から/users/suzukiフォルダの情報を取得して、イベント種別とともにフォルダ一覧情報に加える。フォルダ一覧情報に加えると、図12(b)のようになる。更に、データアクセス処理部204は、図12(c)のイベントを取得して、ユーザaraiの、1フォルダに格納されるファイルおよびフォルダ数が900件を超えていることを確認する。このときすでに、ユーザaraiのフォルダ情報は取得済みである。しかし、イベント種別について図10(c)の方が優先度が高いので、フォルダ一覧情報のaraiフォルダのイベント種別を優先度が高い900件のイベント種別に書き換える。その結果、フォルダ一覧情報は、図9(c)の状態になる。
イベントキュー903に溜まっている所望のイベントを全て処理したので、データ処理部217は、生成したフォルダ一覧情報をイベント種別の優先度に従って並べ替える。すなわち、900件のイベント種別の方が優先度が高いため、フォルダ一覧情報の上位に移動され、フォルダ一覧情報は、図13(d)となる。最後に、データアクセス部218が、usersにアクセスを行ったユーザyamadaのフォルダ情報を記憶装置215から取得して、フォルダ情報の先頭に追加して、フォルダ一覧情報は、図13(e)の状態になる。
要求受信部216は、生成された図12(e)のフォルダ一覧情報をアプリケーション213へ返す。アプリケーション213では、フォルダ一覧情報に従って、操作部106に表示を行う。図13は、操作部106に表示される一例である。
本実施形態によれば、管理者権限を持つユーザがローカルからデータ処理装置を操作するときに、全ユーザのフォルダが表示されることがなく、フォルダ情報の要求を行ったユーザ、及びメンテナンス作業が必要なユーザのフォルダのみが見える。更に、フォルダの並びを優先度に応じて変更可能としたため、緊急度の高いフォルダから処理を行い易くなる。メンテナンス性を保持しながら、自身のフォルダが先頭に表示されるため、スキャンした画像を自分のフォルダに保存する場合や自分のフォルダ内の文書を印刷する場合に、すぐに自分のフォルダを見つけることも可能である。
実施形態2では、管理者権限を持つユーザのフォルダを表示する他に、ファイル及びフォルダの格納数が一定以上に達したフォルダも表示する例を説明した。しかし、変形例として、フォルダ情報(種類、名称、データサイズ、更新日時)が前回アクセスした時から変化したフォルダ情報を表示するようにしてもよい。この場合は、フォルダ監視部1101は、フォルダ情報が変化したことを監視し、変化が発生した場合に当該フォルダ情報をイベントキュー903に格納する必要がある。
また、フォルダ一覧情報には、イベント種別が含まれているため、アプリケーション213で、フォルダ一覧情報に従って操作部106に表示を行うときに、例えば、イベント種別によって色を変えたり文字を強調したりするなど表示方法を変えてもよい。
また実施形態1のようにして、管理者モードを選択するボタンを図13の操作画面に設け、全ユーザのフォルダ情報を表示可能としてもよい。また、管理者モードを選択した場合には、自分自身のフォルダ情報(本実施形態ではユーザyamada)は表示せずに、メンテナンスの対象となる他のユーザ(本実施形態ではユーザaraiおよびsuzuki)のフォルダ情報のみを表示するようにしてもよい。
(他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。