以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
図1は、本発明の実施形態に係る情報処理システムの構成を示す図である。図1に示すように、本実施形態に係る情報処理システム1は、複合機100、クライアントPC200、スキャンチケットサーバ300及びワークフローサーバ400がローカルエリアネットワーク(LAN)500を介して接続され、互いにデータの送受信が可能である。なお、ローカルエリアネットワーク(LAN)500でなく、WANであってもよい。
本実施形態では、スキャンチケットサーバ300とワークフローサーバ400とは別筺体として説明するが、同一筺体であってもよい。即ち、スキャンチケットサーバ300とワークフローサーバ400とを一体化して管理サーバと言い換えることも可能である。
クライアントPC200は、ワークフローサーバ400にログインして、承認を得るための情報を入力する。ワークフローサーバ400は、クライアントPC200から入力された情報に従って申請データを生成し、承認処理を実行する。申請データの生成は、起案ともいう。承認処理は、申請データを承認するユーザ(例えば、管理者)のクライアントPCで承認指示することで承認がなされる。
また、ワークフローサーバ400は、申請データの種別を確認して、ワークフローにファイル(例えば、領収書をスキャンすることにより得られたファイル)の添付が必要と判断すると、申請データの生成の際に、スキャンチケットサーバ300に対してスキャンチケット生成命令を発行する。スキャンチケットサーバ300は、スキャンチケット生成命令を受け付けると、複合機100でスキャンの際に用いられる設定を含むスキャンチケットを生成する。スキャンチケットが発行された申請データは、ファイル(スキャンファイル、又は、クライアントPCのローカルにあるファイル)の添付が行われると、承認処理がスタートする。
スキャンチケットサーバ300は、スキャンチケットを生成すると、スキャンチケットを記憶する。そして、スキャンチケットサーバ300は、複合機100からのスキャンチケット要求に応じて、複合機100にログインしたユーザのスキャンチケットを抽出し、スキャンチケット一覧を複合機100に送信する。
複合機100でスキャンチケットが使用されると、スキャンチケットは削除される。また、スキャンチケットサーバ300は、複合機100でスキャンチケットを利用せず、予めクライアントPC200に保存されていたファイル(領収書のデータ)が申請データに添付された場合には、申請データの生成に伴って作成されたスキャンチケットは削除される。
複合機100は、ユーザ認証によりログインを行い、ログインしたユーザ情報を含むスキャンチケット要求をスキャンチケットサーバ300に送信し、スキャンチケットサーバ300から受信したスキャンチケット一覧を表示する。複合機100は、ユーザの操作に応じてスキャンチケットが選択されると、スキャンチケットに含まれるスキャン条件に基づいてスキャンを実行する。複合機100は、スキャン条件に含まれる格納先に従って、スキャンが実行されて生成されたファイルをワークフローサーバ400に送信する。
次に、図2を参照しながら、クライアントPC200、スキャンチケットサーバ300及びワークフローサーバ400に適用可能な情報処理装置のハードウェア構成について説明する。
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202又は外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input/Output System)やオペレーティングシステムプログラム(以下、OSと称す)や、各サーバ又は各PCにより実行される機能を実現するために必要な後述する各種プログラム等が記憶されている。
RAM203は、CPU201の主メモリ及びワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202又は外部メモリ211からRAM203にロードし、当該ロードしたプログラムを実行することで各種動作を実現するものである。
入力コントローラ205は、キーボード(KB)209や不図示のマウス等のポインティングデバイス等からの入力を制御する。ビデオコントローラ206は、CRTディスプレイ(CRT)210等の表示装置における表示処理を制御する。なお、図2では、CRT210と記載しているが、表示装置はCRTだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル及び各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、又は、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ208は、ネットワーク(例えば、図1に示したLAN500)を介して外部装置と接続及び通信するものであり、ネットワークでの通信制御処理を実行するものであり、例えばTCP/IPを用いた通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、CPU201が必要に応じてRAM203にロードして実行するものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。
次に、図3を参照しながら、複合機100のハードウェア構成について説明する。コントローラユニット316は、画像入力デバイスとして機能するスキャナ314や、画像出力デバイスとして機能するプリンタ312と接続される一方、LAN(例えば、図1に示したLAN500)や公衆回線(WAN)(例えば、PSTN又はISDN等)と接続することにより、画像データやデバイス情報の入出力を行う。
コントローラユニット316において、CPU301は、システム全体を制御するプロセッサである。RAM302は、CPU301が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリでもある。
ROM303は、システムのブートプログラムや各種制御プログラムが格納されている。外部記憶装置(ハードディスクドライブ(HDD))304は、システムを制御するための各種プログラム及び画像データ等を格納する。
操作部インタフェース(操作部I/F)307は、操作部(UI)308とのインタフェース部であり、操作部308に表示する画像データを操作部308に対して出力する。また、操作部I/F307は、操作部308から本システム使用者が入力した情報(例えば、ユーザ情報等)をCPU301に伝える役割をする。なお、操作部308は、タッチパネルを有する表示部を備え、表示部に表示されたボタンを、ユーザが押下(指等でタッチ)することにより、各種指示を行うことができる。
ネットワークインタフェース(Network I/F)305は、ネットワーク(LAN)に接続し、データの入出力を行う。モデム(MODEM)306は、公衆回線に接続し、FAXの送受信等のデータの入出力を行う。
外部インタフェース(外部I/F)318は、USB、IEEE1394、プリンタポート及びRS−232C等の外部入力を受け付けるI/F部であり、本実施形態においては認証で必要となるICカードの読み取り用のカードリーダ319が外部I/F部318に接続されている。そして、CPU301は、外部I/F318を介してカードリーダ319によるICカードからの情報読み取りを制御し、当該ICカードから読み取られた情報を取得可能である。なお、ICカードに限らず、ユーザを特定することが可能な記憶媒体であればよい。この場合、記憶媒体にはユーザを識別するための識別情報が記憶される。この識別情報は、記憶媒体の製造番号でも、ユーザが企業内で与えられるユーザコードであってもよい。以上のデバイスがシステムバス309上に配置される。
イメージバスインタフェース(IMAGE BUS I/F)320は、システムバス309と画像データを高速で転送する画像バス315とを接続し、データ構造を変換するバスブリッジである。画像バス315は、PCIバス又はIEEE1394で構成される。画像バス315上には以下のデバイスが配置される。
ラスタイメージプロセッサ(RIP)310は、例えば、PDLコード等のベクトルデータをビットマップイメージに展開する。プリンタインタフェース(プリンタI/F)311は、プリンタ312とコントローラユニット316とを接続し、画像データの同期系/非同期系の変換を行う。スキャナインタフェース(スキャナI/F)313は、スキャナ314とコントローラユニット316とを接続し、画像データの同期系/非同期系の変換を行う。
画像処理部317は、入力画像データに対して補正、加工及び編集を行ったり、プリント出力画像データに対して、プリンタの補正及び解像度変換等を行う。また、画像処理部317は、画像データの回転や、多値画像データに対してはJPEG、2値画像データはJBIG、MMR、MH等の圧縮伸張処理を行う。
スキャナ部314は、原稿となる紙上の画像を照明し、CCDラインセンサで走査することにより、ラスタイメージデータとして電気信号に変換する。原稿用紙は原稿フィーダのトレイにセットし、装置使用者が操作部308から読み取り起動指示することにより、CPU301がスキャナ314に指示を与え、フィーダは原稿用紙を1枚ずつフィードし原稿画像の読み取り動作を行う。
プリンタ部312は、ラスタイメージデータを用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、CPU301からの指示によって開始する。なお、プリンタ部312には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセットがある。
操作部308は、LCD表示部を有し、LCD上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報を操作部I/F307を介してCPU301に伝える。また、操作部308は、各種操作キーとして、例えば、スタートキー、ストップキー、IDキー、リセットキー等を備える。
ここで、操作部308のスタートキーは、原稿画像の読み取り動作を開始する際等に用いられる。スタートキーの中央部には、緑と赤の2色LEDがあり、その色によってスタートキーが使える状態にあるかどうかを示す。また、操作部308のストップキーは、稼働中の動作を止める働きをする。また、操作部308のIDキーは、使用者のユーザIDを入力する時に用いる。リセットキーは、操作部からの設定を初期化する時に用いる。
カードリーダ319は、CPU301からの制御により、ICカード(例えば、ソニー社のフェリカ(FeliCa)(登録商標))内に記憶されている情報を読み取り、当該読み取った情報を外部I/F318を介してCPU301へ通知する。
次に、図4を参照しながら、複合機100、スキャンチケットサーバ300及びワークフローサーバ400の機能的な構成について説明する。なお、図4に示す各機能による詳細な処理は、後述のフローチャートを用いて説明する。
スキャンチケットサーバ300及びワークフローサーバ400は、クライアントPC200からの申請を受け付ける管理サーバであり、スキャンチケット生成部401、一覧送信部402、チケット送信部403、ファイル登録部404及び削除部405を備える。
スキャンチケット生成部401は、クライアント装置(例えば、クライアントPC200)からの申請に従って、画像処理装置(例えば、複合機100)で画像データの読み取りを実行するための指示内容が定義されているスキャンチケットを生成する。一覧送信部402は、画像処理装置からの要求に応じて、スキャンチケットを特定するためのチケット識別情報を含むスキャンチケットの一覧情報を、画像処理装置に送信する。
チケット送信部403は、画像処理装置からのチケット識別情報を含むスキャンチケット取得要求に応じて、当該スキャンチケット取得要求に含まれるチケット識別情報で特定されるスキャンチケットを、画像処理装置に送信する。
ファイル登録部404は、クライアント装置からの申請に応じてファイルを登録する。削除部405は、ファイル登録部404によるファイルの登録に応じて、画像処理装置からスキャンチケットが利用されないように、スキャンチケットを削除する。
なお、上述した401〜405の構成は、図2のCPU201がROM202や外部メモリ211から必要なデータ及びプログラムをRAM203に一時読み出し、実行することにより実現する構成である。
複合機100は、画像読み取り機構を備える画像処理装置であり、表示制御部406、ユーザ操作受付部407、スキャンチケット取得要求部408及び画像処理部409を有する。
表示制御部406は、管理サーバから送信されるスキャンチケットの一覧情報を用いて、表示部にスキャンチケットの一覧を表示する。ユーザ操作受付部407は、表示部に表示されたスキャンチケットの一覧に対するスキャンチケットの選択と、選択されたスキャンチケットの実行指示とを受け付ける。スキャンチケット取得要求部408は、ユーザ操作受付部407により受け付けたスキャンチケットに対応するチケット識別情報を含むスキャンチケット取得要求を、管理サーバに送信する。画像処理部409は、スキャンチケット取得要求に応じて管理サーバから送信されるスキャンチケットを受信し、当該スキャンチケットを用いて画像読み取り処理を行う。そして、画像処理部409は、画像読み取り処理により得られた画像のファイルを、管理サーバに送信する。
なお、上述した406〜409の構成は、図3のCPU301がROM303やHDD304から必要なデータ及びプログラムをRAM302に一時読み出し、実行することにより実現する構成である。
次に、図5を参照しながら、ワークフロー申請処理について説明する。ステップS501において、クライアントPC200のCPU201は、ワークフローサーバ400に対して申請画面要求を送信する。ステップS502において、ワークフローサーバ400のCPU201は、クライアントPC200から申請画面要求を受信する。ステップS503において、ワークフローサーバ400のCPU201は、例えばHTML形式の申請画面を送信する。ステップS504において、クライアントPC200のCPU201は、ワークフローサーバ400から申請画面を受信する。ステップS505において、クライアントPC200のCPU201は、図6の601に示す申請画面をブラウザで表示する。
ステップS506において、クライアントPC200のCPU201は、申請画面601の各項目に対する入力を受け付ける。ステップS507において、クライアントPC200のCPU201は、申請画面601で「申請」ボタン602が押下されたか否かを判定する。「申請」ボタン602が押下された場合、処理はステップS508に移行する。一方、「申請」ボタン602が押下されていない場合、処理はステップS506に戻る。
ステップS508において、クライアントPC200のCPU201は、ステップS506にて入力された申請情報をワークフローサーバ400に対して送信する。ステップS509において、ワークフローサーバ400のCPU201は、クライアントPC200から申請情報を受信する。ステップS510において、ワークフローサーバ400のCPU201は、受信した申請情報に基づいてワークフローを生成する。ワークフローサーバ400のCPU201は、生成したワークフローをワークフローテーブルに1レコード追加する。
図7は、ワークフローテーブルを示す図である。図7において、701は、ワークフローテーブルであり、ワークフローサーバ400の外部メモリ211に記憶されている。702は、ワークフローが生成された場合に一意に発行されるワークフローIDである。703は、ワークフローの所有者であり、ワークフローを申請したユーザ(ワークフローシステムにログインしたユーザ)のユーザIDが割り当てられる。704は、ワークフローが生成された日時であり、ワークフローサーバ400で管理されているシステム時間をもとに記憶される。705は、ワークフローが生成された場合に発行されたスキャンチケットIDである。スキャンチケットが使用された場合、スキャンチケットが発行されなかった場合、又は、スキャンチケットが削除された場合、NULLが設定される。706は、ワークフローの状況を表す状況フラグである。「0」から「3」まで存在し、「0」は開始待ちを示し、「1」は開始されており承認待ちを示し、「2」は承認済みを示し、「3」は否認を示す。707は、ワークフローの承認者IDであり、所有者703のユーザの上司のユーザIDが設定される。また、承認者IDは、ユーザが任意に設定したIDであってもよい。711は、削除フラグであり、複合機100からスキャンチケットを選択された後に、ワークフローに対して添付される別のファイルがあると指定された場合、クライアントPC200からファイルが添付されても、スキャンチケットが削除されないようにするためのフラグである。初めのフラグは「0」で登録されている。712は、図6の607に示す申請画面で入力された申請データが記憶されている。708は、ワークフローと紐付けられたファイルを管理するファイル管理テーブルである。709には、ワークフローIDが記憶される。710には、スキャンチケットを利用して保存されたファイルのファイル名(ファイルパスであってもよい)が記憶される。なお、クライアントPC200から登録されたファイルのファイル名が記憶されるようにしてもよい。
ステップS510の具体的な処理としては、ワークフローサーバ400のCPU201は、申請者となるワークフローサーバにログインしているユーザを所有者703に記憶し、ワークフローの登録日時を生成日時704に記憶し、状況フラグ706に開始待ちである「0」を記憶する。承認者ID707には、所有者の上司のIDが自動で登録される。なお、申請画面からユーザにより指定された承認者IDが入るように構成してもよい。ワークフローID702及びスキャンチケットID705は、ここではNULLとなっている。また、図6の申請画面601で入力された申請情報である入力データ(外出日等)は712に記憶される。
ステップS511において、ワークフローサーバ400のCPU201は、ワークフローIDを発行する。ワークフローサーバ400のCPU201は、発行したワークフローIDを図7のワークフローID702に登録する。なお、ステップS511の処理を、ステップS510の前に行うようにしてもよい。
ステップS512において、ワークフローサーバ400のCPU201は、クライアントPC200にワークフロー作成通知を送信する。ステップS513において、クライアントPC200のCPU201は、ワークフローサーバ400からワークフロー作成通知を受信する。これにより、クライアントPC200のCPU201は、図6の604に示す申請画面を表示する。
ステップS514において、クライアントPC200のCPU201は、スキャンが必要か否か、即ち、図6の申請画面604で「スキャンして開始」ボタン605が押下されたか、「すぐに開始」ボタン606が押下されたかを判定する。「スキャンして開始」ボタン605が押下された場合、処理はステップS515に移行する。一方、「すぐに開始」ボタン606が押下された場合、処理はステップS524に移行する。
ステップS515において、クライアントPC200のCPU201は、スキャンチケットサーバ300に対してスキャンチケット生成要求を送信する。なお、ワークフローサーバ400がクライアントPC200からスキャンチケット生成要求を受信し、ワークフローサーバ400からスキャンチケットサーバ300に対してスキャンチケット生成要求を送信するようにしてもよい。
ステップS516において、スキャンチケットサーバ300のCPU201は、クライアントPC200からスキャンチケット生成要求を受信する。ステップS517において、スキャンチケットサーバ300のCPU201は、スキャンチケットを生成する。スキャンチケットサーバ300のCPU201は、生成したスキャンチケットに係る情報をスキャンチケットテーブルに登録する。
図8は、スキャンチケットテーブルを示す図である。図8において、801は、スキャンチケットテーブルであり、スキャンチケットサーバ300の外部メモリ211に記憶されている。スキャンチケットが生成される度に、スキャンチケットテーブル801にレコードが追加され、各種データが記憶される。802は、スキャンチケットが生成された場合に一意に発行されるスキャンチケットIDである。803は、スキャンチケットの所有者であり、申請することで生成されたワークフローと同一のユーザのユーザIDが割り当てられる。なお、スキャンチケットは、ワークフローの生成に関わらず、複合機100から生成することができるため、その場合には、複合機100にログインしているユーザのユーザIDが記憶される。804は、スキャンチケットが生成された日時であり、スキャンチケットサーバ300で管理されているシステム時間をもとに記憶される。805は、ファイル形式であり、スキャンデータはこのファイル形式でファイルに変換される。806は、解像度であり、スキャンデータはこの解像度でスキャンデータが生成される。807は、読取設定(モノクロ、カラー)であり、スキャンデータはこの読取設定でスキャンデータが生成される。808は、ファイルの格納先情報であり、例えば、格納先のサーバの格納先フォルダのパスが記憶されている。
ステップS517の具体的な処理としては、所有者803には、所有者703と同じユーザ情報が記憶され、生成日時804には、スキャンチケットが生成された日時が記憶され、ファイル形式805、解像度806及び読取設定807には、予め設定ファイル等に記憶されたスキャン条件が記憶される。また、格納先808には、格納先情報(例えば、格納先のフォルダパス)が記憶されるものとする。
なお、スキャンチケットの生成の他の形態として、複合機100からスキャンチケットを生成することがある。この場合には、複合機100上で805〜808をユーザの選択に応じて任意に設定してもよい。但し、ワークフローの生成に応じてスキャンチケットが生成された場合には、808は予め決められた格納先である必要があるため、少なくとも808は変更ができない構成をとることが望ましい。そのため、808は、図11の1102に示す複合機100のスキャンチケットリスト表示では、表示されないようにすることが望ましい。
ステップS518において、スキャンチケットサーバ300のCPU201は、スキャンチケットIDを発行する。スキャンチケットサーバ300のCPU201は、発行したスキャンチケットIDをスキャンチケットID802に登録する。なお、ステップS518の処理を、ステップS517の前に実行するようにしてもよい。ステップS519において、スキャンチケットサーバ300のCPU201は、ワークフローサーバ400にスキャンチケットIDを送信する。
ステップS520において、ワークフローサーバ400のCPU201は、スキャンチケットサーバ300からスキャンチケットIDを受信する。ステップS521において、ワークフローサーバ400のCPU201は、ステップS511で発行したワークフローIDとステップS518で発行されたスキャンチケットIDとを紐付ける。即ち、ワークフローサーバ400のCPU201は、図7のスキャンチケットID705に、ステップS518で発行されたスキャンチケットIDを登録する。
ステップS522において、ワークフローサーバ400のCPU201は、クライアントPC200にスキャンチケット生成通知を送信する。ステップS523において、クライアントPC200のCPU201は、ワークフローサーバ400からスキャンチケット生成通知を受信する。スキャンチケット通知を受けたクライアントPC200のCPU201は、図6の607に示す、ワークフローを開始するための方法を案内する画面を表示する。
ステップS524において、ワークフロー開始処理が実行される。図5においては、便宜上、ステップS524のワークフロー開始処理を、クライアントPC200に該当する位置に記載しているが、本処理は、ワークフローサーバ400及びスキャンチケットサーバ300によって実行される処理である。なお、ステップS524については、図9を用いて詳細に説明する。ワークフローが開始されると、クライアントPC200のCPU201は、図6の608に示す、ワークフロー開始処理を通知する画面を表示する。
次に、図9を参照しながら、図5のステップS524におけるワークフロー開始処理について詳細に説明する。ステップS901において、ワークフローサーバ400のCPU201は、スキャンチケットが存在するか否かを判定する。なお、図5のステップS514において、「すぐに開始」ボタン606が押下された場合には、スキャンチケットは存在しないため、処理はステップS908に移行する。また、後述する図13のステップS1305におけるワークフロー開始処理の際には、選択されたスキャンチケットのスキャンチケットIDが図7のワークフローテーブル701に存在するか否かが確認され、存在すれば、処理はステップS902に移行する。
ステップS902において、ワークフローサーバ400のCPU201は、図7に示すワークフローテーブル701の削除フラグ711が「0」であるか否かを判定する。即ち、ワークフローサーバ400のCPU201は、スキャンチケットを削除してよいか否かを判定する。スキャンチケットを削除してよい場合(削除フラグ711が「0」である場合)、処理はステップS903に移行する。一方、スキャンチケットを削除しない場合(削除フラグ711が「1」である場合)、処理は終了し、スキャンチケットを用いたファイル添付待ちの状態となる。ここで、スキャンチケットを削除してよい場合とは、後述する図16のステップS1604でスキャンチケットを使用しないと判定された場合、又は、後述する図13のステップS1303でスキャンが必要と判定され、ステップS1304でスキャンが実行された(スキャンチケットが使用された)場合である。
ステップS903において、ワークフローサーバ400のCPU201は、スキャンチケットサーバ300に対して、スキャンチケットIDを含むスキャンチケット削除要求を送信する。ステップS904において、スキャンチケットサーバ300のCPU201は、ワークフローサーバ400からスキャンチケット削除要求を受信する。ステップS905において、スキャンチケットサーバ300のCPU201は、受信したスキャンチケット削除要求に含まれるスキャンチケットIDに対応するスキャンチケットを、図8の801に示すスキャンチケットテーブルから削除する。ステップS906において、スキャンチケットサーバ300のCPU201は、ワークフローサーバ400に対してスキャンチケット削除完了通知を送信する。
ステップS907において、ワークフローサーバ400のCPU201は、スキャンチケットサーバ300からスキャンチケット削除完了通知を受信する。ステップS908において、ワークフローサーバ400のCPU201は、ワークフローの状況フラグを「1」に設定する。この状況フラグを「1」にすることにより、次の処理(アクティビティ)に移る。ステップS909において、ワークフローサーバ400のCPU201は、ワークフローの承認者に対して承認業務通知を送信する。承認業務通知はメールによって行われ、承認者は、メールに記載されているワークフロー(申請情報)にアクセスして、承認又は否認を行う。
なお、本実施形態では、承認者を1人としたが、複数人に承認させることも可能である。また、簡易的に状況フラグが「1」に変更されると、承認待ちとなり、承認処理がなされるが、ワークフローシステムでは、作業の単位であるアクティビティ(作業内容、開始、終了条件)が順番に設定され、定義されているため、この定義に従って、ワークフロー処理がなされてもよい。
次に、図10を参照しながら、ログイン開始処理について説明する。ステップS1001において、複合機100のCPU301は、図11の1101に示す、複合機100のカードリーダ319にカードをかざすことを促す画面を表示する。カードリーダ319にカードがかざされると、カード検知が行われる。ステップS1002において、複合機100のCPU301は、かざされたカードからユーザ情報を読み取る。なお、ユーザ情報ではなく、カードIDを読み取るようにしてもよい。
ステップS1003において、複合機100のCPU301は、ユーザ情報テーブルに読み取られたユーザ情報が存在するか確認することにより、ユーザ認証を行う。図12は、ユーザ情報テーブルを示す図である。図12において、1201は、ユーザ情報テーブルである。このユーザ情報テーブル1201を用いて、複合機100へログインする際の認証を行う。1202は、ユーザIDであり、カードから読み取られる値、又は、複合機100のタッチパネル等の入力部で入力された値と比較するためのデータである。1203は、ユーザ名であり、複合機100の表示部において表示される。1204は、ユーザのパスワードであり、複合機100のタッチパネル等でユーザ名と合わせて入力されたパスワードとの比較に使用される。なお、ユーザ情報テーブル1201は、複合機100のHDD304に記憶されているが、認証サーバ(不図示)に記憶され、この認証サーバと通信することでユーザ認証を行うようにしてもよい。
ステップS1004において、複合機100のCPU301は、ユーザ情報がユーザ情報テーブル1201に存在することが確認されると(ユーザ認証されると)、複合機100へのユーザのログインを許可する。これにより、ユーザは複合機100の操作が可能となる。
ステップS1005において、複合機100のCPU301は、スキャンチケットサーバ300にスキャンチケットリスト要求を送信する。スキャンチケットリスト要求には、複合機100にログインしたユーザのユーザIDが含まれる。ステップS1006において、スキャンチケットサーバ300のCPU201は、複合機100からスキャンチケットリスト要求を受信する。ステップS1007において、スキャンチケットサーバ300のCPU201は、スキャンチケットリスト要求に含まれるユーザIDとスキャンチケットの所有者803とが一致するスキャンチケットを図8のスキャンチケットテーブル801から検索する。ステップS1008において、スキャンチケットサーバ300のCPU201は、ユーザIDと一致する所有者803のスキャンチケットをリスト化したスキャンチケットリストを、複合機100に対して送信する。
ステップS1009において、複合機100のCPU301は、スキャンチケットサーバ300からスキャンチケットリストを受信する。ステップS1010において、複合機100のCPU301は、図11の1102に示すように、受信したスキャンチケットリストを表示する。ステップS1011において、複合機100のCPU301は、ユーザの操作に応じて、画面制御処理を実行する。なお、ステップS1011における画面制御処理の詳細については、図13を用いて説明する。
次に、図13を参照しながら、図10のステップS1011における画面制御処理について説明する。ステップS1301において、複合機100のCPU301は、図11の1103に示すように、表示されているスキャンチケットリストからスキャンチケットが選択され、図11の「スキャン」ボタン1104が押下される。
「スキャン」ボタン1104が選択されると、図14の1401に示す、クライアントPC200からのファイル添付が必要か否かを問い合わせる画面が表示される。ステップS1302において、複合機100のCPU301は、クライアントPC200からのファイル添付が必要であるか否か、即ち、画面1401で「必要」ボタン1402が押下されたか、「不要」ボタン1403が押下されたかを判定する。「必要」ボタン1402が押下された場合、処理はステップS1306に移行する。一方、「必要」ボタン1402が押下されていない場合、処理はステップS1303に移行する。ここで、クライアントPC200からファイル添付が必要であるか否かをユーザに問い合わせる画面1401を表示するのは、複合機100からスキャンして、ワークフローに対するファイル添付が実行されると、ワークフローが開始され、他のファイル添付が実行できないためである。なお、本実施形態において、スキャンによるワークフローへのファイル添付は、1スキャンチケット選択、1ファイル生成を前提として説明するが、1つのスキャンチケットを選択してスキャンを実行した場合、スキャンする原稿が複数単位あれば、原稿単位でスキャンして、複数のファイルを生成し、複数のファイルを1つのワークフローに紐付けるようにすることも可能である。
次に、複合機100のCPU301は、画面1401の後に、スキャンを促すための画面1406を表示させる。そして、ステップS1303において、複合機100のCPU301は、スキャンが必要であるか否か、即ち、「スキャン」ボタン1407が押下されたか、「キャンセル」ボタン1408が押下されたかを判定する。「スキャン」ボタン1407が押下された場合、処理はステップS1304に移行する。一方、「キャンセル」ボタン1408が押下された場合、複合機100のCPU301は、スキャンからのファイル添付が不要と判定し、処理はステップS1305に移行する。
ステップS1304において、スキャン処理が実行される。ステップS1304におけるスキャン処理の詳細は、図15を用いて説明する。なお、便宜上、図13において複合機100に該当する位置にステップS1304を記載しているが、本処理は、図15に示すように、複合機100、スキャンチケットサーバ300及びワークフローサーバ400によって実行される処理である。
ステップS1305において、ワークフロー開始処理が実行される。ステップS1305におけるワークフロー開始処理の詳細は、図9を用いて説明したとおりである。便宜上、図13における複合機100に該当する位置に、ステップS1305のワークフロー開始処理を記載しているが、本処理は、図9に示すように、ワークフローサーバ400及びスキャンチケットサーバ300によって実行される処理である。
ステップS1306において、複合機100のCPU301は、クライアントPC200からのファイル添付を、スキャンデータに基づくファイル添付より先に実行することを促すメッセージを、図14の1404に示すように表示する。ステップS1307において、複合機100のCPU301は、ユーザの操作に従って、複合機100にログインしているユーザのログアウトを行う。なお、ログアウト処理は、一定期間ユーザ操作がない場合、自動的にログアウトする構成であってもよい。
次に、図15を参照しながら、図13のステップS1304におけるスキャン処理について詳細に説明する。ステップS1501において、複合機100のCPU301は、ステップS901で選択されたスキャンチケットのスキャンチケットIDをスキャンチケットサーバ300に送信する。ステップS1502において、スキャンチケットサーバ300のCPU201は、複合機100からスキャンチケットIDを受信し、スキャンチケットIDに該当するスキャンチケットを複合機100に送信する。
ステップS1503において、複合機100のCPU301は、スキャンチケットサーバ300からスキャンチケットを受信し、当該スキャンチケットに含まれるスキャン条件(例えば、図8のファイル形式805、解像度806及び読取設定807)を読み込む。
ステップS1504において、複合機100のCPU301は、スキャンを開始する。ステップS1505において、複合機100のCPU301は、原稿をスキャンし、スキャンによって得られたスキャンデータ(例えば、画像データ)を、取得したスキャン条件のファイル形式(例えば、PDF)に従って、ファイルに変換(生成)する。
ステップS1506において、複合機100のCPU301は、スキャン条件に含まれる図8に示す格納先(パス)808に従って、例えば、複合機100のSMBプロトコルによって、ステップS1505で生成したファイルをワークフローサーバ400に送信する。なお、複合機100で格納先を指定してファイルを送信する構成でなく、SOAPやFTP通信でファイルをワークフローサーバ400に送信してもよい。ファイル送信の際、例えば、ファイル名にスキャンチケットIDを設定しておき、ファイルを受信したワークフローサーバ400は、ファイル名のスキャンチケットIDを取得し、このスキャンチケットIDを有するワークフローを特定して、ファイルと紐付ける。
ステップS1507において、ワークフローサーバ400のCPU201は、複合機100からファイルを受信し、所定のフォルダにファイルを格納する。例えば、格納先が各ワークフローに対応し、\\workflow-server\WF00001に対してファイルが格納される。このファイルの納方法は飽くまでも一例であり、これに限る必要はない。例えば、\\workflow-server\shareという、共有フォルダにスキャンファイルが全て記憶され、ファイル名としてスキャンチケットIDを付けて格納するようにしてもよい。
ステップS1508において、ワークフローサーバ400のCPU201は、受信したファイルとワークフローとを紐付ける。即ち、図7の710にファイル名を記憶させ、709にファイルを紐付けるワークフローIDを記憶させる。ステップS1509において、ワークフローサーバ400のCPU201は、複合機100にファイル受信完了通知を送信する。
ステップS1510において、複合機100のCPU301は、ワークフローサーバ400からファイル受信完了通知を受信する。ステップS1511において、複合機100のCPU301は、スキャンチケットサーバ300に対してスキャンチケットIDを含むスキャンチケット削除要求を送信する。なお、ワークフローサーバ400からスキャンチケットサーバ300に対してスキャンチケット削除要求を送信するようにしてもよい。また、ステップS1301で選択されたスキャンチケットのスキャンチケットIDは、RAM302上で管理されており、スキャンチケットサーバ300と通信する際には、RAM302に記憶されているスキャンチケットIDが送信される。
ステップS1512において、スキャンチケットサーバ300のCPU201は、複合機100からスキャンチケット削除要求を受信する。ステップS1513において、スキャンチケットサーバ300のCPU201は、図8のテーブル801からスキャンチケット削除要求に含まれるスキャンチケットIDと合致するスキャンチケットを検索し、該当するスキャンチケットを削除する。ステップS1514において、スキャンチケットサーバ300CPU201は、複合機100に対してスキャンチケット削除完了通知を送信する。ステップS1515において、複合機100のCPU301は、スキャンチケットサーバ300からスキャンチケット削除完了通知を受信する。
ワークフローIDをスキャンチケット側に含めて管理し、ワークフローIDを用いて、ファイルの送信及びスキャンチケットの削除を行うようにしてもよい。即ち、ワークフローやスキャンチケットを特定することができる識別情報を用いて、ファイルとワークフローとの紐付けや、スキャンチケットの削除を行うようにしてもよい。
次に、図16を参照しながら、クライアントPC200からのファイル添付処理について詳細に説明する。ステップS1601において、クライアントPC200のCPU201は、外部メモリ211に記憶されているファイルを添付するための申請情報を表示する。このとき、ワークフローは開始されていない状態である。このとき、図7に示すワークフローテーブル701における状況フラグ706には、「0」が設定される。
ステップS1602において、クライアントPC200のCPU201は、ユーザにより選択されたファイルを入力する。ステップS1603において、クライアントPC200のCPU201は、図7に示すワークフローテーブルのスキャンチケットID705を参照し、ファイルを添付する対象となるワークフローに対応するスキャンチケットがあるか否かを判定する。スキャンチケットがある場合には、スキャンチケットがある旨の画面(不図示)をクライアントPC200で表示する。
クライアントPC200のCPU201は、スキャンチケットがある旨の画面を表示し、後でスキャンチケットを使用するのか、スキャンチケットを使用しないのかをユーザに選択させる。ステップS1604において、クライアントPC200のCPU201は、ユーザによりスキャンチケットを使用しないことが選択されたか否かを判定する。スキャンチケットを使用しないことが選択された場合、処理はステップS1606に移行する。一方、スキャンチケットを使用することが選択された場合、処理はステップS1605に移行する。
ステップS1605において、クライアントPC200のCPU201は、クライアントPC200からファイルが添付された場合でも、スキャンチケットが削除されないように、ワークフローIDをワークフローサーバ400に対して送信する。ステップS1607において、ワークフローサーバ400のCPU201は、ワークフローIDを受信し、図7に示すワークフローテーブル701に記憶されているワークフローIDと一致するワークフローを特定し、削除フラグ711を「1」に変更する。
ステップS1606において、クライアントPC200のCPU201は、入力されたファイルをワークフローサーバ400に送信する。このとき、クライアントPC200のCPU201は、ワークフローIDもワークフローサーバ400に送信する。現在のワークフローを特定するためにワークフローIDを送信しているが、ステップS1601でワークフロー申請情報を表示しているため、同一セッションの場合には、同一ワークフローに対する送信とし、ワークフローIDをステップS1605で送信しないようにすることも可能である。
ステップS1608において、ワークフローサーバ400のCPU201は、ファイルをクライアントPC200から受信する。ステップS1609において、ワークフローサーバ400のCPU201は、受信したファイルとワークフローとを紐付ける。紐付け方法としては、図7のファイル管理テーブル708に示すように、ワークフローID709とファイル名710とを紐付けて管理する。
ステップS1610において、ワークフローサーバ400のCPU201は、ワークフロー開始処理を実行する。ステップS1610におけるワークフロー開始処理の詳細は、図9を用いて説明したとおりである。便宜上、図16における複合機100に該当する位置に、ステップS1610のワークフロー開始処理を記載しているが、本処理は、図9に示すように、ワークフローサーバ400及びスキャンチケットサーバ300によって実行される処理である。
次に、図17を参照しながら、ワークフロー承認処理について説明する。ステップS1701において、クライアントPC200のCPU201は、ワークフローサーバ400にアクセスし、ワークフローサーバ400に承認待一覧要求を送信する。ステップS1702において、ワークフローサーバ400のCPU201は、クライアントPC200から承認待一覧要求を受信する。
ステップS1703において、ワークフローサーバ400のCPU201は、図7のテーブル701から、承認待一覧要求に含まれるユーザID(ログインユーザのID)と承認者ID707とが一致するワークフローを検索し、クライアントPC200に承認待一覧画面として送信する。
ステップS1704において、クライアントPC200のCPU201は、ワークフローサーバ400から承認待一覧画面を受信する。ステップS1705において、クライアントPC200のCPU201は、図18の1801に示す承認待一覧画面を表示する。
ステップS1706において、クライアントPC200のCPU201は、図18の1802に示す承認待一覧画面にてワークフローの選択操作を受け付け、「詳細」ボタン1803が押下される。これにより、図18の1804に示す承認待詳細画面が表示される。ステップS1707において、クライアントPC200のCPU201は、承認待一覧画面1804で「承認」ボタン1805が押下されたか、「否認」ボタン1806が押下されたかを判定する。「承認」ボタン1805が押下された場合、処理はステップS1708に移行する。一方、「否認」ボタン1806が押下された場合、処理はステップS1710に移行する。
ステップS1708において、クライアントPC200のCPU201は、ワークフローサーバ400に承認状況フラグ変更要求(承認)を送信する。ステップS1709において、ワークフローサーバ400のCPU201は、クライアントPC200から承認状況フラグ変更要求(承認)を受信し、状況フラグ706を「2」に変更する。
ステップS1710において、クライアントPC200のCPU201は、ワークフローサーバ400に承認状況フラグ変更要求(否認)を送信する。ステップS1711において、ワークフローサーバ400のCPU201は、クライアントPC200から承認状況フラグ変更要求(否認)を受信し、状況フラグ706を「3」に変更する。
本実施形態によれば、ワークフローに対してファイルが添付された場合、当該ワークフローに対応付けて管理されているスキャンチケットを削除して、スキャンチケットを適切に管理することができる。
特に、交通精算入力等の申請において、領収書を添付する必要があるため、添付が必要な申請があった場合には、スキャンチケットを生成されるが、ファイルがクライアントPC200に保存されていて、クライアントPC200からワークフローにファイルを添付した場合、使用しないスキャンチケットが残ってしまうということを防ぐことができる。また、スキャンチケットを用いてファイルがワークフローに添付されると、スキャンチケットが削除されるため、誤ったスキャンチケットを使用することを防ぐことができる。
クライアントPC200からファイルが添付された場合であっても、スキャンチケットを使用する場合には、スキャンチケットを使用しないように制御することにより、クライアントPC200からファイルが添付された後でも、スキャンチケットを用いたワークフローへのファイル添付及びワークフローの開始を行うことができるため、申請処理を効率化することができる。
また、スキャンチケットを用いて、ファイルがワークフローに添付されると、ワークフローが開始されるため、ワークフローシステムにログインして、ワークフロー開始指示をする手間を省くことができる。さらに、ファイル添付が必要のない申請の場合には、自動でワークフローが開始されるため、ワークフロー開始指示をする手間を省くことができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることはいうまでもない。以上、本発明の実施形態について説明したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。