(実施例1)
図1は、本実施形態の画像処理システムのシステム構成の一例を示す図である。図1に示す画像処理システムは、MFP101、PC102、チケット管理サーバ103、文書管理サーバ104を備える。MFPは、Multifunction Peripheralの略称である。PCは、Personal Computerの略称である。
MFP101とPC102とは、LAN110を介して接続される。LANは、Local Area Networkの略称である。チケット管理サーバ103と文書管理サーバ104とは、WAN120を介して接続される。WANは、Wide Area Networkの略称である。
LAN110上の装置とWAN120上の装置とは、お互いのネットワークを通して、相互に通信可能である。図1は典型的なネットワーク構成の例であり、各装置がLAN110またはWAN120のどちらにあっても構わない。
MFP101は、画像処理を実行する画像処理装置である。MFP101は、コピー機能を有する。また、MFP101は、原稿画像を読み取り、読み取って得られた文書データを、FTPプロトコルやHTTPプロトコル等を用いてチケット管理サーバ103に送信するデータ送信機能を有する。FTPは、File Transfer Protocolの略称である。HTTPは、Hypertext Transfer Protocolの略称である。PC102は、チケット管理サーバ103や文書管理サーバ104のウェブページを閲覧するためのウェブブラウザがインストールされている。
チケット管理サーバ103は、スキャンチケット(以降、チケットとも記載する)を一元管理しているサーバである。また、チケット管理サーバ103は、MFP101から送信された文書データを文書管理サーバ104に送信する機能を有する。
スキャンチケットは、スキャン処理と、スキャン処理の実行の結果得られる画像データの送信処理に関する指示情報である。チケット管理サーバ103が管理する指示情報は、スキャンチケットに限定されない。チケット管理サーバ103が、任意の画像処理と当該画像処理の実行結果の送信処理に関する指示情報を管理するようにしてもよい。
文書管理サーバ104は、文書データを管理するサーバであり、外部装置に対して文書データの登録や参照、削除といった処理を行うサービスを提供している。また、文書管理サーバ104は、サービスを利用するための認可手段(例えば、OAuth)を提供している。なお、本発明が適用可能な装置の数は、図1に示す装置の数に限定されない。
図2は、MFPの構成例を示す図である。MFP101は、制御部210、操作部219、プリンタ220、スキャナ221を備える。制御部210は、MFP101全体の動作を制御する。制御部210は、CPU(Central Processing Unit)211乃至ネットワークI/F(Interface)218を備える。
CPU211は、ROM212に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御処理を実行する。ROMは、Read Only Memoryの略称である。RAM213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。RAM213は、Random Access Meomryの略称である。
HDD214は、画像データや各種プログラムを記憶する。HDDは、Hard Disk Driveの略称である。HDD214には、後述する図17のフローチャートに示される処理(チケット実行処理)を行うためのプログラムが記憶されており、CPU211がこのプログラムをRAM213に読み出し、解析、実行することで、図17のフローチャートの処理が実行される。
操作部I/F215は、操作部219と制御部210とを接続する。操作部219には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。プリンタI/F216は、プリンタ220と制御部210とを接続する。プリンタ220で印刷すべき画像データは、プリンタI/F216を介して制御部210からプリンタ220に転送され、プリンタ220において記録媒体上に印刷される。
スキャナI/F217は、スキャナ221と制御部210とを接続する。スキャナ221は、原稿上の画像を読み取って画像データを生成し、スキャナI/F217を介して制御部210に入力する。ネットワークI/F218は、制御部210(MFP101)をLAN110に接続する。
図3は、チケット管理サーバの構成例を示す図である。なお、PC102と文書管理サーバ104は、チケット管理サーバ103と同様の構成を有しているため、ここで合わせて説明する。
チケット管理サーバは、制御部310、表示部318、キーボード319を備える。制御部310は、チケット管理サーバ103全体の動作を制御する。制御部310は、CPU311乃至ネットワークI/F317を備える。CPU311は、ROM312に記憶されたコンピュータプログラム(制御プログラム)を読み出して各種制御処理を実行する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。
HDD314は、画像データや各種プログラムおよび各種管理テーブルを記憶する。チケット管理サーバ103のHDD314には、後述する図8、図13、図14および図15のフローチャートに示される処理を実行するためのプログラムが記憶されている。図8のフローチャートに示される処理は、チケット作成処理である。図13および図14のフローチャートに示される処理は、チケット実行処理である。図15のフローチャートに示される処理は、認可情報の状態とリクエストチケットの状態との同期処理である。CPU311が、HDD314内のプログラムをRAM313に読み出し、解析、実行することで、図8、図13、図14および図15のフローチャートの処理が実行される。また、チケット管理サーバ103のHDD314には、図9、図10、図11に示す各種管理テーブルや、図12に示すチケット定義ファイルが記憶されている。
表示部I/F315は、表示部318と制御部310とを接続する。キーボードI/F316は、キーボード319と制御部310とを接続する。CPU311は、キーボード319を介したユーザからの指示を認識し、認識した指示に応じて表示部318に表示する画面を遷移させる。
ネットワークI/F317は、制御部310をLAN110またはWAN120に接続する。ネットワークI/F317は、LAN110上またはWAN120上の他の装置との間で各種情報を送受信する。
図4および図5は、本実施例の画像処理システムの動作処理を説明するシーケンス図である。まず、図4のステップS401からステップS409で、他人に実行させるためのチケット(以降、リクエストチケット)を作成する処理を説明する。
PC102が、チケット管理サーバ103にログインするため、ユーザが入力した認証情報(ユーザIDとパスワード)をチケット管理サーバ103に送信する(ステップS401)。すなわち、PC102が認証要求を行う。チケット管理サーバ103が、認証処理を行い、認証に成功したら、チケット情報入力画面を生成してPC102に送信する(ステップS402)。チケット情報入力画面は、チケット情報(スキャン設定、送信設定やチケット実行者を特定する情報など)を入力するための画面である。ここで、チケット管理サーバ103にログインしたユーザをチケット作成者、リクエストチケットを実行するユーザを、チケット実行者と定義する。
次に、PC102が、チケット管理サーバ103から受信したチケット情報入力画面をウェブブラウザに表示する。そして、チケット作成者が入力を完了したら、チケット情報をチケット管理サーバ103に送信する(ステップS403)。ここで、チケット作成者が入力した送信先は、文書管理サーバ104のチケット作成者しかアクセスできない場所(送信先パス)とする。
チケット管理サーバ103は、PC102から受け取ったチケット情報をチェックし(ステップS404)、必要であれば文書管理サーバ104に対して認可情報の取得を要求する(ステップS405)。認可情報の取得要求を受け取った文書管理サーバ104は、認可情報を発行し、チケット管理サーバ103に認可情報を送信する(ステップS406)。
ここで、「認証」と「認可」の違いについて説明する。本実施例における「認証」とは、本人認証を指し、個人を特定する手段として使用される。認証の手段(認証情報)としては、ユーザIDとパスワードが用いられる。例えば、ステップS401では、ユーザIDとパスワードを用いてチケット管理サーバ103にログインしている。
一方、本実施例における「認可」とは、リソース(サービス)へのアクセス権を設定する手段として使用される。例えば、ステップS406で文書管理サーバ104によって発行された認可情報は、チケット管理サーバ103に対し、文書管理サーバ104のリソースにアクセスを行う許可を与えるために用いられる。文書管理サーバ104より受け取った認可情報はチケット管理サーバ103において、個人ごとに管理されており、他人が使用できないようになっている。そして、チケット管理サーバ103は、文書管理サーバ104のリソースにアクセスを行う際に、アクセス許可を得るために認可情報を使用する。
シーケンス図の説明に戻る。次にステップS407で、チケット管理サーバ103は、文書データを文書管理サーバ104に送信する際に必要になる認可情報を、チケット作成者しかアクセスできない領域から、チケット実行者がアクセスできる領域に複製する。最後に、チケット管理サーバ103は、チケットを生成して(ステップS408)、チケットの作成が完了したことをPC102に通知する(ステップS409)。なお、ステップS408で生成されたチケットには、スキャン設定や送信設定、チケット作成者とチケット実行者を特定する情報が含まれている。チケットの詳細に関しては図12を用いて後述する。
次にステップS410からステップS427で、リクエストチケットを実行する処理を説明する。MFP101が、チケット実行者から、MFP101にログインするための認証情報(ユーザIDとパスワード)を受け取る(ステップS410)。続いて、MFP101が、ステップS410で受け取った認証情報をチケット管理サーバ103に送信し、認証を要求する(ステップS411)。本実施例では、MFP101は自機に対する認証処理を、チケット管理サーバ103に移譲することで実現している。つまり、チケット管理サーバ103で認証されたユーザは、同時にMFP101でも認証されたものとする。
MFP101から認証要求を受けたチケット管理サーバ103が、認証処理を行い、認証の結果をMFP101に送信する(ステップS412)。MFP101はステップS412で送信された認証の結果を自機に対する認証の結果として扱う。MFP101は、認証に成功したら、チケット管理サーバ103にチケット実行者が実行可能なチケットの一覧情報の取得を要求する(ステップS413)。
次に、図5に進んで、要求を受け取ったチケット管理サーバ103が、チケット実行者が実行可能なチケットの一覧情報をHDD314から取り出し(ステップS414)、MFP101に送信する(ステップS415)。ここで送信されたチケット一覧には、ステップS408で生成されたリクエストチケットが含まれている。MFP101は、ステップS415で受け取ったチケット一覧を操作部219に表示して、チケット実行者の指示を待ち受ける(ステップ416)。
次に、MFP101は、チケット実行者から実行するチケットの選択を受け取ったら(ステップS417)、チケット管理サーバ103にチケット実行者が選択したチケットの詳細情報の取得を要求する(ステップS418)。ここで、チケット実行者が選択したチケットは、ステップS408で生成されたリクエストチケットであるものと仮定して以降の処理を説明する。また、チケットを特定する手段として、チケットごとに一意に割り当てられたチケットIDを用いる。
チケット管理サーバ103は、ステップS418で受け取った要求に従い、チケットの詳細情報をHDD314より取り出し(ステップS419)、MFP101に送信する(ステップS420)。MFP101は、受け取ったチケットの詳細情報を解析し(ステップS421)、スキャン設定を取り出してスキャンを実行する(ステップS422)。MFP101は、チケット管理サーバ103にチケットIDとスキャンして得られた文書データを送信する(ステップS423)。
チケット管理サーバ103は、受け取ったチケットIDのチケット詳細情報をHDD314より取り出す(ステップS424)。チケット管理サーバ103は、詳細情報よりリクエストチケットである旨を判断して、文書データを文書管理サーバ104に送信する際に必要になる認可情報(ステップS407で複製しておいた認可情報)をHDD314より取り出す(ステップS425)。
チケット管理サーバ103は、ステップS425で取り出した認可情報を使用して、文書データを文書管理サーバ104へ送信する(ステップS426)。最後に、チケット管理サーバ103は、不要になった認可情報(ステップS407で複製しておいた認可情報)をHDD314から削除する(ステップS427)。
次に、図6乃至図15を参照して、本実施例のチケット管理サーバ103の動作処理を説明する。
図6は、チケット管理サーバの機能ブロック図の例である。チケット管理サーバ103は、チケット管理部501、認証処理部502、送信処理部503を備える。
チケット管理部501は、チケットの管理を行う。チケット管理部501は、PC102の依頼を受けてチケットを生成する。また、チケット管理部501は、MFP101の依頼を受けてチケットの一覧や詳細の情報を送信する。認証処理部502は、認証および認可の処理を行う。認証処理部502は、MFP101やPC102からの要求に応じて、チケット管理サーバ103に対する認証処理を行う。また、認証処理部502は、文書管理サーバ104に対して認可情報の取得要求を出したり、取得した認可情報を管理したりする。送信処理部503は、文書データを文書管理サーバ104に送信するための処理を行う。
チケット管理部501が備える上述した処理部の機能は、チケット管理サーバ103のHDD314に記憶されているプログラム(ソフトウェア)を、CPU311がRAM313に読み出し、解析、実行することで実現される。
図7は、チケット情報入力画面の一例を示す図である。チケット情報入力画面600は、チケット情報を入力するための画面である。チケット情報入力画面600は、チケット管理サーバ103で生成され、PC102のウェブブラウザに表示される。
入力フィールド601は、チケット名称の設定を行うための文字列の入力を受け付ける入力フィールドである。領域602は、スキャンの設定を行うための入力フィールドが配置された領域である。図7に示す例では、領域602において、“ドキュメントサイズ”、“カラーモード”、“解像度”、“倍率”の設定を行うことができる。
入力フィールド603乃至605は、送信設定を行うための入力フィールドである。入力フィールド603は、文書管理サーバ104に送信する文書データのファイル形式を設定するための入力フィールドである。ユーザは、入力フィールド603上で、文書データのファイル形式を選択することができる。図7に示す例では、入力フィールド603において、“PDF”(Portable Document Format)が選択されている。
入力フィールド604は、文書データを送信する文書管理サーバ104を設定するための入力フィールドである。ユーザは、入力フィールド604上で、文書管理サーバ104を選択することができる。図7に示す例では、入力フィールド604において、“XXクラウドシステム”が選択されている。
入力フィールド605は、文書データを送信するパス(送信先パス)の設定を行うための、文字列の入力を受け付ける入力フィールドである。入力フィールド605に入力されるパスは、入力フィールド604で選択した文書管理サーバ104上のパスである。したがって、ウェブブラウザは、入力フィールド604が選択された際に、フィールド605に自動的にパスの一部を表示するようにしてもよいし、入力が完了した際に、フィールド604とフィールド605の整合性をチェックするようにしてもよい。
チェックボックス606は、作成するチケットが、他人に実行させるためのチケット(リクエストチケット)かどうかを設定するためのチェックボックスである。チェックボックス606にチェックが入っている場合、作成するチケットはリクエストチケットになる。チェックボックス606にチェックが入っていない場合、作成するチケットは、自分が実行するためのチケットになる。
領域607は、チケット実行者として指定したいユーザを検索するための領域である。図7に示す例では、名前、電子メールアドレス、内線番号でユーザを検索できるようになっているが、別の手段(例えばユーザIDなど)で検索できるようにしてもよい。また、チケット実行者として指定するユーザを検索せずに、ユーザIDなどで直接指定できるようにしてもよい。また、領域607は、チェックボックス606にチェックが入っている場合にのみ有効になるようにしてもよい。
ボタン608は、チケットの作成を指示するためのボタンである。ボタン608が押下されると、PC102(ウェブブラウザ)は、画面で入力された情報をチケット管理サーバ103に送信する。また、ボタン609は、チケットの作成をキャンセルするためのボタンである。
図8は、チケット管理サーバにおけるチケット作成処理の例を説明するフローチャートである。また、図8は、図4のシーケンス図におけるステップS401からステップS409を処理するためのチケット管理サーバ103の動作処理を示す。ここで、チケット管理サーバ103にログインしたユーザをチケット作成者、リクエストチケットを実行するユーザをチケット実行者と定義する。
まず、認証処理部502が、PC102からチケット作成者の認証要求を受け付ける(ステップS701)。認証要求には、PC102でユーザが入力した認証情報(ユーザIDとパスワード)が含まれている。認証処理部502は、受け取った認証情報をチケット管理サーバ103のHDD314に保存されているユーザ管理テーブルと付き合わせることで認証の成否を判定する(ステップS702)。認証が失敗した場合は、認証失敗をPC102へ通知して(ステップS721)、処理を終了する。認証が成功した場合は、ステップS703に進む。
図9は、ユーザ管理テーブルの一例を示す図である。ユーザ管理テーブル1000は、1レコードで1ユーザを定義している。ユーザID1001は、ユーザを一意に識別するための識別子を定義している。メールアドレス1002は、ユーザのメールアドレスを定義している。ユーザ姓1003、ユーザ名1004は、ユーザの名前を定義している。内線番号1005は、ユーザの内線番号を定義している。パスワード1006は、ユーザがログインするために必要なパスワードを定義している。パスワード1005はパスワードそのものを平文として保存するのではなく、パスワードを不可逆な一方向関数に通してメッセージダイジェスト(ハッシュ値)として保存している。
ユーザ管理テーブル1000は、図7の領域607でユーザを検索する際にも使用される。図9に示す例では、レコード1011にユーザ“yamada”とレコード1012のユーザ“ookubo”が定義されている。
図8に戻って、ステップS703で、チケット管理部501はチケット情報入力画面600を生成して、PC102へ送信する。チケット管理部501は、PC102から送信されるチケット情報を待ち受け(ステップS704)、受け付けると、ステップS705に処理を進める。すなわち、チケット管理部501が、チケットの生成要求を第1のユーザから受け付ける受付手段として機能する。ここで、PC102より送信されるチケット情報は、PC102のウェブブラウザに表示されたチケット情報入力画面600でチケット作成者が入力した情報である。
チケット情報を受け付けたチケット管理部501は、チケットを一意に識別するためのチケットIDを発番する(ステップS705)。次にチケット管理部501は、チェックボックス606で設定された情報から、チケットが他人に実行させるチケット(リクエストチケット)であるか否かを判別する(ステップS706)。すなわち、チケット管理部501は、生成要求に対応するチケットが第1のユーザとは異なる第2のユーザに実行させる指示情報であるかを判断する判断手段として機能する。チケットがリクエストチケットである場合は、ステップS707に進む。チケットがリクエストチケットでない場合は、ステップS711に進む。
次に、認証処理部502が、入力フィールド604、605で設定された文書管理サーバ104に対する有効な認可情報をチケット管理サーバ103内に保持しているか否かをチェックする(ステップS707)。有効な認可情報がチケット管理サーバ103内に保持されていない場合は、ステップS708に進む。有効な認可情報がチケット管理サーバ103内に保持されていない場合は、ステップS710に進む。
認可情報は、チケット管理サーバ103のHDD314に保存される認可情報管理テーブルで管理されている。有効な認可情報であるか否かは、認証処理部502が文書管理サーバ104に認可情報の有効性の問い合わせを行うことで実現する。
図10は、認可情報管理テーブルの一例を示す図である。認可情報管理テーブル900は、1レコードで1つの認可情報を管理している。
レコードID901は、レコードを一意に識別するための識別子を定義している。ユーザID902は、当該レコードにアクセス可能なユーザを定義している。例えば、レコードID911のレコードは、ユーザ“yamada”しかアクセスできない。
送信先システム903は、当該レコードが、どの送信先システム(文書管理サーバ104)の認可情報であるかを定義している。送信先パス904は、当該レコードの認可情報が有効であるパスを定義している。例えば、レコード911の送信先パス904の定義は“http://xxcoludsystem.com/mypage/yamada/”で始まるURLであれば、認可情報が有効であると示している。認可情報905は、文書管理サーバ104に文書データを送信(登録)する際に、登録サービスへのアクセス許可を得るために使用する認可情報である。
有効期限906は、当該レコードの認可情報の有効期限を定義している。有効期限は、認可情報を発行した文書管理サーバ104で指定される場合もあるが、チケット管理サーバ103で独自に指定してもよい。チケットID907は、当該レコードの認可情報を使用可能なチケットを定義している。例えば、レコード913はチケットIDが“T003”であるチケットを実行する際にのみ使用可能であると定義している。チケットID907が定義されていないレコードは、チケットによる制限はない。
複製元レコードID908は、他のレコードからデータを複製したレコードにのみ定義される情報で、データの複製元のレコードIDを定義している。例えば、レコード913は、レコード911のデータを複製して生成されている。そのため、複製元レコードID908は、複製元のレコードID“A001”が設定されている。
複製元レコードから複製されるデータは、送信先システム903、送信先パス904、認可情報905、有効期限906である。レコードID901は、データを複製する際に、認証処理部502によって新規に発番される。ユーザID902にはリクエストチケットのチケット実行者のユーザIDが設定される。チケットID907には、図8のステップS705で発番されたチケットIDが設定される。
図8に戻って、ステップS707において、認証処理部502が、図7のチケット情報入力画面600の入力フィールド604で指定された文書管理サーバ104に対して、認可情報の取得を要求する(ステップS708)。認証処理部502は、文書管理サーバ104から認可情報を受け取ったら、認可情報管理テーブル900に認可情報を保存する(ステップS709)。すなわち、認証処理部502は、ユーザの認可情報と該ユーザに実行させるチケットとを紐付けて記憶手段に記憶して管理する管理手段として機能する。
次に、認証処理部502は、入力フィールド604、605で設定された文書管理サーバ104に対する認可情報を含んだレコードを、認可情報管理テーブル900から取り出し、チケット実行者がアクセスできるレコードとして複製する(ステップS710)。認証処理部502は、例えば、図10の認可情報管理テーブル900内のレコード911のデータを複製することで、レコード913をチケット実行者に対応するレコードとして生成する。レコード911のデータは、チケットが示す画像処理(スキャン処理)の実行結果(画像データ)の送信先となる外部装置に対するチケット作成者(第1のユーザ)の認可情報である。したがって、ステップS710において、認証処理部502は、チケットが示すスキャン処理の実行結果の送信先となる外部装置(文書管理サーバ104)に対する第2のユーザの認可情報を生成する第1の生成手段として機能する。
次に、チケット管理部501が、ステップS704で受け付けたチケット情報と、ステップS705で発番したチケットIDに基づいて、チケットを生成する(ステップS711)。すなわち、チケット管理部501は、第1のユーザから受け付けたチケットの生成要求に基づいて、チケットを生成する第2の生成手段として機能する。チケットの詳細はチケット定義ファイルとして記録され、そのファイルはチケット管理サーバ103のHDD314に保存されるチケット管理テーブルで管理される。本実施例では、チケット定義ファイルはXML(ExtensibleMarkupLanguage)ファイルとして定義されている。
最後に、チケット管理部501は、チケットの作成が完了したことをPC102に通知し(ステップS712)、処理を終了する。
図11は、チケット管理テーブルの一例を示す図である。チケット管理テーブル1100は1レコードで1つのチケット情報を定義している。
チケットID1101は、チケットを一意に識別するための識別子を定義している。チケット名称1102は、チケットの名称を定義している、チケットの名称は、チケット情報入力画面600の入力フィールド601で設定された情報である。チケット作成者1103は、当該レコードのチケットを作成したユーザのユーザIDを定義している。チケット実行者1104は、当該レコードのチケットを実行できるユーザのユーザIDを定義している。つまり、チケット作成者1103とチケット実行者1104に異なるユーザが定義されているレコードは、リクエストチケットのチケット情報である。図11に示す例では、レコード1113が、リクエストチケットのチケット情報である。
チケット定義ファイル1105は、チケット定義ファイルのファイル名を定義している。使用可能フラグ1106は、当該レコードのチケットが使用可能であるか否かを定義している。実行済フラグ1107は、当該レコードのチケットが実行済であるか否かを定義している。本実施例では、チケットの実行は一度限りと定義し、チケットの実行が完了したら、実行済フラグ1107を“true”に変更し、未実行のチケットと区別する。
図12は、チケット定義ファイルの一例を示す図である。チケット定義ファイルは、チケットの詳細情報を記載したファイルである。本実施例では、チケット定義ファイルはXML形式で記載されているが、チケット管理サーバ103が処理できる形式であればフォーマットは問わない。
タグ1201は、“Ticket”タグであり、1つのチケットを示している。本タグ内にチケットに関する定義が記載されている。属性1202は、“name”属性であり、チケット名称を示している。図12に示す例では、チケット名称は、“議事録送信”である。属性1202の値は、チケット情報入力画面600の入力フィールド601で入力された内容が記載される。
属性1203は、“owner”属性であり、チケットを作成したユーザ(チケット作成者)のユーザIDが記載されている。チケット作成者は、チケット情報入力画面600でチケット情報を入力したユーザ、つまり図8のステップS702の判断処理で認証が成功したユーザである。
属性1204は、“user”属性であり、チケットを実行できるユーザ(チケット実行者)のユーザIDが記載されている。チケット実行者は、チケット情報入力画面600の領域607で設定されたユーザである。
属性1205は、“id”属性であり、チケットを一意に識別するためのチケットIDが記載されている。図12に示す例では、チケットIDが“T003”であり、そのチケット情報は、チケット管理テーブル1100(図11)のレコード1113に定義されている。
また、属性1202、1203、1204の値は、それぞれ、チケット管理テーブル1100のチケット名称1102、チケット作成者1103、チケット実行者1104と同一の値である。
タグ1206は、“Scan”タグであり、本タグ内にスキャン設定が記載されている。本タグ内には、チケット情報入力画面600の領域602で入力された内容が記載される。
タグ1207は、“FileFormat”タグであり、文書管理サーバ104に送信する文書データのファイル形式を示している。本タグ内には、チケット情報入力画面600の入力フィールド603で選択された値が記載されている。
タグ1208は、“TargetSystem”タグであり、文書データを送信する文書管理サーバ104を示している。本タグ内には、チケット情報入力画面600の入力フィールド604で選択された値が記載されている。
タグ1209は、“TargetPath”タグであり、文書データを送信する文書管理サーバ104上のパス(送信先パス)を示している。本タグ内には、チケット情報入力画面600の入力フィールド605で入力された値が記載されている。
図13および図14は、チケット管理サーバにおけるチケット実行処理の例を説明するフローチャートである。また、図13は、図4および図5のシーケンス図におけるステップS401からステップS427を処理するためのチケット管理サーバ103の動作処理を示す。
まず、認証処理部502が、MFP101からチケット実行者の認証要求を受け付ける(ステップS801)。認証要求には、ユーザの操作にしたがってMFP101が入力した認証情報(ユーザIDとパスワード)が含まれている。
認証処理部502は、受け取った認証情報をチケット管理サーバ103のHDD314に保存されているユーザ管理テーブル1000と付き合わせることで認証の成否を判定する(ステップS802)。認証が成功である場合は、次のステップS803に進む。認証が失敗である場合、認証処理部502は、認証失敗をMFP101へ通知して(ステップS821)、処理を終了する。
チケット管理部501は、MFP101からチケット実行者が実行可能なチケットの一覧情報の取得要求が来るのを待ち受ける(ステップS803)。チケット管理部501が、MFP101からチケット実行者が実行可能なチケットの一覧情報の取得要求を受け付けると、次のステップS804に処理を進める。続いて、チケット管理部501が、チケット管理テーブル1100から、チケット実行者が実行可能なチケットの一覧情報を取得し(ステップS804)、MFP101に送信する(ステップS805)。ここで送信するチケットの一覧情報には、チケットIDやチケットの名称、チケット作成者などの情報が含まれている。ステップS804で取得する実行可能なチケットの一覧とは、チケット管理テーブル1100において、使用可能フラグ1106が“true”かつ実行済フラグ1107が“false”のレコードである。
次に、チケット管理部501が、MFP101からチケットの詳細情報の取得要求が来るのを待ち受ける(ステップS806)。チケット管理部501が、MFP101からチケットの詳細情報の取得要求を受け付けると、次のステップS807に処理を進める。ここで、MFP101より受け付けるチケットの詳細情報の取得要求では、チケットを特定する情報としてチケットIDが用いられる。
チケット管理部501は、チケットIDに対応するチケット定義ファイルを、チケット管理テーブル1100を参照して特定し、チケット定義ファイルに記載されたチケットの詳細情報を取得する(ステップS807)。チケット管理部501は、取得したチケットの詳細情報をMFP101に送信する(ステップS808)。すなわち、チケット管理サ部501は、第2のユーザの指示に応じたMFP101からの要求を受け付けて、第2のユーザに実行させるチケットをMFP101に応答する。
次に、図14に進んで、チケット管理部501が、MFP101から、チケットIDと文書データが送信されてくるのを待ち受ける(ステップS809)。チケット管理部501が、MFP101から、チケットIDと文書データとを受け付けると、次のステップS810に処理を進める。ここで、MFP101から送信されるのは、ステップS808で送信したチケット詳細情報のチケットIDと、チケット詳細情報に定義されたスキャン設定でスキャンした文書データである。すなわち、チケット管理部501は、チケットに基づいてスキャン処理を実行したMFP101からスキャン処理の実行結果を取得する実行結果取得手段として機能する。
チケット管理部501は、ステップS809で受信したチケットIDに対応するチケット定義ファイルを、チケット管理テーブル1100を参照して特定し、チケット定義ファイルに記載されたチケットの詳細情報を取得する(ステップS810)。
次に、チケット管理部501が、チケットがリクエストチケットであるか否かを判別する。チケットがリクエストチケットである場合は、ステップS812へ処理を進める。チケットがリクエストチケットでない場合は、ステップS813へ処理を進める(ステップS811)。ここで、チケット管理部501は、チケットがリクエストチケットであるか否かを、チケットの詳細情報に定義されたチケット作成者とチケット実行者が別ユーザであるか否かで判別する。チケット作成者とチケット実行者が別ユーザである場合、チケット管理部501は、チケットがリクエストチケットであると判断する。チケット作成者とチケット実行者が同一ユーザである場合、チケット管理部501は、チケットがリクエストチケットでなく、通常のチケットであると判断する。
次に、ステップS812において、認証処理部502が、ステップS802で認証を受けたユーザのユーザIDとチケットIDをキーにして、認可情報管理テーブル900から、文書管理サーバ104に対する認可情報を取り出す。ここで、ステップS802で認証を受けたユーザは、チケットを実行しているユーザであり、チケットの詳細情報に定義されたチケット実行者と同一ユーザである。すなわち、認証処理部502は、管理されている第2のユーザの許可情報を用いて文書管理サーバ104からのアクセス許可を得る許可取得手段として機能する。
一方、ステップS813では、認証処理部502が、ステップS802で認証を受けたユーザのユーザIDとチケット詳細情報に定義された送信先をキーにして、認可情報管理テーブル900から、文書管理サーバ104に対する認可情報を取り出す。
ステップS814において、送信処理部503が、前ステップ(S812,S813)で取り出した認可情報を使って、文書管理サーバ104が提供する文書データの登録サービスへのアクセス許可を取得する。そして、送信処理部503が、チケットに定義された送信先(文書管理サーバ104)に対して文書データを送信(登録)する。ここで、送信処理部503が送信する文書データは、ステップS809でMFP101から受信した文書データである。すなわち、送信処理部503は、アクセス許可が得られた場合に、画像処理の実行結果を外部装置に対して送信する送信手段として機能する。
文書データの送信が完了したら、チケット管理部501が、実行したチケットをチケット管理テーブル1100において実行済に変更する(ステップS815)。認証処理部502が、実行したチケットがリクエストチケットであるかを判断する(ステップS816)。実行したチケットがリクエストチケットでない場合は、処理を終了する。実行したチケットがリクエストチケットである場合は、認証処理部502が、ステップS812で取りだした認可情報を認可情報管理テーブル900から削除して(ステップS817)、処理を終了する。
図15は、チケット管理サーバにおける、認可情報の状態とリクエストチケットの状態を同期させる処理の例を説明するフローチャートである。図15に示すフローチャートの処理は定期的に実行されてもよいし、チケット管理サーバ103のユーザによって明示的に実行されてもよい。
まず、認証処理部502が、認可情報管理テーブル900から、処理対象のレコード(以降、検査レコードと呼ぶ)を一つ取り出す(ステップS1301)。次に、認証処理部502が、検査レコードに定義されている認可情報905が有効な認可情報であるか否かを判断する(ステップS1302)。認証処理部502は、有効な認可情報であるか否かを、文書管理サーバ104に認可情報の有効性の問い合わせを行うことで判断する。すなわち、認証処理部502は、記憶手段に記憶されている許可情報が有効であるか否かを確認する確認手段として機能する。検査レコードに定義されている認可情報905が有効な認可情報である場合は、ステップS1307に進む。検査レコードに定義されている認可情報905が有効な認可情報でない場合は、ステップS1303に進む。
ステップS1303において、認証処理部502が、検査レコードを複製したレコード(以降、複製レコードと呼ぶ)を認可情報管理テーブル900から検索する。具体的には、認証処理部502は、認可情報管理テーブル900から、複製元レコードID908が検査レコードのレコードIDと一致するレコードを検索する。認証処理部502が、検索した結果、複製レコードがある場合には、ステップS1305へ処理を進める。複製レコードがない場合は、ステップS1307へ処理を進める(ステップS1304)。
ステップS1305において、チケット管理部501が、複製レコードを使用するチケット(リクエストチケット)を無効にする。具体的には、チケット管理部501は、チケット管理テーブル1100よりチケットID1101が、複製レコードに定義されているチケットID907と一致するレコードを特定し、そのレコードの使用可能フラグ1106を“false”に変更する。すなわち、チケット管理部501は、無効であることが確認された認可情報を複製元とする許可情報を記憶手段内で検索し(S1303)、検索された許可情報に紐付くチケットを無効にする(S1305)。
次に、認証処理部502が、検査レコードに定義されたユーザID902のユーザ(S1305で処理したリクエストチケットのチケット作成者)に対して、認可情報が無効である旨とリクエストチケットが無効になった旨を通知する(ステップS1306)。本実施例では通知方法として、電子メールを使用する。具体的には、認証処理部502は、検査レコードに定義されたユーザID902のメールアドレスを、ユーザ管理テーブル1000より取得し、取得したメールアドレスに対して、電子メールを送付する。
次に、認証処理部502は、認可情報管理テーブル900に処理対象のレコードが他に存在するかを判断する。処理対象のレコードが他に存在する場合は、ステップS1301に戻る。処理対象のレコードが他に存在しない場合は、処理を終了する。
次に、図16および図17を参照して、本実施例のMFP101の動作処理の詳細について説明する。
図16は、本実施例のMFPの機能ブロック図の一例を示す図である。MFP101は、チケット処理部1401、認証処理部1402、スキャン処理部1403、送信処理部1404を備える。
図16に示す各処理部の機能と、図17のフローチャートの処理は、MFP101のHDD214に記憶されているプログラム(ソフトウェア)を、CPU211がRAM213に読み出し、解析、実行することで実現される。
チケット処理部1401は、チケットの処理を行う。チケット処理部1401は、チケット管理サーバ103からチケットの一覧情報や詳細情報を取得したり、取得したチケットの情報を操作部219に表示したりする。
認証処理部1402は、認証の処理を行う。認証処理部1402は、ユーザの要求を受けてMFP101に対する認証処理を行ったり、チケット管理サーバ103に対して認証要求を出したりする。スキャン処理部1403は、スキャンの処理を行う。スキャン処理部1403は、チケットに定義されたスキャン設定にしたがってスキャナ221でスキャンを実行する。送信処理部1404は、スキャン処理部1403でスキャンした文書データをチケット管理サーバ103に送信する処理を行う。
図17は、MFPによるチケット実行処理を説明するフローチャートである。このチケット実行処理は、図4および図5のシーケンス図におけるステップS410からステップS423の処理を実現するためのMFP101の動作処理である。
まず、認証処理部1402が、MFP101にログインするためにユーザが操作部219から入力した認証情報(ユーザIDとパスワード)を受け取る(ステップS1501)。認証処理部1402が、受け取った認証情報をチケット管理サーバ103に送信し、認証を要求する(ステップS1502)。本実施例では、MFP101は、自機に対する認証処理を、チケット管理サーバ103に移譲することで実現している。つまり、チケット管理サーバ103で認証されたユーザは、同時にMFP101でも認証されたものとする。
次に、認証処理部1402は、チケット管理サーバ103から認証結果を受信する(ステップS1503)。認証処理部1402が、受信した認証結果を自機に対する認証の結果として扱う。認証処理部1402は、認証に成功している場合は、ステップS1504へ処理を進める。認証処理部1402は、認証に失敗している場合は、認証失敗をユーザに通知するため、操作部219に認証が失敗した旨を表示して(ステップS1521)、処理を終了する。ここで、認証に成功したユーザ(MFP101にログインしたユーザ)をチケット実行者と定義する。
ステップS1505において、チケット処理部1401が、チケット管理サーバ103に対して、チケット実行者が実行可能なチケットの一覧情報の取得を要求する。チケット処理部1401が、チケット管理サーバ103から送信されるチケットの一覧情報を待ち受ける(ステップS1506)。チケット処理部1401が、チケット管理サーバ103から送信されるチケットの一覧情報を受信すると、次のステップS1507に処理を進める。そして、チケット処理部1401は、受信したチケットの一覧情報を操作部219に表示する。チケット処理部1401が、チケットの一覧情報を、操作部219にボタンとして表示してもよいし、リストとして表示してもよい。
次に、チケット処理部1401が、チケット実行者がチケットの実行のためにチケットを選択するのを待ち受ける(ステップS1508)。チケット処理部1401が、チケット実行者からチケットの選択を受け付けると、次のステップS1509に処理を進める。そして、チケット処理部1401が、チケット実行者が選択したチケットの詳細情報の取得をチケット管理サーバ103に要求する。
次に、チケット処理部1401が、チケット管理サーバ103から送信されたチケットの詳細情報を受け取る(ステップS1510)。チケット処理部1401が、受け取ったチケットの詳細情報を解析してスキャン設定を取り出す(ステップS1511)。スキャン処理部1403が、ステップS1511で取り出したスキャン設定にしたがってスキャナ221でスキャンを実行する(ステップS1512)。
そして、送信処理部1404は、実行したチケットのチケットIDとスキャンして得られた文書データをチケット管理サーバ103に送信し(ステップS1513)、処理を終了する。
以上、実施例1において説明した手順により、他人に実行させるためのスキャンチケットを扱う画像処理システムを、セキュリティを確保しつつ、チケットを分割することなく提供できる。また、認可情報の状態とリクエストチケットの状態を同期させることができるようになり、ユーザの利便性が向上する。
(実施例2)
次に、実施例2について説明する。前述した実施例1の情報処理システムでは、文書管理サーバ104の認可情報を、チケットを作成する際に、認可情報管理テーブル900において、チケット作成者のレコードからチケット実行者のレコードへ複製していた。これに対し、実施例2の情報処理システムでは、認可情報を複製するのではなく、作成したチケット専用の認可情報を取得するようにする。
図18は、実施例2におけるチケット管理サーバによるチケット作成処理の例を説明するフローチャートである。図8と同じステップ番号を持つステップは、図8のフローチャートで説明した各ステップと同様の処理が行われるため説明は省略する。
図18のフローチャートが、図8のフローチャートと異なるのは、図18では、図8のステップS707からステップS710の代わりに、ステップS1601とステップS1602を処理する点である。
ステップS1601において、認証処理部502が、入力フィールド604で指定された文書管理サーバ104に対して、入力フィールド605の送信先パスに文書データを送信する際に必要になる認可情報の取得を要求する。ここで要求する認可情報は、文書データを登録するのに最低限必要なリソース、サービスに対する認可情報とする。認可情報の有効範囲は、文書管理サーバ104によって異なるが、文書管理サーバ104が提供する範囲において、最低限必要なリソース、サービスを要求する。例えば、文書管理サーバ104から文書データを取得するサービス(取得サービス)と、文書管理サーバ104に文書データを登録するサービス(登録サービス)があるのなら、最低限必要なのは登録サービスだけである。また、認可情報が有効である文書管理サーバ104のパスを限定できるのであれば、入力フィールド605の送信先パスのみアクセスできる認可情報を要求する。
ステップS1602において、認証処理部502が、文書管理サーバ104から認可情報を受け取ったら、認可情報管理テーブル900に認可情報を保存する。このとき、レコードに記録されるのは、レコードID901、ユーザID902、送信先システム903、送信先パス904、認可情報905、有効期限906、チケットID907である。
以上、実施例2において説明した手順により、作成したチケット専用の認可情報を取得することで、他人に実行させるためのスキャンチケットを扱う画像処理システムを、高いセキュリティを確保したうえで、ユーザに提供できる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。