JP2004151897A - Job process control device and method - Google Patents

Job process control device and method Download PDF

Info

Publication number
JP2004151897A
JP2004151897A JP2002315106A JP2002315106A JP2004151897A JP 2004151897 A JP2004151897 A JP 2004151897A JP 2002315106 A JP2002315106 A JP 2002315106A JP 2002315106 A JP2002315106 A JP 2002315106A JP 2004151897 A JP2004151897 A JP 2004151897A
Authority
JP
Japan
Prior art keywords
service
processing
job
signature
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002315106A
Other languages
Japanese (ja)
Other versions
JP4304957B2 (en
Inventor
Masaki Satake
雅紀 佐竹
Takanori Masui
隆徳 益井
Tatsuhiko Yokohama
竜彦 横濱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2002315106A priority Critical patent/JP4304957B2/en
Publication of JP2004151897A publication Critical patent/JP2004151897A/en
Application granted granted Critical
Publication of JP4304957B2 publication Critical patent/JP4304957B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a system for executing processes on a document while transferring the document between a plurality of servers scattered over a network and to put a user's digital signature on the document output via the processes. <P>SOLUTION: A user inputs from a composite machine 10 the coordinated jobs of taking only the data of the head page at a server A22 from a scanned document, writing his/her signature on the resulting file of the head page, and sending the file from a server C26 to a predetermined destination. A coordinate process server 20 then sends to the composite machine 10 the file of the head page received from the server A22, before sending it to the server C26, and requests the user to write his/her digital signature. The composite machine 10 uses an IC card or the like inserted by the user to attach the digital signature to the file by use of the user's secret key and then sends the file to the coordinated process server 20. The coordinated process server 20 sends the file with the signature on it to the server C26 to send it to the predetermined destination. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワーク上に存在する様々なサービスを連携させることで、多様な連携処理を実現する連携サービス処理のための技術に関し、特に連携サービス処理におけるセキュリティ技術に関する。
【0002】
【従来の技術】
スキャナ、ファクシミリ装置、プリンタ、複写機、及びそれらの機能を統合した複合機をLAN(ローカルエリアネットワーク)に接続し、パーソナルコンピュータやメールサーバなどの情報処理装置と連携させ、オフィス作業用の各種サービスを提供するワークフローシステムが提案されている。
【0003】
また近年、インターネット上に散在する各種ウェブアプリケーションを連携させる技術が提案されている。インターネット上にある多様な提供者が提供するアプリケーションサービスを連結して1つのシステムを構成できると、様々な既存サービスを利用することができるのでシステム開発コストが大幅に低減できると期待されている。また、このような連携的なサービスを実現するための共通の基盤としてXML(eXtensible Markup Language)等の言語が注目されている。
【0004】
また、従来のワークフローシステムとしては、特許文献1や特許文献2、特許文献3に示されるものが知られている。
【0005】
【特許文献1】
特開平08−123744号公報
【特許文献2】
特開2002−099686号公報
【特許文献3】
特開2001−282970号公報
【0006】
【発明が解決しようとする課題】
インターネット上のサービスを利用してワークフローを構成する場合には、処理対象や処理結果の文書がインターネット上を流れることになる。しかしながら、従来のワークフローシステムでは、このようなネットワークを流れる文書のセキュリティに考慮を払っていない。
【0007】
また、このように各種のサービスを連携させて1つの処理を実現するシステムの場合、ユーザの電子署名をどのように扱うかが問題となる。
【0008】
例えば、ユーザが入力した文書に対して自分の電子署名を付したとしても、それをネットワーク上のサービスに送って処理させていくと、途中のサービスでの処理のためにその文書が復号されて電子署名が失われたり、或いは処理の結果電子署名の対象である文書の内容が変わり、最初にユーザが付した電子署名が意味をなさなくなってしまったりする問題がある。
【0009】
また、このようなシステムでは、一連のサービスの途中でネットワーク上のサービスが取得した文書が最終的な処理結果文書に含まれる場合がある。しかし、そのようにユーザが操作する装置内にない文書には、従来のシステムでは電子署名を施すことができない。
【0010】
本発明は、このような問題に鑑みなされたものであり、ワークフローのように複数の装置が連携して一連の処理を実現するシステムにおいて、ユーザが電子署名を施したい文書、あるいはサービスとしてユーザの署名やサービス発行装置の署名を必要とするデータに対して適切に電子署名を施すための仕組みを提供することを目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成するため、本発明は、ネットワーク上のジョブ処理装置を用い、ジョブ処理を連携して実現されるサービスを実行するジョブ処理制御装置であって、サービスの出力結果に対して、サービス発行元の電子署名を施すか否かを決定する決定手段と、前記決定手段により電子署名を施すと決定された場合、サービスの処理結果を出力するジョブ処理の対象となる処理対象データに、前記サービス発行元の電子署名を施すための処理を実行する署名手段と、を備えるジョブ処理制御装置を提供する。
【0012】
本発明の好適な態様では、前記決定手段は、サービスの実行を指示したユーザの指示によって決定する。
【0013】
別の好適な態様では、ジョブ処理制御装置は、サービスの実行が指示されたサービス発行元装置から、サービスの処理内容が記述された指示書データを入力する指示書データ入力手段を備え、前記決定手段は、前記指示書データ入力手段により入力された指示書データにサービス発行元の電子署名が施されている場合、サービスの出力結果に対して電子署名を施すと決定する。
【0014】
別の好適な態様では、ジョブ処理制御装置は、サービスの実行が指示されたサービス発行装置から、サービスを実現するジョブ処理の対象となる処理対象データを入力する処理対象データ入力手段を備え、前記決定手段は、前記処理対象データ入力手段により入力された処理対象データにサービス発行元の電子署名が施されている場合、サービスの出力結果に対して電子署名を施すと決定する。
【0015】
また本発明の好適な態様では、前記署名手段は、サービスが発行されたサービス発行装置に対して処理対象データを送信し、前記処理対象データにサービス発行元の電子署名を施した結果を受信する。
【0016】
別の好適な態様では、前記署名手段は、ネットワーク上の署名サーバに対して前記処理対象データを転送し、前記処理対象データにサービス発行元の電子署名を施した結果を受信する。
【0017】
【発明の実施の形態】
以下、本発明の実施の形態(以下実施形態という)について、図面に基づいて説明する。
【0018】
図1は、本発明に係る文書処理システムの概略構成を示す図である。この例では、文書処理システムは、複合機A10,複合機B12,連携処理サーバ20,サーバA22,サーバB24,サーバC26を含んでいる。これらのうち、複合機A10,連携処理サーバ20,サーバA22,サーバB24,サーバC26は同一LAN(ローカルエリアネットワーク)に接続されており、残りの複合機B12がこのLANとインターネット30を介して接続されている。
【0019】
このうち、複合機A10及び複合機B12は、スキャナ、プリンタ、複写機、ファクシミリ等の機能を併せ持つ装置である。
【0020】
サーバA22,B24,C26は、例えばウェブアプリケーションサービス等の形で文書データに対する処理サービスを提供するサーバである。これら各サーバは、それぞれ1以上の種類のジョブ(サービス)を実行することができる。なお、複合機A10,B12も、スキャンサービスやプリントサービスなどを提供するサーバの一種と見ることができる。
【0021】
連携処理サーバ20は、これら複合機やサーバに対して、適切な処理フローに従って処理を依頼することで、それら個々の複合機やサーバが提供するサービスを連携した連携サービスを実現する。
【0022】
これら各複合機、各サーバは、それぞれ公開鍵暗号方式での各自の秘密鍵、公開鍵を有している。また、これら各複合機、各サーバは、それぞれ、他の複合機やサーバの公開鍵を保持しているか、或いは他の複合機やサーバの公開鍵を必要に応じてネットワーク上の鍵サーバ(図示省略)から取得することができる。そして、相手先に文書データを送信する場合には、その相手先の公開鍵を用いて文書データを暗号化することで、文書データの秘密保護を図る。
【0023】
次に、図2を参照して、複合機10、連携処理サーバ20、及び各種サーバ25の詳細構成を説明する。なお、複合機10は、図1の複合機A10,B12に対応し、サーバ25は図1に示した各種サービスを提供するサーバA22,B24,C26に対応する。
【0024】
まず、複合機10において、UI(ユーザ・インタフェース)102は、複合機10の状態や操作メニュー等を表示し、これに対するユーザの選択やパラメータ入力を受け取るユーザ・インタフェース機構であり、例えば液晶タッチパネルやテンキーボタン、各種制御ボタン(コピー開始ボタン等)を備える。各種処理モジュール104は、スキャン機能、プリント機能、コピー機能、ファクシミリ送受信機能等を実現する機能モジュールである、これら処理モジュール104は、スキャンエンジンやプリントエンジン、ファクシミリ装置等のハードウエアと、それら各ハードウエアを制御するソフトウエアの組合せにより構成される。通信制御部106は、この複合機10とLAN等のネットワーク35上の他の装置との通信のための各種制御処理を行う機能モジュールである。
【0025】
暗号・復号処理部108は、複合機10からネットワーク35に送信する文書データに対して暗号化を行ったり、送信されてきた暗号化されたデータを復号したりする機能モジュールである。ここで、暗号・復号化処理部108は、公開鍵暗号方式をサポートしている。暗号・復号化処理部108で用いる暗号化処理の一例としては、乱数等で発生したセッション鍵(共通鍵)を用いて対象となる文書データを暗号化し、このセッション鍵を送信先の公開鍵で暗号化し、これら両暗号化データを送信先へに送信するという処理を挙げることができる。受信側では、受け取ったデータを自らの秘密鍵で復号することでセッション鍵を得、暗号化された文書データをそのセッション鍵により復号する。なお、以下の説明において、「公開鍵で暗号化する」といった場合、文字通り公開鍵を用いて対象データを暗号化する場合のみならず、このようなセッション鍵を利用する暗号化処理場合もあるものとする。
【0026】
また、暗号・復号処理部108は、送信する文書データに対して電子署名を施したり、受信したデータに付された電子署名を検証したりする機能を備える。電子署名は、例えば署名対象の文書データからMD5(RFC1321)等の所定ダイジェスト方式に従って求めたメッセージダイジェストを、署名者の秘密鍵で暗号化することにより得られる。この電子署名の検証は、該署名データを署名者の公開鍵で復号し、その復号化結果が、署名対象の文書データから所定ダイジェスト方式に従って求めたメッセージダイジェストと一致するか否かを判定することにより行われる。一致すれば、該文書データが署名者からの真正なデータであることが証明されると共に、該文書データに対して改竄が加えられていないことが証明される。
【0027】
ここで暗号・復号処理部108は、該複合機10自身の秘密鍵を備え、該複合機10の電子署名を行うことができる。
【0028】
トークンI/F(インタフェース)110は、ユーザが保持するハードウエアトークンを受け入れ、このトークンと通信することで該ユーザの秘密鍵による電子署名を取得する機構である。ここでハードウエアトークンは、ユーザが携帯する小型の認証デバイスであり、ユーザの秘密鍵データを記憶する記憶チップと、署名対象のデータに対してユーザの秘密鍵を用いて暗号化を施すことにより署名データを生成する演算回路と、署名対象のデータの入力及び署名データの出力のためのインタフェース機構とを備える。ハードウエアトークンは、例えばICカードや、USB(Universal Serial Bus)等の各種有線インタフェース規格に対応したデバイス、或いはBluetooth等の各種無線インタフェース規格に対応したデバイスなどとして構成される。
【0029】
この構成では、通信制御部106は、文書データに対してユーザの電子署名を行う必要がある場合、例えばMD5などの方式に従ってその文書データのメッセージダイジェストを作成し、これをトークンI/F110に装着されたハードウエアトークンに入力する。ハードウエアトークンは、入力されたメッセージダイジェストを、保持しているユーザの秘密鍵で暗号化し、その暗号化処理結果(すなわちユーザの署名)を通信制御部106に返す。このユーザ署名を通信制御部106が文書データに付加することにより、文書データに対するユーザの電子署名が為される。
【0030】
以上ではユーザのハードウエアトークンを利用してユーザの電子署名を行う方式を説明したが、別の方式として、複合機10内にユーザの秘密鍵を予め保管しておき、この秘密鍵を用いて上述と同様の処理により該ユーザの電子署名を行う方式も可能である。この方式では、ユーザの秘密鍵保護のため、ユーザにパスワードやバイオメトリクス等の認証情報の入力を求め、これによりユーザ認証が成功した場合に限り、そのユーザの電子署名を認めるという制御を必須とする。ハードウエアトークンを用いる構成の場合、ユーザ署名が必要な連携ジョブを行うと、最悪の場合その連携ジョブが完了するまで複合機10にトークンをセットしたまま待っている必要があるが、複合機10に秘密鍵を保管する構成ではそのような待機は必要ない。逆に、ハードウエアトークンを用いる構成は、ユーザは、どの複合機その他の装置からでも、ユーザ署名が必要な連携ジョブを実行できるという利点がある。
【0031】
次に、連携処理サーバ20の構成について説明する。
【0032】
連携処理サーバ20において、ユーザ管理部202は、該サーバ20がサービス対象とするユーザについての各種情報を管理している。ユーザ管理部202が管理する情報には、例えばユーザの認証に用いる認証情報(パスワードやバイオメトリクス情報など)や、ユーザが登録しているUI画面情報などがある。すなわち、本実施形態のシステムでは、ネットワーク35上の各種サーバ装置が提供するサービスをユーザが組み合わせることで、ユーザ固有の連携ジョブを定義可能としており、これらユーザ固有の連携ジョブを指示できる該ユーザ固有のUI画面を連携処理サーバ20から提供するようにしている。なお、ユーザによる連携処理サーバ20への連携ジョブの登録処理や、連携処理サーバ20から複合機10に提供する各ユーザ固有のUI画面の情報については、本実施形態の要旨とは直接関係しないので説明を省略するが、これらについては本出願人による特願2002−275229号、特願2002−275230号、特願2002−275231号に開示されているので、必要があれば参照されたい。
【0033】
フロー制御部204は、ユーザが要求した連携ジョブを実現するために、連携ジョブにおいて規定されるフローに従って各サーバ25や複合機10に対して必要な処理の実行依頼を行う機能モジュールである。すなわち、連携ジョブは、各サーバ25や各複合機10(これもサーバの一種と見ることができる)が提供する1以上のサービス(単位ジョブ)からなるフローとして定義され、連携処理サーバ20は、このフロー定義に示される単位ジョブを順に対応するサーバに依頼していく。ここで、各サーバの処理結果は、必要に応じて連携処理サーバ20に返され、次の単位ジョブの処理対象データとして連携処理サーバ20から対応するサーバへと送信される。フロー制御部204は、このような各サーバ、複合機への処理依頼と、これに対する処理結果の取得などの処理を実行する。
【0034】
暗号・復号処理部206は、連携処理サーバ20からネットワーク35に送信する文書データに対して暗号化を行ったり、送信されてきた暗号化されたデータを復号したりする機能モジュールであり、暗号・復号処理部108と同等の暗号化、復号化、電子署名及びその検証の機能を有する。特に電子署名機能については、暗号・復号処理部206は、連携処理サーバ20の秘密鍵を備え、送信するデータに対して連携処理サーバ20の電子署名を付することができる。
【0035】
署名制御部208は、フロー制御部204による連携ジョブの実行において各処理サーバ25又は複合機10に送られる文書データに、該ジョブを発行したユーザの電子署名を施すための制御処理を実行する機能モジュールである。署名制御部208は、ユーザが、連携ジョブの結果出力される文書に対して該ユーザの電子署名を行う意志があるか否かを判断し、署名の意志があると判断した場合は、出力文書に対して該ユーザの署名が為されるように制御を行う。ユーザの署名の意志の有無の判断は、その連携ジョブについてのユーザの指示内容に基づき、行う。例えば、連携ジョブ実行指示の入力の際にユーザが自分の電子署名を行う旨の明示的な指示を行った場合や、ユーザが連携ジョブの対象として指定した文書に対し自己の電子署名を行っている場合や、ユーザが実行対象として選択した連携ジョブの中に、処理結果にユーザの電子署名を行うことが必要な単位ジョブが含まれる場合などには、ユーザの電子署名が必要と判断する。この判断により、ユーザ署名が必要と判定した場合は、その連携ジョブにおいて文書の出力を行う処理サーバ25に対して処理対象のデータを送る前に、そのデータを連携ジョブ発行元の複合機10に送り、ユーザの電子署名を依頼し、その結果複合機10から返されてくるユーザ署名付きのデータをその処理サーバ25に送信する。
【0036】
なお、連携ジョブの出力文書とは、該連携ジョブの実行過程内のみで用いられる途中結果の文書ではなく、該連携ジョブの外で利用される文書のことである。連携ジョブにおける出力文書には、例えば電子メールにより送信される文書、文書データベースに登録される文書、ファイルシステムに格納される文書、ネットワーク上の格納場所にアップロードされる文書、等がある。
【0037】
通信制御部212は、連携処理サーバ20とネットワーク35上の他の装置との通信のための各種制御処理を行う機能モジュールである。
【0038】
処理サーバ25は、該サーバが提供するサービスを実行するアプリケーションプログラム252と、ネットワーク35上の他の装置との通信のための制御処理を実行する通信制御部と、その通信の際の暗号化及び復号の処理を実行する暗号・復号処理部256とを備える。暗号・復号処理部256は、連携処理サーバ20の暗号・復号処理部206と同等の機能を備える。
【0039】
図3は、この文書処理システムにおいて、ユーザが連携ジョブの実行指示を入力の際に行われる処理の手順を示す。
【0040】
この処理では、まずユーザが複合機10に対し、自分のハードウエアトークンを接続したり、自分のユーザID、パスワードを入力する(S10)。この入力操作に応じ、複合機10の通信制御部106は、ハードウエアトークンから得た認証情報又は、ユーザID、パスワードを含んだ認証依頼データを作成し、これを暗号・復号処理部108により連携処理サーバ20の公開鍵で暗号化し、連携処理サーバ20に送信する(S12)。なお、この送信を実現するために、複合機10には、当該複合機10に対して連携ジョブ制御サービスを提供する連携処理サーバ20のアドレス情報が予め登録されている。
【0041】
この認証依頼を受け取った連携処理サーバ20は、その依頼データを復号し、その依頼に含まれる認証情報を用いて公知のユーザ認証処理を行う。そして、このユーザ認証が成功した場合には、ユーザ管理部202からそのユーザのUI画面情報を取り出し、これを暗号・復号処理部206により認証依頼元の複合機10の公開鍵で暗号化し、暗号化したUI画面情報を含む送信データを該複合機10に対して送信する(S20)。
【0042】
この暗号化されたUI画面情報を受け取った複合機10は、その情報に従って、当該ユーザ用のUI画面を構成し、これをUI102の画面に表示する(S14)。ここで、連携処理サーバ20から複合機10に提供するUI画面情報は、例えばXMLで記述することができ、複合機10のUI102は、このXML記述を解釈してUI画面を構成する。このUI画面は、GUI(グラフィカル・ユーザ・インタフェース)部品を用いて構成することができる。この場合、UI画面には、例えば、ユーザが予め登録した各連携ジョブを選択するためのアイコンや、選択した連携ジョブの処理パラメータを入力する入力欄などが含まれる。
【0043】
なお、ユーザが予め登録した連携ジョブの選択のためのUI画面では、各連携ジョブがそれぞれユーザの電子署名を要するか否かを示す情報を表示することが好適である。個々の登録連携ジョブがそれぞれどのような単位ジョブから構成されているかを示す定義情報がユーザ管理部202に登録されているので、ユーザ管理部202が、この定義情報にある各単位ジョブのユーザ署名要否を署名要否テーブル210で調べることで、連携ジョブにユーザ署名が必要か否かが判定できる。連携ジョブを構成する単位ジョブの中に一つでもユーザ署名を要するものがあれば、その連携ジョブにはユーザ署名が必要と判定すればよい。このような判定の結果を、UI画面に組み込んで表示することにより、ユーザに対して各連携ジョブがユーザ署名を要するか否かを知らせることができる。ユーザは、この表示により、各連携ジョブがユーザ署名を要するか否かを知ることができ、ユーザ署名を必要とする連携ジョブを実行したい場合は、ハードウエアトークンを複合機10に接続するなどの準備ができる。
【0044】
UI102は、表示したUI画面に対するユーザの選択指示や値の入力を受け付ける(S16)。この選択指示や値の入力により、ユーザが実行したい連携ジョブの内容が特定される。複合機10は、このUI102からの入力内容を反映した指示書データを作成し、この指示書データを暗号・復号処理部108により連携処理サーバ20の公開鍵で暗号化し、この暗号化した指示書データを含む送信データを連携処理サーバ20に対して送信する(S18)。この指示書データは、連携ジョブの内容を定義したものである。指示書には、ジョブを連携して実現されるサービスの処理内容が記述されている。尚、この指示書は、指示書サーバに予め蓄積しておいて、必要に応じてダウンロードする構成としても良い。
【0045】
本実施形態では、このUI102からのユーザの連携ジョブの指示入力において、該連携ジョブの出力文書に対して該ユーザの電子署名を行うか否かを指示することができる。
【0046】
また、本実施形態では、複合機10のスキャナから、連携ジョブの処理対象となる文書を読み込ませることができる。この場合、ステップS18では、指示書データに対し、処理対象として読み込んだ文書のデータを付加し、これら両者を連携処理サーバ20の公開鍵で暗号化した上で、連携処理サーバ20に対して送信する。
【0047】
ここで、本実施形態では、UI102からの指示入力により、複合機10のスキャナから読み込んだ文書に対して、ユーザの電子署名を付することができる。この指示入力がなされた場合、スキャナから読み込んだ文書に対し、ユーザがトークンI/F110に接続したハードウエアトークンを用いて、該ユーザの電子署名が施され、この電子署名付きの文書が連携処理サーバ20に送られることになる。
【0048】
複合機10から送信された暗号化された指示書データ(処理対象文書が付属する場合もある)を受け取った連携処理サーバ20はそのデータを復号し、これによって得られた指示書データをフロー制御部204に渡して連携ジョブの実行を開始する(S22)。
【0049】
なお、図3の例は、ユーザ用のUI画面の情報が連携処理サーバ20から複合機10に一度に提供される構成であったが、この代わりに、複合機10からの入力に応じて、ユーザ用の各UI画面が段階的に連携処理サーバ20から提供される構成でももちろん良い。
【0050】
なお、連携処理サーバ20におけるユーザ認証が失敗した場合は、認証失敗の旨の通知データが連携処理サーバ20から依頼元の複合機10に返され、複合機10はこの通知データに従ってエラー通知表示などの所定のエラー処理を実行する。
【0051】
図4は、ユーザの指示に応じて複合機10で作成される、連携ジョブ実行指示のための指示書データ300のデータ構造の一例を示す図である。
【0052】
この例では、指示書データ300は、サービス提供サーバの定義302と、ユーザ署名の指定303と、それら各サーバが実行する単位ジョブの定義304,306とから構成される。単位ジョブの定義304,306は、それら各単位ジョブの実行順序に応じた順番で配列される。
【0053】
サービス提供サーバの定義302は、連携ジョブを構成する各単位ジョブのサービスを提供する各サーバ25のサーバ名とそのURLとの対応関係を示す情報である。
【0054】
ユーザ署名の指定303は、この連携ジョブを指示したユーザが、出力文書に対して該ユーザの電子署名を行う旨の指示を行ったか否かを示す情報である。この指定303の値は、UI102から出力文書に対してユーザの電子署名を行う旨の指示を行ったか否かに基づき設定される。
【0055】
なお、1つの連携ジョブにおいて、例えば同じ文書を電子メールで送信し、かつファイルシステムに格納する場合のように、複数の文書出力が為される場合がある。このような場合には、出力文書に対してユーザ署名を行うか否かは、それら個々の出力ごとに指定できるようにすることが好適である。この場合、ユーザ署名の指定303には、各出力に対応して、それぞれユーザの電子署名の指定の有無が記録される。
【0056】
また、1つの連携ジョブにおける各文書出力に対して個別にユーザの電子署名の有無を設定する場合、その設定情報をユーザ署名の指定303としてまとめて記述する代わりに、次のような方式も可能である。すなわち、指示書において、ユーザの電子署名を施した文書を出力する単位ジョブ(電子メール送信やファイル格納など)の記述の前に、その文書に対してユーザの電子署名を行うためのジョブを記述するという方式である。このユーザの電子署名を施すためのジョブは、連携処理サーバ20で実行される。
【0057】
単位ジョブの定義304,306は、それら各単位ジョブの内容を示す定義データであり、例えば、その単位ジョブを実行するサーバのサーバ名や、そのサーバに対し該単位ジョブを指定するためのメソッド名(すなわちサーバとメソッドを指定することで単位ジョブが特定される)、及びそのメソッドに与える処理パラメータなどを含んでいる。処理パラメータには、例えば、そのメソッドの処理対象であるファイルの名称や、そのメソッドの処理結果に付すべきファイル名、その処理結果の送信先(電子メール送信ジョブの場合)や格納先(ファイル格納ジョブの場合)などがある。
【0058】
これらパラメータのうち、処理対象文書のファイル名と、処理結果文書のファイル名は、連携ジョブを構成する各単位ジョブの間で処理対象を受け渡していく際の流れを規定するのに用いることができる。すなわち、ある単位ジョブAの処理結果文書のファイル名と同じファイル名を、その後に実行する単位ジョブBの処理対象文書のファイル名に設定しておけば、単位ジョブBが単位ジョブAの処理結果に対して処理を行うように処理フローを規定できる。
【0059】
なお、このほかに処理パラメータには、例えば、画像を拡大/縮小する場合には拡大/縮小率が、解像度変換を行う場合は目標解像度などがある。
【0060】
指示書データ300は、例えばXMLで記述することができる。文書処理システムを構成するサーバや複合機などの各装置をXML対応とすれば、XMLで記述した指示書を用いることで、それら各装置に処理を依頼することができる。
【0061】
なお、連携処理サーバ20から複合機10に提供するUI画面のデータに対し、ユーザが選択可能な連携ジョブの定義データのテンプレートを含めておけば、複合機10はそのテンプレートに対して、ユーザが入力した各種処理パラメータを設定することで、指示書データ300を作成することができる。
【0062】
図5は、このような指示書データ(及びこれに付随する処理対象文書データ(もしあれば))を受け取った連携処理サーバ20が行う連携ジョブ制御処理の手順を示すフローチャートである。
【0063】
この処理において、連携ジョブを開始すると、フロー制御部204はまず指示書の先頭の単位ジョブの定義を取り出し(S30)、その単位ジョブが、ユーザ署名を施した文書を出力するジョブであるか否かを判定する(S32)。この判定では、例えば単位ジョブの定義からそのジョブが文書の出力を行うジョブであるか否かを判定し、更に指示書データ300におけるユーザ署名の指定303や、指示書と共に受信した処理対象文書にユーザの電子署名が施されているか否かに基づき、そのジョブに渡すべき出力対象の文書にユーザの電子署名が必要か否かを判定する。この判定のため、連携処理サーバ20は、各単位ジョブが文書の出力を行うジョブであるか否かの判断基準の情報を保持している。
【0064】
この判定で、当該単位ジョブの実行に当たりユーザ署名が不要と判定された場合は、フロー制御部204は、当該単位ジョブの実行を指示する指示書を作成し、この指示書と、その単位ジョブの処理対象の文書とを、依頼先のサーバに対して送信する(S50)。このとき、送信する指示書と処理対象文書は、依頼先サーバの公開鍵で暗号化する。なお、依頼する単位ジョブの内容が、例えばデータベースからの文書取り出しなどであれば、連携処理サーバ20から送るべき処理対象の文書は存在しないので、この場合は指示書のみを送信することとなる。
【0065】
連携処理サーバ20から各サーバ25に送信する、単位ジョブ実行依頼のための指示書のデータ構造例を図6に示す。この単位ジョブ依頼の指示書400は、連携ジョブ全体の指示書300における当該単位ジョブの定義に基づき作成され、該定義に示された処理メソッド名402や、そのメソッドの処理パラメータ404を含む。また、指示書400には、当該連携処理サーバ20のアドレス情報(及び、必要に応じて、当該連携ジョブを示す識別情報)が、単位ジョブの処理結果を返す返信先情報406として付加される。依頼先の情報は、処理結果のデータを、この返信先情報406に示される宛先に向かって返信する。依頼先のサーバから連携処理サーバ20に返される処理結果は、単なる単位ジョブの成功、失敗などのステータス情報だけのこともあれば、処理対象として与えた文書に対し単位ジョブの処理を施した結果生成された処理結果文書のデータを含むこともある。前者は例えば電子メール送信や文書格納などの単位ジョブに対する処理結果に該当し、後者は例えばOCRや画像回転などの単位ジョブに対する処理結果に該当する。
【0066】
ここで、例えば、図1及び図3の例でサーバBに対して「ページばらし」をして先頭ページを取り出してから、その先頭ページの画像を90度「回転」させるなどいうように、同じサーバに対して複数の単位ジョブを連続して行わせる場合も考えられる。これを実現する1つの方法としては、連携処理サーバ20が、まず「ページばらし」の依頼をサーバBに出し、その結果である先頭ページのデータをサーバBから受け取り、その先頭ページのデータを処理対象としてサーバBに対し「回転」を依頼するという方法が可能である。この場合、サーバBに対して送る指示書は、図6のデータ構成でよい。ただし、この方法は、連携処理サーバ20とサーバBとの間のデータ通信量が多くなるという問題がある。
【0067】
そこで、このような場合に連携処理サーバ20と依頼先サーバとの間のデータ通信量を削減する方法として、次のような方法がある。すなわち、同じサーバに対して連続して複数の単位ジョブを実行させる場合は、それら複数の単位ジョブとその流れを規定した指示書を作成し、依頼先サーバに送るという方法である。この場合、指示書は、依頼先に実行させたい単位ジョブを示す処理メソッド402とその処理パラメータ404の組を、各単位ジョブの実行順序に順番に従って並べ、これに返信先情報408を加えた形となる。
【0068】
なお、このように一連の単位ジョブの実行を1つの指示書でまとめて指示する場合、ステップS32のユーザ署名要否の判定では、それら一連の単位ジョブの中に一つでもユーザ署名を要するものがあれば、その依頼先が処理に際してユーザ署名を要すると判断すればよい。
【0069】
このように作成した指示書(及びもしあるならば処理対象文書)を依頼先サーバに送信すると、フロー制御部204は、その指示書による依頼の処理結果を待ち受ける。そして、依頼先サーバからその処理結果を受信すると(S52)、その処理結果を認識し、さらにその処理結果に、処理対象文書を処理した結果である処理結果文書が含まれる場合は、それを後の単位ジョブの処理対象として用いるために保管する。そして、フロー制御部204は、連携ジョブの指示書300に示された最後の単位ジョブまで処理が終了したかどうかを検査し(S54)、終了していなければステップS30に戻って、未処理の最先の単位ジョブの処理を行う。
【0070】
ステップS32で、次に実行する単位ジョブ(又は一連の単位ジョブのうちの少なくとも1つ)のために依頼先のサーバに送信すべき出力対象文書に、連携ジョブ発行元のユーザの電子署名を必要とすると判定した場合、署名制御部208は、その依頼先サーバに送信する出力対象文書を、暗号/復号処理部206に複合機10の公開鍵で暗号化させ(S34)、その複合機10に対してその送信データに対するユーザの電子署名を依頼する(S36)。この依頼は、ユーザの電子署名を指示する指示書と、その署名の対象となる文書データを含んでいる。
【0071】
この署名依頼を受け取った複合機10は、その中に含まれる暗号化された文書データを自らの秘密鍵で復号する。そして、トークンI/F110にユーザのハードウエアトークンがセットされているか否かを判定し(S40)、セットされていれば、復号により得られた平文の送信データのメッセージダイジェストを作成し、これをハードウエアトークンに入力してユーザの電子署名を作成させる。そして、この結果得られた電子署名を平文の送信データに付加することで、ユーザ署名済みの送信データを作成し、これを連携処理サーバ20の公開鍵で暗号化して連携処理サーバ20に送信する(S44)。
【0072】
ステップS40で、トークンI/F110にハードウエアトークンが接続されていないと判定した場合は、複合機10はUI102の画面に、ハードウエアトークンを接続する必要がある旨のメッセージを表示し(S42)、ユーザのトークン接続を促す。なお、複合機10にユーザの秘密鍵を保管しておく構成の場合、ステップS40及びS42の処理は不要である。
【0073】
このようにして複合機10からユーザの電子署名付きの送信データを受け取ると、連携処理サーバ20は、それを依頼先サーバに送信して処理依頼を行い(S50)、その処理結果を待つ(S52)。
【0074】
連携処理サーバ20は、以上の処理を、複合機10から受け取った連携ジョブ全体の指示書に示される最後の単位ジョブの処理が完了するまで繰り返す(S54)。
【0075】
以上の処理によれば、ユーザ署名を施すべきと判定される文書を出力する単位ジョブを依頼先サーバに実行させる際に、その文書に対してユーザの電子署名を付することができるので、ユーザの電子署名の指示に対応して出力文書に電子署名を施すことができる。
【0076】
次に、図7を参照して、以上に説明した文書処理システムにおける文書処理の流れの具体例を説明する。この図において、サーバ22は、複数のページからなる文書から、指示書で指定されたページやページ群を抜き出すという単位ジョブを実行することができるものとする。またサーバ26は、受け取った文書を指示書で指定された宛先に電子メールで送信する単位ジョブと、受け取った文書を指示書で指定されたディレクトリに格納する単位ジョブを実行することができるものとする。
【0077】
このようなシステムに対し、ユーザが複合機10から「複数ページある紙のレポートを複合機10で読み取り、その読取結果である複数ページの文書データからサーバ22で先頭ページのみを抽出し、該ユーザの上司にはその先頭ページのみを電子メールで送信し、同僚にはレポート全部のデータを電子メールで送信し、更にそのレポート全部のデータをファイルシステムの所定ディレクトリに格納する」という連携ジョブの実行指示を行ったとする。そして、この実行指示の際に、ユーザが、上司宛及び同僚宛に電子メールで送信する文書に対して該ユーザの電子署名を施す旨の指示を行ったとする。この場合、図7のシステムでは以下のような処理が行われる。なお、このシステムでは、前述のごとく、複合機や各サーバの間で送信されるデータには、送信先の公開鍵による暗号化が施されるものとし、以下の説明では繁雑さをさけるため、このような暗号化及びこれに対応する復号の処理の説明は省略する。
【0078】
(1)複合機10から連携処理サーバ20に対し、上記の指示内容を示す指示書が送信され、更にこの指示書による処理の対象の文書として、該複合機10のスキャナで読み込んだレポートの読み取り結果のファイルが送信される。
【0079】
(2)連携処理サーバ20は、連携ジョブの指示書から先頭ページの抽出という単位ジョブを検出し、これに応じてそのジョブを示す指示書を作成し、これをレポート読取結果のファイルと共にサーバ22に送信する。
【0080】
(3)サーバ22は、受け取った指示書に従って、そのファイルから先頭ページのデータを抽出し、これを1つのファイルとして連携処理サーバ20に返す。
【0081】
(4)連携処理サーバ20は、連携ジョブの指示書から、上司宛(指示書には該上司のメールアドレスが記述されている)に先頭ページのファイルを含んだ電子メールを送信するという単位ジョブを検出する。ここで、連携処理サーバ20は、ユーザ署名の指定303等の情報から、この単位ジョブが、文書に対して自分の電子署名を行う旨の指示されているジョブであることが判断できる。そこで、連携処理サーバ20は、その先頭ページのファイルと、このファイルに対してユーザの電子署名を行う旨の指示を記述した指示書とを複合機10に送信する。
【0082】
(5)複合機10は、送られてきた先頭ページのファイルに対し、指示書に従ってユーザの電子署名を施し、この電子署名済みの先頭ページのファイルを連携処理サーバ20に返す。
【0083】
(6)連携処理サーバ20は、この電子署名済みの先頭ページのファイルを複合機10から受け取ると、ユーザの上司のアドレスに送信する旨の指示書を作成し、これをその署名済みファイルと共にサーバ26に送信する。
【0084】
サーバ26は、その指示書に従い、その署名済みファイルを添付した電子メールを作成し、これを指示された上司のアドレスに対して送信する。
【0085】
(7)連携処理サーバ20は、連携ジョブの指示書から、同僚宛(指示書には同僚のメールアドレスが記述されている)にレポート読取結果のファイルを含んだ電子メールを送信するという単位ジョブを検出する。ここで、連携処理サーバ20は、この単位ジョブで出力する文書に対してユーザの電子署名を行う必要があると判断できるので、そのレポート読取結果のファイルと、このファイルに対してユーザの電子署名を行う旨の指示を記述した指示書とを複合機10に送信する。
【0086】
(8)複合機10は、送られてきたファイルに対し、指示書に従ってユーザの電子署名を施し、この電子署名済みのファイルを連携処理サーバ20に返す。
【0087】
(9)連携処理サーバ20は、この電子署名済みファイルを複合機10から受け取ると、ユーザの同僚のアドレスに送信する旨の指示書を作成し、これをその署名済みファイルと共にサーバ26に送信する。
【0088】
サーバ26は、その指示書に従い、その署名済みファイルを添付した電子メールを作成し、これを指示された同僚のアドレスに対して送信する。
【0089】
(10)連携処理サーバ20は、連携ジョブの指示書から、レポート読取結果のファイルを所定のディレクトリに格納する旨の単位ジョブを検出する。この単位ジョブは、文書出力を行うジョブではあるものの、ユーザ署名を施す旨の指定がなされていないので、ユーザ署名のための処理は行わない。連携処理サーバ20は、その格納ジョブを示す指示書を作成し、これをそのレポート読取結果のファイルと共にサーバ26に送信する。これを受け取ったサーバ26は、その指示書に従って、レポート読取結果のファイルを指示されたディレクトリに格納する。なお、この格納処理を行うジョブ処理部を連携処理サーバ20内に持たせ、この連携処理サーバ20内で格納のための処理を行い、サーバ26に蓄積させることも可能である。
【0090】
以上の説明では、ユーザが、連携ジョブの実行指示時に、出力文書に対してユーザの電子署名を行う旨を指定した場合の流れを説明した。これに対し、ユーザが複合機10でレポート読取結果自体にユーザの電子署名を施し、これを連携ジョブの処理対象として連携処理サーバ20に送信する場合も考えられる。このような場合、連携処理サーバ20は、その処理対象のファイルに施されたユーザ自身の電子署名を検出すると、該連携ジョブの出力文書に対してユーザの電子署名を施すべきと判断し、文書出力を行う単位ジョブの前に出力文書を複合機10に送ってユーザ署名を行わせる。
【0091】
以上、本発明の好適な実施の形態を説明した。本実施形態によれば、様々なサーバを介して一連の処理が実行される文書処理システムにおいて、ユーザが個人署名を施した上で出力したい文書を、適切にその個人署名を施した上で出力することができる。
以上では、処理対象の文書を、連携ジョブ実行指示を入力する複合機10から読み込んだが、この他に連携ジョブの過程で、いずれかのサーバが保持している文書を取得し、これを処理対象として以降の処理を進めていく場合がある。本実施形態では、このような場合でも、ユーザが連携ジョブ実行指示の際に、出力文書に自分の電子署名を施す旨の指示を行っていれば、上述の手順により出力文書に対して該ユーザの電子署名が施される。
【0092】
以上の説明では、ユーザが、出力文書に電子署名を付して出力したい場合に、その旨を指示する場合の構成を説明した。この他に、ジョブ自身の性質として、そのジョブの出力文書に対してユーザの電子署名を付与する必要がある場合を想定することもできる。例えば、ある企業においては、注文書データに対しては、改竄防止や悪用防止などのために、その注文書を作成したユーザの電子署名を付すというポリシーを採用していたとする。このような場合に対応できる文書処理システムの変形例を以下説明する。
【0093】
この変形例のシステムの概略は、図2に示した構成と同様でよい。ただし、この変形例では、図8に示すような、各単位ジョブがその処理結果にユーザの電子署名を要するか否かを示す署名要否テーブルが連携処理サーバ20に登録されている。この例では、サーバDによる注文書作成ジョブが、処理結果の文書(注文書)に対するユーザ署名を要するものと設定されている。
【0094】
図9は、このシステムにおける連携処理の手順を示した図である。図9に示す処理は、図5に示した連携処理のステップS52とS54との間に挿入されるものである。
【0095】
この手順では、連携処理サーバ20は、処理依頼先から単位ジョブの処理結果を受け取ると(ステップS52。図5参照)、その単位ジョブが、処理結果文書に対するユーザ署名を要するか否かを署名要否テーブル210を参照して判定する(S60)。これにより処理結果文書に対するユーザ署名を要すると判定した場合、連携処理サーバ20は、その処理結果文書を、連携ジョブ発行元の複合機10の公開鍵で暗号化し(S62)、ユーザ署名を施す旨の指示書と共にその複合機10に送信する(S64)。
【0096】
この署名依頼を受け取った複合機10は、その中に含まれる暗号化された処理結果文書を自らの秘密鍵で復号する。そして、トークンI/F110にユーザのハードウエアトークンがセットされているか否かを判定し(S70)、セットされていれば、このハードウエアトークンに対しユーザの電子署名を作成させ、この結果得られた電子署名を処理結果文書に付加し、これを連携処理サーバ20の公開鍵で暗号化して連携処理サーバ20に送信する(S74)。ステップS70で、トークンI/F110にハードウエアトークンが接続されていない場合は、複合機10は、ユーザに対しハードウエアトークン接続を促す(S72)。
【0097】
このようにして複合機10からユーザ署名済みの処理結果文書を受け取った場合、連携処理サーバ20は、それを当該単位ジョブの処理結果として(すなわちその単位ジョブの処理結果のファイル名として指定されたファイル名で)保存し(S66)、後の単位ジョブでの使用に供する。
【0098】
この処理によれば、依頼先の処理結果に対してユーザ署名を施す必要がある場合に、それを実現することができる。図10は、この処理の具体例を説明するための図である。図10に示す文書処理システムは、複合機10、連携処理サーバ20、OCRサーバ41,注文書作成サーバ43,及びメールサーバ47から構成されている。このうち、注文書作成サーバ43の注文書作成処理で作成された文書(注文書)に対してのみユーザ署名が必要であり、その他の状況ではいっさいユーザ署名が必要とされていないものとする。
【0099】
このような構成において、複合機10から「紙に印刷された見積書を複合機10で読み取り、その読取結果をOCRサーバ41で文字認識し、その文字認識結果から求めた商品や価格などのデータに基づき注文書作成サーバ43で注文書データを作成し、その注文書データをメールサーバ47から注文先に電子メールで送信する」という連携ジョブの実行指示が為された場合の処理を、図10を参照して説明する。
【0100】
(1)複合機10から連携処理サーバ20に対し、該複合機10で読み取った見積書の画像データ(処理対象文書)と、上記の連携ジョブを定義する指示書とが送信される。
【0101】
(2)連携処理サーバ20は、OCR処理を指示する指示書を作成し、この指示書と見積書の画像データをOCRサーバ41に送る。
【0102】
(3)OCRサーバ41は、この指示書に従って見積書画像の文字認識を行い、その結果のテキストファイルを連携処理サーバ20に返す。
【0103】
(4)連携処理サーバ20は、注文書作成を指示する指示書を作成し、この指示書と見積書の文字情報のテキストファイルとを注文書作成サーバ43に送る。
【0104】
(5)注文書作成サーバ43は、この指示書に従い、テキストファイルの情報から注文書ファイルを作成し、これを連携処理サーバ20に返す。
【0105】
(6)連携処理サーバ20は、この注文書作成処理の結果の注文書に対してユーザの電子署名が必要であることが分かっているので、その注文書に対してユーザ署名を施す旨を指示する指示書を作成し、この指示書を注文書と共に複合機10に送る。
【0106】
(7)複合機10は、この指示書に従い、処理対象文書である注文書にユーザの電子署名を施し、ユーザ署名付きの注文書を連携処理サーバ20に返す。
【0107】
(8)連携処理サーバ20は、ユーザ署名済みの注文書を添付文書とした注文メールを所定の注文先メールアドレスに送信する旨の指示書を作成し、この指示書とユーザ署名済み注文書をメールサーバ47に送る。この指示書を受け取ったメールサーバ47は、その指示に従って注文メールを作成し、指示された送信先に対して送信する。なお、この結果注文先に送られる注文書データは、注文書発行元のユーザの署名が付されており、注文先はこれを検証することができる。
【0108】
このように、本実施形態では、連携ジョブを構成するあるジョブの処理結果の文書がユーザ署名を要する場合、連携処理サーバ20がその処理結果文書を連携ジョブ入力元の複合機10に送り、その処理結果文書に対してユーザ署名を施すことができる。
【0109】
また、上記実施形態では、連携ジョブ発行元のユーザの電子署名は、そのユーザが該連携ジョブの実行指示を行った複合機10にて行った。これは、ユーザのハードウエアトークンや該複合機10が内蔵する秘密鍵で電子署名を行うことを想定したシステムである。しかし、別のシステム構成として、図11に示すように、ネットワーク上に署名サーバ50を設ける構成も可能である。なお、図11のシステム構成は、署名サーバ50以外は図1に示す構成と同じである。
【0110】
この構成において、署名サーバ50は、ユーザの秘密鍵を保管し、外部からの署名依頼に応じてそのユーザの秘密鍵により電子署名を施す署名サービスを提供する。連携処理サーバ20は、出力文書にユーザ署名が必要な場合に、上記実施形態における複合機10の代わりに、この署名サーバ50に対して署名対象のデータを送ってユーザ署名を依頼する。
【0111】
この場合、ユーザ以外の者からの指示でそのユーザの電子署名を付することができると問題となるので、署名サーバ50は、ユーザ認証を行った上で該ユーザの電子署名を行う構成とする。ユーザ認証は、例えば、複合機10からユーザが入力した認証情報を、ユーザ署名を依頼する際に、連携処理サーバ20が署名サーバ50の公開鍵で暗号化して署名サーバ50に送信する、等の手続で行うことができる。
【0112】
また、別の方式としては、署名サーバ50に対する署名依頼の指示書と署名対象の文書とを、いったん連携処理サーバ20から複合機10に送ってユーザの簡易的な電子署名を行わせ、この簡易的な電子署名を施した指示書及び署名対象文書を署名サーバ50に送るという方式が考えられる。この場合、署名サーバ50は、その簡易的な電子署名によりユーザの正当性と文書の非改竄を確認し、その上で該ユーザの正式な電子署名を文書に施す。この方式には、例えば、複合機10には社内の認証局が発行した社内用のユーザ秘密鍵を保管し、署名サーバ50には、より公的信用度の高い認証局が発行した公用のユーザ秘密鍵を保管し、公用のユーザ署名が必要な場合に、上記の手順で署名サーバ50に署名依頼を行うというような使い方が考えられる。
【0113】
このように署名サーバ50を利用するシステム構成では、ユーザは、システム上のどの複合機からでも、ユーザ署名が必要な連携ジョブを実行できるという利点と、連携ジョブが完了するまでユーザが複合機のところで待たなくて良いという利点の双方を得ることができる。
【0114】
なお、この場合、ユーザの秘密鍵を署名サーバ50に永久的に保管する構成の他に、必要が生じた場合に、ユーザからネットワークを介して署名サーバ50に対し、必要な期間の間、ユーザ秘密鍵の保管とこの秘密鍵によるユーザ署名の代行を依頼する構成も可能である。この場合、ユーザから署名サーバ50に送信する秘密鍵や依頼データは、暗号化処理等により秘密を確保する。ユーザは、例えば出張先からこのシステムを利用したい場合に、自分のオフィスにある複合機10に保管された秘密鍵を署名サーバ50に送り、出張期間の間の署名代行を依頼する、というような使用法が考えられる。このように署名サーバ50がユーザの署名を代行する期間を限定することで、署名悪用の可能性を低減することができる。
【0115】
また、上記実施形態では、連携ジョブの実行を1つの連携処理サーバ20が制御したが、図12に示すように複数の連携処理サーバ20−1,20−2が連携して1つの連携ジョブを実現することもできる。図12の例は、連携処理サーバ20−1が複合機10,サーバ22,24及び26を制御し、連携処理サーバ20−2が複合機12,サーバ28及び29を制御する構成となっている。ユーザが複合機10から連携処理サーバ20−1に対して連携ジョブの実行を指示すると、連携処理サーバ20−1は、上記実施形態で説明したように連携ジョブの指示書の単位ジョブを先頭から順に対応のサーバに依頼していく。そして、この流れの中で連携処理サーバ20−2が制御する複合機12,サーバ28及び29で実行される一連の単位ジョブを見つけると、それら一連の単位ジョブを部分連携ジョブとし、その実行を指示する指示書を作成して連携処理サーバ20−2に送信し、その処理を依頼する。連携処理サーバ20−2に送る指示書には、ユーザ署名の指定303の情報(又はそのうち連携処理サーバ20−2に関連する部分)が含まれる。このような構成において、サーバ28,29、複合機12から出力する文書がユーザ署名を必要とすると連携処理サーバ20−2が判定した場合、連携処理サーバ20−2から該連携ジョブ発行元の複合機10に対してユーザの電子署名を依頼する。このためには、連携ジョブ発行元の複合機10を示す情報を、連携処理サーバ20−1から連携処理サーバ20−2に送る部分連携ジョブの指示書等に組み込んでおけばよい。また、ユーザ署名が必要な場合に、連携処理サーバ20−2から連携処理サーバ20−1に対してユーザ署名取得依頼を行い、この依頼に応じて連携処理サーバ20−1が連携ジョブ発行元の複写機10にユーザ署名の付与を依頼する構成も可能である。
【0116】
このような連携処理サーバ同士の連携を拡張すると、図13に示すようなシステム構成も考えられる。このシステム構成は、複合機10と、複数のサーバ62,64,66,68から構成されている。各サーバ62〜68は、他のサーバや複合機から入力される指示書を解釈し、その指示書の先頭の単位ジョブから順に、自装置が処理担当に指定されていない単位ジョブを検出するまでの各単位ジョブを順に処理する。自装置が処理担当かどうかは、各単位ジョブの処理パラメータに示される依頼先サーバ名の記述から分かる。そして各サーバ62〜68は、その処理が終わると、指示書から今回処理した単位ジョブの記述を削除することで指示書を更新し、この更新後の指示書の先頭の単位ジョブの処理担当に指定されているサーバ62〜68に対し、その更新後の指示書と、その処理の結果の文書を送信して処理を依頼する。ここで送信する処理結果文書は、次のサーバ62〜68での処理対象となる。このような指示書による処理依頼を各サーバ間で連携することで、一連の連携ジョブが実現される。ここで、サーバ62は、複合機10に対する連携ジョブサービスの窓口となるサーバであり、複合機10に対して連携ジョブ指示用のUI画面情報を提供する。図13は、複合機10からサーバ62,64,66,68の順に処理依頼が行われ、連携ジョブが実現される例を示している。
【0117】
このようなシステムにおいて、各サーバ62〜68は、連携ジョブの指示書に示されたユーザ署名の指定303(又はこれと同様の情報を示す単位ジョブの記述)から、次に処理を依頼するサーバに対して送る出力対象の文書にユーザの電子署名が必要か否かを判定し、必要と判定した場合は、次のサーバに送信する出力対象文書を複合機10に送ってユーザ署名を依頼し、その結果複合機10から返されてくるユーザ署名済みの文書を次のサーバに送信する。
【0118】
また、このように文書出力を行うサーバの前段のサーバがユーザ署名取得のための処理を行う代わりに、文書出力を行うサーバ自体がその出力の前にその文書に対するユーザ署名の取得処理を行う構成とすることもできる。すなわち、各サーバ62〜68は、連携ジョブの指示書におけるユーザ署名の指定303(又はこれと同様の情報を示す単位ジョブの記述)に基づき、その指示書と共に受け取った出力対象の文書データに対して、該連携ジョブ発行元のユーザの電子署名が必要か否かを判定し、必要と判定した場合は、その処理結果文書を複合機10に送ってユーザ署名を依頼し、その結果複合機10から返されてくるユーザ署名済みの文書に対し、指示書に示される所定の出力処理を行う。
【0119】
また、以上の実施形態では、連携ジョブの実行指示は複合機から行われたが、これに限らず、ネットワーク上のパーソナルコンピュータその他の装置から連携ジョブの実行指示を行うことも可能である。
【図面の簡単な説明】
【図1】本発明に係る文書処理システムの概略構成を示す図である。
【図2】複合機、連携処理サーバ、及び各種サーバの詳細構成を説明するための図である。
【図3】文書処理システムにおいて、ユーザが連携ジョブの実行指示を入力の際に行われる処理の手順を示すフローチャートである。
【図4】連携ジョブを指示する指示書のデータ構造の一例を示す図である。
【図5】連携処理サーバが行う連携ジョブ制御処理の手順を示すフローチャートである。
【図6】連携処理サーバが処理依頼先のサーバに送る指示書のデータ構造の一例を示す図である。
【図7】実施形態の文書処理システムにおける文書処理の流れの具体例を説明するための図である。
【図8】署名要否テーブルの例を説明するための図である。
【図9】変形例の文書処理システムにおける連携処理サーバの連携制御処理の手順を示すフローチャートである。
【図10】変形例における文書処理の流れの具体例を説明するための図である。
【図11】ユーザ署名の代行サービスを提供する署名サーバを備えた文書処理システムの例を示す図である。
【図12】複数の連携処理サーバを備えた文書処理システムの例を示す図である。
【図13】サーバからサーバへと順に指示や処理対象を受け渡して連携ジョブを実現する方式の文書処理システムを示す図である。
【符号の説明】
10 複合機A、12 複合機B、20 連携処理サーバ、22 サーバA、24 サーバB、26 サーバC、30 インターネット。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a technology for cooperative service processing that realizes various cooperative processes by cooperating various services existing on a network, and particularly to a security technology in the cooperative service process.
[0002]
[Prior art]
Various services for office work by connecting a scanner, facsimile machine, printer, copier, and multifunction machine integrating those functions to a LAN (local area network) and linking it with an information processing device such as a personal computer or mail server. Has been proposed.
[0003]
In recent years, a technique for linking various web applications scattered on the Internet has been proposed. If one system can be configured by connecting application services provided by various providers on the Internet, various existing services can be used, and it is expected that system development costs can be significantly reduced. In addition, languages such as XML (extensible Markup Language) have attracted attention as a common base for realizing such cooperative services.
[0004]
Further, as a conventional workflow system, those shown in Patent Literature 1, Patent Literature 2, and Patent Literature 3 are known.
[0005]
[Patent Document 1]
JP 08-123744 A
[Patent Document 2]
JP 2002-096686 A
[Patent Document 3]
JP 2001-282970 A
[0006]
[Problems to be solved by the invention]
When a workflow is configured using a service on the Internet, a document to be processed or a processing result flows on the Internet. However, conventional workflow systems do not pay attention to the security of documents flowing through such networks.
[0007]
Further, in the case of such a system that realizes one process by linking various services, how to handle a user's electronic signature becomes a problem.
[0008]
For example, even if a user inputs a digital signature on a document input, if the digital signature is sent to a service on a network and processed, the document is decrypted for processing in an intermediate service. There is a problem that the electronic signature is lost, or the content of the document to be subjected to the electronic signature changes as a result of the processing, and the electronic signature attached first by the user becomes meaningless.
[0009]
In such a system, a document obtained by a service on a network during a series of services may be included in a final processing result document. However, a conventional system cannot apply a digital signature to a document that is not in the device operated by the user.
[0010]
The present invention has been made in view of such a problem, and in a system in which a plurality of devices cooperate to realize a series of processes, such as a workflow, a user wants to apply a digital signature to a document or a user as a service. An object of the present invention is to provide a mechanism for appropriately applying an electronic signature to data that requires a signature or a signature of a service issuing device.
[0011]
[Means for Solving the Problems]
In order to achieve the above object, the present invention provides a job processing control device that executes a service realized by coordinating job processing using a job processing device on a network. Deciding means for deciding whether or not to issue the electronic signature of the issuer; and, if the deciding means decides to perform the electronic signature, the processing target data to be subjected to the job processing for outputting the processing result of the service, A job processing control apparatus comprising: a signature unit that executes a process for applying a digital signature of a service issuer.
[0012]
In a preferred aspect of the present invention, the deciding unit decides according to an instruction of a user who instructs execution of the service.
[0013]
In another preferred aspect, the job processing control device includes instruction data input means for inputting instruction data describing service processing content from a service issuing device instructed to execute the service, and The means determines that an electronic signature is to be applied to the output result of the service when the instruction data input by the instruction data input means is digitally signed by the service issuer.
[0014]
In another preferred aspect, the job processing control device includes a processing target data input unit configured to input processing target data to be subjected to job processing for realizing the service from the service issuing device instructed to execute the service, The deciding means decides that an electronic signature is to be applied to an output result of the service when the processing target data input by the processing target data input means is provided with an electronic signature of a service issuer.
[0015]
In a preferred aspect of the present invention, the signature unit transmits the processing target data to a service issuing device to which a service has been issued, and receives a result of applying a digital signature of a service issuer to the processing target data. .
[0016]
In another preferred aspect, the signature unit transfers the data to be processed to a signature server on a network, and receives a result of applying a digital signature of a service issuer to the data to be processed.
[0017]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention (hereinafter, referred to as embodiments) will be described with reference to the drawings.
[0018]
FIG. 1 is a diagram showing a schematic configuration of a document processing system according to the present invention. In this example, the document processing system includes a multifunction peripheral A10, a multifunction peripheral B12, a cooperative processing server 20, a server A22, a server B24, and a server C26. Among these, the multifunction peripheral A10, the cooperative processing server 20, the server A22, the server B24, and the server C26 are connected to the same LAN (local area network), and the remaining multifunction peripheral B12 is connected to this LAN via the Internet 30. Have been.
[0019]
Among them, the multifunction peripheral A10 and the multifunction peripheral B12 are devices having functions such as a scanner, a printer, a copier, and a facsimile.
[0020]
The servers A22, B24, and C26 are servers that provide processing services for document data in the form of, for example, web application services. Each of these servers can execute one or more types of jobs (services). Note that the multifunction peripherals A10 and B12 can also be regarded as a type of server that provides a scan service, a print service, and the like.
[0021]
The cooperative processing server 20 realizes a cooperative service in which services provided by the respective multifunction devices and servers are cooperated by requesting the multifunction devices and servers to perform processing according to an appropriate processing flow.
[0022]
Each of these MFPs and each server has its own private key and public key in the public key cryptosystem. Each of the multifunction peripherals and each server holds a public key of another multifunction peripheral or a server, or a public key of another multifunction peripheral or a server on a network as required. (Omitted). When transmitting the document data to the other party, the document data is encrypted using the public key of the other party to protect the secret of the document data.
[0023]
Next, a detailed configuration of the MFP 10, the cooperative processing server 20, and the various servers 25 will be described with reference to FIG. Note that the MFP 10 corresponds to the MFPs A10 and B12 in FIG. 1, and the server 25 corresponds to the servers A22, B24, and C26 that provide various services illustrated in FIG.
[0024]
First, in the multifunction peripheral 10, a UI (user interface) 102 is a user interface mechanism that displays a state of the multifunction peripheral 10, an operation menu, and the like, and receives a user's selection and parameter input thereto. It has numeric key buttons and various control buttons (copy start button, etc.). The various processing modules 104 are function modules that realize a scan function, a print function, a copy function, a facsimile transmission / reception function, and the like. These processing modules 104 include hardware such as a scan engine, a print engine, and a facsimile machine, It is composed of a combination of software that controls the software. The communication control unit 106 is a functional module that performs various control processes for communication between the MFP 10 and other devices on the network 35 such as a LAN.
[0025]
The encryption / decryption processing unit 108 is a functional module that encrypts document data transmitted from the multifunction peripheral 10 to the network 35, and decrypts transmitted encrypted data. Here, the encryption / decryption processing unit 108 supports a public key encryption method. As an example of the encryption processing used by the encryption / decryption processing unit 108, target document data is encrypted using a session key (common key) generated by a random number or the like, and this session key is used as a public key of the transmission destination. A process of encrypting and transmitting both encrypted data to a destination can be cited. The receiving side obtains a session key by decrypting the received data with its own private key, and decrypts the encrypted document data with the session key. In the following description, the phrase "encrypt with a public key" means not only the case where the target data is literally encrypted with the public key but also the case where such a session key is used for the encryption processing. And
[0026]
Further, the encryption / decryption processing unit 108 has a function of applying an electronic signature to the document data to be transmitted and verifying the electronic signature attached to the received data. The electronic signature is obtained by encrypting a message digest obtained from document data to be signed according to a predetermined digest method such as MD5 (RFC1321) using a signer's private key. The verification of the electronic signature is performed by decrypting the signature data with the public key of the signer and determining whether or not the decryption result matches a message digest obtained from the document data to be signed according to a predetermined digest method. Is performed by If they match, it is proved that the document data is genuine data from the signer, and that the document data has not been tampered with.
[0027]
Here, the encryption / decryption processing unit 108 has a secret key of the multifunction peripheral 10 itself, and can perform an electronic signature of the multifunction peripheral 10.
[0028]
The token I / F (interface) 110 is a mechanism that accepts a hardware token held by a user and obtains an electronic signature using the private key of the user by communicating with the token. Here, the hardware token is a small authentication device carried by the user, and is obtained by encrypting the data to be signed with the storage chip for storing the user's private key data using the user's private key. An arithmetic circuit for generating signature data and an interface mechanism for inputting data to be signed and outputting signature data are provided. The hardware token is configured as, for example, an IC card, a device compatible with various wired interface standards such as USB (Universal Serial Bus), or a device compatible with various wireless interface standards such as Bluetooth.
[0029]
In this configuration, when it is necessary to perform a user's electronic signature on the document data, the communication control unit 106 creates a message digest of the document data according to a method such as MD5 and attaches the message digest to the token I / F 110. Enter the entered hardware token. The hardware token encrypts the input message digest with the user's private key, and returns the result of the encryption process (ie, the user's signature) to the communication control unit 106. When the communication control unit 106 adds the user signature to the document data, a digital signature of the user for the document data is obtained.
[0030]
In the above, the method of performing the user's electronic signature using the user's hardware token has been described. However, as another method, the user's secret key is stored in the multifunction peripheral 10 in advance, and the secret key is used. A method of performing a digital signature of the user by the same processing as described above is also possible. In this method, in order to protect the secret key of the user, it is necessary to control the user to input authentication information such as a password and biometrics, and to permit the electronic signature of the user only when the user authentication is successful. I do. In the case of a configuration using a hardware token, if a cooperative job requiring a user signature is performed, in the worst case, it is necessary to wait with the token set in the multifunction device 10 until the cooperative job is completed. Such a wait is not necessary in a configuration in which the secret key is stored in the private key. Conversely, the configuration using a hardware token has the advantage that the user can execute a cooperative job requiring a user signature from any multifunction peripheral or other device.
[0031]
Next, the configuration of the cooperation processing server 20 will be described.
[0032]
In the cooperative processing server 20, the user management unit 202 manages various types of information on the users to be serviced by the server 20. The information managed by the user management unit 202 includes, for example, authentication information (such as passwords and biometrics information) used for user authentication, and UI screen information registered by the user. That is, in the system according to the present embodiment, a user can define a cooperative job unique to a user by combining services provided by various server devices on the network 35, and can specify a cooperative job unique to the user. Is provided from the cooperative processing server 20. Note that the process of registering a cooperative job with the cooperative processing server 20 by the user and the information of each user-specific UI screen provided from the cooperative processing server 20 to the MFP 10 are not directly related to the gist of the present embodiment. Although the description is omitted, they are disclosed in Japanese Patent Application No. 2002-275229, Japanese Patent Application No. 2002-275230, and Japanese Patent Application No. 2002-275231 by the present applicant.
[0033]
The flow control unit 204 is a functional module that requests each server 25 or the MFP 10 to execute necessary processing in accordance with the flow specified in the cooperative job in order to realize the cooperative job requested by the user. In other words, a cooperative job is defined as a flow including one or more services (unit jobs) provided by each server 25 and each multifunction peripheral 10 (which can also be regarded as a type of server). The unit job indicated in the flow definition is sequentially requested to the corresponding server. Here, the processing result of each server is returned to the cooperative processing server 20 as necessary, and is transmitted from the cooperative processing server 20 to the corresponding server as processing target data of the next unit job. The flow control unit 204 executes processing such as processing requests to the respective servers and multifunction peripherals and obtaining processing results for the processing requests.
[0034]
The encryption / decryption processing unit 206 is a functional module that encrypts document data transmitted from the cooperative processing server 20 to the network 35 and decrypts transmitted encrypted data. It has the same encryption, decryption, digital signature, and verification functions as those of the decryption processing unit 108. In particular, with regard to the electronic signature function, the encryption / decryption processing unit 206 includes the secret key of the cooperative processing server 20 and can attach an electronic signature of the cooperative processing server 20 to data to be transmitted.
[0035]
The signature control unit 208 performs a control process for applying a digital signature of the user who issued the job to document data sent to each processing server 25 or the MFP 10 when the flow control unit 204 executes the cooperative job. Module. The signature control unit 208 determines whether or not the user has a will to perform a digital signature of the document output as a result of the cooperative job. Is controlled so that the user's signature is signed. The determination of the user's intention to sign is made based on the user's instruction content for the cooperative job. For example, when inputting a cooperative job execution instruction, the user gives an explicit instruction to perform his / her own electronic signature, or performs his / her own electronic signature on the document specified as the target of the cooperative job by the user. If there is such a case, or if the processing result includes a unit job that requires the user's electronic signature to be included in the cooperative job selected as the execution target, it is determined that the user's electronic signature is necessary. If it is determined that a user signature is necessary, the data is sent to the MFP 10 that issued the cooperative job before sending the data to be processed to the processing server 25 that outputs the document in the cooperative job. The multifunction peripheral 10 requests the digital signature of the user, and transmits the data with the user signature returned from the MFP 10 to the processing server 25.
[0036]
The output document of the cooperative job is not an interim result document used only during the execution process of the cooperative job, but a document used outside the cooperative job. Output documents in the cooperative job include, for example, a document transmitted by e-mail, a document registered in a document database, a document stored in a file system, a document uploaded to a storage location on a network, and the like.
[0037]
The communication control unit 212 is a functional module that performs various control processes for communication between the cooperative processing server 20 and another device on the network 35.
[0038]
The processing server 25 includes an application program 252 for executing a service provided by the server, a communication control unit for executing a control process for communication with another device on the network 35, and an encryption and communication unit for performing the communication. And an encryption / decryption processing unit 256 that executes a decryption process. The encryption / decryption processing unit 256 has the same function as the encryption / decryption processing unit 206 of the cooperation processing server 20.
[0039]
FIG. 3 shows a procedure of a process performed when a user inputs a cooperative job execution instruction in the document processing system.
[0040]
In this process, first, the user connects his / her hardware token to the multifunction peripheral 10 and inputs his / her user ID and password (S10). In response to this input operation, the communication control unit 106 of the MFP 10 creates authentication information obtained from the hardware token or authentication request data including the user ID and password, and cooperates with the encryption / decryption processing unit 108. The data is encrypted with the public key of the processing server 20 and transmitted to the cooperation processing server 20 (S12). In order to realize this transmission, address information of the cooperative processing server 20 that provides the cooperative job control service to the multifunction device 10 is registered in the multifunction device 10 in advance.
[0041]
Upon receiving the authentication request, the cooperative processing server 20 decrypts the request data and performs a known user authentication process using the authentication information included in the request. If the user authentication is successful, the UI screen information of the user is extracted from the user management unit 202, and is encrypted by the encryption / decryption processing unit 206 with the public key of the MFP 10 that issued the authentication request. The transmission data including the converted UI screen information is transmitted to the MFP 10 (S20).
[0042]
The MFP 10 that has received the encrypted UI screen information forms a UI screen for the user according to the information and displays the UI screen on the screen of the UI 102 (S14). Here, the UI screen information provided from the cooperative processing server 20 to the multifunction peripheral 10 can be described in, for example, XML, and the UI 102 of the multifunction peripheral 10 interprets the XML description to configure the UI screen. This UI screen can be configured using GUI (graphical user interface) components. In this case, the UI screen includes, for example, an icon for selecting a cooperative job registered by the user in advance, an input field for inputting a processing parameter of the selected cooperative job, and the like.
[0043]
It is preferable that the UI screen for selecting a cooperative job registered by the user in advance displays information indicating whether each cooperative job requires the user's electronic signature. Since the definition information indicating what unit job each registration cooperation job is composed of is registered in the user management unit 202, the user management unit 202 checks the user signature of each unit job included in the definition information. By examining the necessity in the signature necessity table 210, it can be determined whether or not a user signature is necessary for the cooperative job. If at least one of the unit jobs constituting the cooperative job requires a user signature, it may be determined that the cooperative job requires a user signature. By incorporating the result of such determination into the UI screen and displaying it, it is possible to inform the user whether or not each cooperative job requires a user signature. This display allows the user to know whether or not each cooperative job requires a user signature. If the user wants to execute a cooperative job that requires a user signature, the user can connect a hardware token to the multifunction peripheral 10 or the like. Ready.
[0044]
The UI 102 receives a user's selection instruction or input of a value on the displayed UI screen (S16). The content of the cooperative job that the user wants to execute is specified by the selection instruction and the input of the value. The multifunction peripheral 10 creates instruction data reflecting the contents of the input from the UI 102, encrypts the instruction data with the public key of the cooperation processing server 20 by the encryption / decryption processing unit 108, and executes the encrypted instruction. The transmission data including the data is transmitted to the cooperation processing server 20 (S18). This instruction data defines the contents of the cooperative job. In the instruction sheet, processing contents of a service realized by linking jobs are described. The instruction book may be stored in the instruction server in advance, and may be downloaded as needed.
[0045]
In the present embodiment, when a user inputs a cooperative job instruction from the UI 102, it is possible to instruct whether or not to perform an electronic signature of the user on an output document of the cooperative job.
[0046]
In the present embodiment, a document to be processed by a cooperative job can be read from the scanner of the MFP 10. In this case, in step S18, the data of the document read as a processing target is added to the instruction data, and both of them are encrypted with the public key of the cooperative processing server 20, and then transmitted to the cooperative processing server 20. I do.
[0047]
Here, in the present embodiment, a user's digital signature can be attached to a document read from the scanner of the MFP 10 by inputting an instruction from the UI 102. When the instruction is input, the document read from the scanner is digitally signed by the user using the hardware token connected to the token I / F 110, and the document with the digital signature is subjected to the cooperative processing. It will be sent to the server 20.
[0048]
The cooperative processing server 20 that has received the encrypted instruction data (which may include a document to be processed) transmitted from the multifunction machine 10 decrypts the data, and transfers the obtained instruction data to flow control. The execution is passed to the module 204 and the execution of the cooperative job is started (S22).
[0049]
In the example of FIG. 3, the information on the UI screen for the user is provided to the multifunction device 10 from the cooperative processing server 20 at one time, but instead, in response to the input from the multifunction device 10, Of course, a configuration in which each UI screen for the user is provided in stages from the cooperative processing server 20 may be used.
[0050]
If the user authentication in the cooperative processing server 20 has failed, notification data indicating that the authentication has failed is returned from the cooperative processing server 20 to the requesting multifunction peripheral 10, and the multifunction peripheral 10 displays an error notification according to the notification data. Is performed.
[0051]
FIG. 4 is a diagram illustrating an example of the data structure of the instruction data 300 for the cooperative job execution instruction created by the multifunction peripheral 10 in response to the user's instruction.
[0052]
In this example, the instruction data 300 includes a service providing server definition 302, a user signature designation 303, and definitions 304 and 306 of unit jobs executed by each server. The unit job definitions 304 and 306 are arranged in an order according to the execution order of each unit job.
[0053]
The service providing server definition 302 is information indicating the correspondence between the server name of each server 25 that provides the service of each unit job constituting the cooperative job and its URL.
[0054]
The user signature designation 303 is information indicating whether or not the user who has instructed the cooperative job has issued an instruction to perform an electronic signature of the user on an output document. The value of the designation 303 is set based on whether or not an instruction to perform a digital signature of the user on the output document from the UI 102 is issued.
[0055]
In a single cooperative job, a plurality of documents may be output, for example, when the same document is transmitted by e-mail and stored in a file system. In such a case, it is preferable that whether or not a user signature is to be performed on an output document can be specified for each individual output. In this case, the designation 303 of the user signature records whether or not the user has designated the electronic signature for each output.
[0056]
When individually setting the presence / absence of a user's digital signature for each document output in one cooperative job, instead of collectively describing the setting information as a user signature designation 303, the following method is also possible. It is. That is, before describing a unit job (e-mail transmission, file storage, etc.) for outputting a document with a user's digital signature, a job for performing a user's digital signature on the document is described in the instruction sheet. It is a method of doing. The job for applying the user's digital signature is executed by the cooperation processing server 20.
[0057]
The unit job definitions 304 and 306 are definition data indicating the contents of each unit job. For example, a server name of a server that executes the unit job and a method name for designating the unit job for the server (That is, a unit job is specified by designating a server and a method), and a processing parameter given to the method. The processing parameters include, for example, the name of the file to be processed by the method, the file name to be assigned to the processing result of the method, the transmission destination (in the case of an e-mail transmission job) of the processing result, and the storage destination (file storage). Job).
[0058]
Among these parameters, the file name of the processing target document and the file name of the processing result document can be used to define the flow when the processing target is transferred between the unit jobs constituting the cooperative job. . That is, if the same file name as the file name of the processing result document of a certain unit job A is set as the file name of the processing target document of the unit job B to be executed thereafter, the unit job B becomes the processing result of the unit job A. The processing flow can be defined so that the processing is performed on the.
[0059]
In addition, the processing parameters include, for example, an enlargement / reduction ratio when an image is enlarged / reduced, and a target resolution when resolution conversion is performed.
[0060]
The instruction data 300 can be described in, for example, XML. If each device such as a server and a multifunction device constituting the document processing system is compatible with XML, it is possible to request each device to perform processing by using an instruction written in XML.
[0061]
In addition, if the data of the UI screen provided from the cooperative processing server 20 to the multifunction device 10 includes a template of the definition data of the cooperative job that can be selected by the user, the multifunction device 10 By setting various input processing parameters, the instruction data 300 can be created.
[0062]
FIG. 5 is a flowchart showing a procedure of a cooperative job control process performed by the cooperative processing server 20 that has received such instruction data (and accompanying document data to be processed (if any)).
[0063]
In this process, when the cooperative job starts, the flow control unit 204 first extracts the definition of the unit job at the head of the instruction (S30), and determines whether the unit job is a job for outputting a document with a user signature. Is determined (S32). In this determination, for example, it is determined from the definition of the unit job whether or not the job is a job for outputting a document. Further, the user signature designation 303 in the instruction data 300 and the processing target document received together with the instruction are Based on whether or not the user's digital signature has been given, it is determined whether or not the output target document to be passed to the job needs the user's digital signature. For this determination, the cooperative processing server 20 holds information on the criteria for determining whether each unit job is a job for outputting a document.
[0064]
If it is determined in this determination that the user signature is not required to execute the unit job, the flow control unit 204 creates an instruction to instruct the execution of the unit job, and adds the instruction to the instruction of the unit job. The document to be processed is transmitted to the request destination server (S50). At this time, the instruction to be transmitted and the document to be processed are encrypted with the public key of the request destination server. If the content of the requested unit job is, for example, the retrieval of a document from the database or the like, there is no document to be transmitted from the cooperative processing server 20, and in this case, only the instruction is transmitted.
[0065]
FIG. 6 shows an example of the data structure of an instruction for transmitting a unit job execution request transmitted from the cooperative processing server 20 to each server 25. The instruction 400 of the unit job request is created based on the definition of the unit job in the instruction 300 of the entire cooperative job, and includes a processing method name 402 indicated in the definition and a processing parameter 404 of the method. Further, address information of the cooperative processing server 20 (and identification information indicating the cooperative job, if necessary) is added to the instruction form 400 as return destination information 406 for returning a processing result of the unit job. As the request destination information, the processing result data is returned to the destination indicated in the return destination information 406. The processing result returned from the request destination server to the cooperative processing server 20 may be merely status information such as success or failure of the unit job, or a result obtained by performing the unit job processing on a document given as a processing target. It may include data of the generated processing result document. The former corresponds to a processing result for a unit job such as e-mail transmission and document storage, and the latter corresponds to a processing result for a unit job such as OCR and image rotation.
[0066]
Here, for example, in the example of FIG. 1 and FIG. 3, the server B is "page-separated", the first page is taken out, and the image of the first page is "rotated" by 90 degrees. There may be a case where a plurality of unit jobs are continuously performed by the server. As one method of realizing this, the cooperative processing server 20 first sends a request for “page release” to the server B, receives the data of the first page from the server B, and processes the data of the first page. A method of requesting “rotation” to the server B as an object is possible. In this case, the instruction sent to the server B may have the data configuration of FIG. However, this method has a problem that the amount of data communication between the cooperative processing server 20 and the server B increases.
[0067]
Therefore, in such a case, there is the following method as a method for reducing the amount of data communication between the cooperation processing server 20 and the request destination server. In other words, when a plurality of unit jobs are to be continuously executed on the same server, a method is specified in which the plurality of unit jobs and their flows are defined and sent to the request destination server. In this case, the instruction form arranges a set of the processing method 402 indicating the unit job to be executed by the request destination and the processing parameter 404 according to the execution order of each unit job in order, and adds the reply destination information 408 to this. It becomes.
[0068]
When the execution of a series of unit jobs is collectively instructed by one instruction as described above, in the determination of the necessity of the user signature in step S32, at least one of the series of unit jobs requiring a user signature is required. If there is, it is only necessary to determine that the request destination requires a user signature for processing.
[0069]
When the instruction written in this way (and the document to be processed, if any) is transmitted to the request destination server, the flow control unit 204 waits for the processing result of the request based on the instruction. When the processing result is received from the request destination server (S52), the processing result is recognized. If the processing result includes a processing result document that is a result of processing the processing target document, the processing result document is later processed. Is stored for use as a processing target of the unit job. Then, the flow control unit 204 checks whether or not the processing has been completed up to the last unit job indicated in the coordination job instruction 300 (S54). If the processing has not been completed, the flow returns to step S30, and the flow returns to step S30. Process the first unit job.
[0070]
In step S32, the digital signature of the user who issued the cooperative job is required for the output target document to be transmitted to the request destination server for the unit job to be executed next (or at least one of a series of unit jobs). When the signature control unit 208 determines that the document is to be transmitted, the signature control unit 208 causes the encryption / decryption processing unit 206 to encrypt the output target document to be transmitted to the request destination server using the public key of the MFP 10 (S34). A request is made to the user for an electronic signature for the transmission data (S36). This request includes an instruction for instructing the user's electronic signature and document data to be signed.
[0071]
The MFP 10 that has received the signature request decrypts the encrypted document data contained therein with its own private key. Then, it is determined whether or not the user's hardware token is set in the token I / F 110 (S40). If the hardware token is set, a message digest of the plaintext transmission data obtained by decryption is created, and Enter the hardware token to create the user's digital signature. Then, by adding the digital signature obtained as a result to the plain text transmission data, the transmission data with the user signature is created, encrypted with the public key of the cooperation processing server 20, and transmitted to the cooperation processing server 20. (S44).
[0072]
If it is determined in step S40 that a hardware token is not connected to the token I / F 110, the multifunction peripheral 10 displays a message indicating that a hardware token needs to be connected on the screen of the UI 102 (S42). Prompts the user for a token connection. In the case where the user's secret key is stored in the multifunction peripheral 10, the processes in steps S40 and S42 are unnecessary.
[0073]
When the transmission data with the user's digital signature is received from the multifunction peripheral 10 in this way, the cooperative processing server 20 transmits the data to the request destination server, requests the processing (S50), and waits for the processing result (S52). ).
[0074]
The cooperative processing server 20 repeats the above processing until the processing of the last unit job indicated in the entire cooperative job instruction received from the multifunction peripheral 10 is completed (S54).
[0075]
According to the above processing, when the request destination server executes a unit job for outputting a document determined to be subjected to a user signature, the user's electronic signature can be attached to the document. An electronic signature can be applied to the output document in response to the instruction of the electronic signature.
[0076]
Next, a specific example of the flow of document processing in the above-described document processing system will be described with reference to FIG. In this figure, it is assumed that the server 22 can execute a unit job of extracting a page or a page group specified by an instruction from a document including a plurality of pages. The server 26 can execute a unit job for transmitting a received document by e-mail to a destination specified by the instruction, and a unit job for storing the received document in a directory specified by the instruction. I do.
[0077]
In response to such a system, a user reads a multi-page paper report from the multi-function peripheral 10 using the multi-function peripheral 10, extracts only the first page from the multi-page document data obtained as a result of the reading by the server 22, Send only the first page of the report to the boss by e-mail, send the data of the entire report to a colleague by e-mail, and store the data of the entire report in a predetermined directory in the file system. " It is assumed that an instruction has been given. Then, at the time of this execution instruction, it is assumed that the user gives an instruction to apply a digital signature of the user to a document to be transmitted by e-mail to the boss and the colleague. In this case, the following processing is performed in the system of FIG. In this system, as described above, data transmitted between the multifunction peripheral and each server is assumed to be encrypted by the public key of the transmission destination, and in the following description, to avoid complexity, A description of such encryption and the corresponding decryption processing will be omitted.
[0078]
(1) The multifunction peripheral 10 transmits an instruction indicating the contents of the instruction to the cooperative processing server 20, and further reads a report read by the scanner of the multifunction peripheral 10 as a document to be processed by the instruction. The resulting file is sent.
[0079]
(2) The cooperative processing server 20 detects the unit job of extracting the first page from the cooperative job instruction, creates an instruction indicating the job in response to the unit job, and, together with the report reading result file, generates the instruction. Send to
[0080]
(3) The server 22 extracts the data of the first page from the file according to the received instruction, and returns it to the cooperative processing server 20 as one file.
[0081]
(4) The cooperative processing server 20 transmits an e-mail including the file of the first page to the supervisor (the instruction describes the e-mail address of the supervisor) from the cooperative job instruction. Is detected. Here, the cooperative processing server 20 can determine from the information such as the designation 303 of the user signature that the unit job is a job instructed to perform its own digital signature on the document. Therefore, the cooperative processing server 20 transmits to the multifunction peripheral 10 the file of the first page and an instruction describing an instruction to perform a user's electronic signature on this file.
[0082]
(5) The multifunction peripheral 10 applies the user's digital signature to the transmitted first page file according to the instruction, and returns the digitally signed first page file to the cooperation processing server 20.
[0083]
(6) Upon receiving the digitally signed first page file from the multifunction peripheral 10, the cooperative processing server 20 creates an instruction to transmit the file to the address of the user's boss, and sends the instruction to the server together with the signed file. 26.
[0084]
In accordance with the instruction, the server 26 creates an e-mail attached with the signed file, and transmits the e-mail to the designated supervisor's address.
[0085]
(7) The cooperative processing server 20 transmits an e-mail including a report reading result file to a colleague (the colleague's e-mail address is described in the instruction) from the cooperative job instruction. Is detected. Here, since the cooperative processing server 20 can determine that it is necessary to apply the user's electronic signature to the document output by this unit job, the report reading result file and the user's electronic signature Is transmitted to the multi-function device 10.
[0086]
(8) The multifunction peripheral 10 applies the user's digital signature to the transmitted file in accordance with the instruction, and returns the file with the digital signature to the cooperative processing server 20.
[0087]
(9) Upon receiving the digitally signed file from the MFP 10, the coordination processing server 20 creates an instruction to transmit the file to the address of the user's colleague, and transmits this to the server 26 together with the signed file. .
[0088]
In accordance with the instruction, the server 26 creates an e-mail attached with the signed file and sends it to the designated colleague's address.
[0089]
(10) The cooperative processing server 20 detects a unit job indicating that the file of the report reading result is stored in a predetermined directory from the cooperative job instruction sheet. Although this unit job is a job for outputting a document, it is not specified that a user signature is to be applied, so that processing for the user signature is not performed. The cooperative processing server 20 creates an instruction indicating the storage job, and transmits this to the server 26 together with the report reading result file. The server 26 receiving this stores the file of the report reading result in the designated directory according to the instruction. It is also possible to provide the job processing unit for performing the storage processing in the cooperative processing server 20, perform processing for storage in the cooperative processing server 20, and accumulate the data in the server 26.
[0090]
In the above description, the flow in the case where the user has specified that the user performs the digital signature on the output document when instructing the execution of the cooperative job has been described. On the other hand, a case is also conceivable in which the user applies the user's digital signature to the report reading result itself in the multifunction peripheral 10 and transmits the digital signature to the cooperation processing server 20 as a processing target of the cooperation job. In such a case, when the cooperative processing server 20 detects the user's own digital signature applied to the file to be processed, the cooperative processing server 20 determines that the user's electronic signature should be applied to the output document of the cooperative job, and An output document is sent to the multifunction peripheral 10 before a unit job to be output, and a user signature is performed.
[0091]
The preferred embodiment of the present invention has been described above. According to the present embodiment, in a document processing system in which a series of processing is executed via various servers, a user wants to output a document to which a personal signature is applied after appropriately applying the personal signature. can do.
In the above description, the document to be processed is read from the MFP 10 for inputting the cooperative job execution instruction. In addition, in the process of the cooperative job, the document held by any one of the servers is acquired, and this is processed. In some cases, the subsequent processing may proceed. In this embodiment, even in such a case, if the user gives an instruction to apply his / her own digital signature to the output document at the time of the execution of the cooperative job, the user performs the above-described procedure on the output document by the user. An electronic signature is given.
[0092]
In the above description, the configuration has been described in the case where the user wants to attach an electronic signature to an output document and output it, and instruct the user to do so. In addition to this, it is possible to assume a case where it is necessary to add a user's digital signature to an output document of the job as a property of the job itself. For example, it is assumed that a certain company has adopted a policy of attaching an electronic signature of the user who created the order form to order form data in order to prevent tampering and abuse. A modification of the document processing system that can cope with such a case will be described below.
[0093]
The outline of the system of this modified example may be the same as the configuration shown in FIG. However, in this modified example, a signature necessity table indicating whether or not each unit job requires the user's digital signature for the processing result as shown in FIG. In this example, the order form creation job by the server D is set to require a user signature for the processing result document (order form).
[0094]
FIG. 9 is a diagram showing the procedure of the coordination process in this system. The processing shown in FIG. 9 is inserted between steps S52 and S54 of the cooperation processing shown in FIG.
[0095]
In this procedure, upon receiving the processing result of the unit job from the processing request destination (step S52; see FIG. 5), the cooperative processing server 20 determines whether the unit job requires a user signature for the processing result document. The determination is made with reference to the rejection table 210 (S60). If it is determined that the processing result document requires a user signature, the cooperative processing server 20 encrypts the processing result document with the public key of the MFP 10 that issued the cooperative job (S62) and applies the user signature. Is transmitted to the multifunction peripheral 10 together with the instruction (S64).
[0096]
The MFP 10 that has received the signature request decrypts the encrypted processing result document included in the MFP 10 with its own private key. Then, it is determined whether or not the user's hardware token is set in the token I / F 110 (S70). If the hardware token is set, the user's electronic signature is created for this hardware token, and the result is obtained. The digital signature added to the processing result document is encrypted with the public key of the cooperation processing server 20, and transmitted to the cooperation processing server 20 (S74). If the hardware token is not connected to the token I / F 110 in step S70, the multifunction peripheral 10 prompts the user to connect the hardware token (S72).
[0097]
When the processing result document with the user signature is received from the MFP 10 in this way, the cooperative processing server 20 designates the processing result document as the processing result of the unit job (that is, the file name of the processing result file of the unit job). The file is saved (with a file name) (S66) and is used for a subsequent unit job.
[0098]
According to this processing, when it is necessary to apply a user signature to the processing result of the request destination, this can be realized. FIG. 10 is a diagram for explaining a specific example of this processing. The document processing system shown in FIG. 10 includes a multifunction peripheral 10, a cooperative processing server 20, an OCR server 41, an order form creation server 43, and a mail server 47. Among these, it is assumed that a user signature is required only for a document (order sheet) created by the order form creation process of the order form creation server 43, and that no other user signature is required in other situations.
[0099]
In such a configuration, the MFP 10 reads the quote printed on paper with the MFP 10, recognizes the read result with the OCR server 41, and obtains data such as the product and price obtained from the character recognition result. FIG. 10 shows a process performed when a coordinating job execution instruction of “create order data in the order form creation server 43 based on the order form, and transmit the order form data to the order destination by e-mail from the mail server 47” is issued. This will be described with reference to FIG.
[0100]
(1) The image data (document to be processed) of the estimate read by the MFP 10 and the instruction defining the above-described cooperation job are transmitted from the MFP 10 to the cooperation processing server 20.
[0101]
(2) The cooperative processing server 20 creates an instruction to instruct the OCR process, and sends the instruction and the image data of the estimate to the OCR server 41.
[0102]
(3) The OCR server 41 performs character recognition on the quote image in accordance with the instruction, and returns the resulting text file to the cooperation processing server 20.
[0103]
(4) The cooperative processing server 20 creates an instruction to instruct creation of the order, and sends the instruction and a text file of character information of the quote to the order creation server 43.
[0104]
(5) The order form creation server 43 creates an order form file from the information of the text file according to the instruction, and returns this to the cooperation processing server 20.
[0105]
(6) Since the cooperative processing server 20 knows that the user's electronic signature is necessary for the order form resulting from the order form creation processing, the coordination processing server 20 instructs the user to sign the order form. And sends the instruction to the multifunction device 10 together with the order.
[0106]
(7) The MFP 10 applies the user's digital signature to the order form, which is the document to be processed, according to the instruction, and returns the order form with the user signature to the cooperative processing server 20.
[0107]
(8) The coordination processing server 20 creates an instruction to send an order mail with the user-signed order as an attached document to a predetermined order destination e-mail address, and stores the instruction and the user-signed order. Send it to the mail server 47. The mail server 47 that has received the instruction forms an order mail in accordance with the instruction and transmits it to the specified destination. As a result, the order form data sent to the order destination is signed by the user who issued the order form, and the order destination can verify this.
[0108]
As described above, in the present embodiment, when a document of a processing result of a job forming a cooperative job requires a user signature, the cooperative processing server 20 sends the processing result document to the multifunction peripheral 10 that is the input source of the cooperative job. A user signature can be applied to the processing result document.
[0109]
Further, in the above embodiment, the digital signature of the user who issued the cooperative job was performed by the MFP 10 where the user instructed the execution of the cooperative job. This is a system assuming that a digital signature is performed using a hardware token of a user or a secret key built in the multifunction peripheral 10. However, as another system configuration, a configuration in which a signature server 50 is provided on a network as shown in FIG. 11 is also possible. The system configuration in FIG. 11 is the same as the configuration in FIG. 1 except for the signature server 50.
[0110]
In this configuration, the signature server 50 provides a signature service that stores a user's private key and performs an electronic signature using the user's private key in response to a signature request from outside. When a user signature is required for an output document, the cooperative processing server 20 sends data to be signed to the signature server 50 and requests a user signature instead of the MFP 10 in the above embodiment.
[0111]
In this case, there is a problem if an electronic signature of the user can be attached according to an instruction from a person other than the user. Therefore, the signature server 50 performs the user authentication and then performs the electronic signature of the user. . The user authentication is, for example, such that when requesting a user signature, the authentication information input by the user from the MFP 10 is encrypted by the cooperative processing server 20 using the public key of the signature server 50 and transmitted to the signature server 50. Can be done in the procedure.
[0112]
As another method, an instruction of a signature request to the signature server 50 and a document to be signed are once sent from the cooperative processing server 20 to the multifunction peripheral 10 to allow the user to perform a simple electronic signature. A method of sending an instruction and a document to be signed to which a typical electronic signature has been given to the signature server 50 is conceivable. In this case, the signature server 50 checks the legitimacy of the user and the non-falsification of the document with the simple digital signature, and then applies the formal digital signature of the user to the document. In this method, for example, the MFP 10 stores an in-house user secret key issued by an in-house certificate authority, and the signature server 50 stores an official user secret key issued by a more publicly-trusted certificate authority. When the key is stored and a public user signature is required, it is conceivable to use the signature server 50 to request a signature in the above procedure.
[0113]
In such a system configuration using the signature server 50, the user can execute a cooperative job requiring a user signature from any multifunction device on the system, and the user can use the multifunction device until the cooperative job is completed. By the way, both advantages of not having to wait can be obtained.
[0114]
In this case, in addition to the configuration in which the user's private key is permanently stored in the signature server 50, if necessary, the user sends the user to the signature server 50 via the network for a necessary period. A configuration is also possible in which storage of the private key and request for a user signature on behalf of the private key are performed. In this case, the secret key and the request data transmitted from the user to the signature server 50 are secured by encryption or the like. For example, when the user wants to use this system from a business trip destination, the user sends the secret key stored in the multifunction device 10 in his office to the signature server 50 and requests a signature service during the business trip period. Usage is conceivable. By limiting the period during which the signature server 50 substitutes for a user's signature, the possibility of signature abuse can be reduced.
[0115]
In the above embodiment, execution of a cooperative job is controlled by one cooperative processing server 20, but as shown in FIG. 12, a plurality of cooperative processing servers 20-1 and 20-2 cooperate to execute one cooperative job. It can also be achieved. In the example of FIG. 12, the cooperative processing server 20-1 controls the multifunction machine 10, the servers 22, 24 and 26, and the cooperative processing server 20-2 controls the multifunction machine 12, the servers 28 and 29. . When the user instructs the cooperative processing server 20-1 to execute a cooperative job from the multifunction peripheral 10, the cooperative processing server 20-1 copies the unit job of the coordination job instruction from the top as described in the above embodiment. Request the corresponding server in order. Then, in this flow, when a series of unit jobs executed by the MFP 12, the servers 28 and 29 controlled by the cooperation processing server 20-2 is found, the series of unit jobs is set as a partial cooperation job, and the execution is performed. An instruction to instruct is created, transmitted to the cooperative processing server 20-2, and the processing is requested. The instruction sent to the cooperative processing server 20-2 includes the information of the designation 303 of the user signature (or a part related to the cooperative processing server 20-2). In such a configuration, when the cooperative processing server 20-2 determines that the document output from the servers 28 and 29 and the multifunction peripheral 12 requires a user signature, the cooperative processing server 20-2 transmits the multifunction of the cooperative job issue source. Requests a digital signature of the user to the device 10. For this purpose, information indicating the multifunction peripheral 10 that issued the cooperative job may be incorporated into an instruction or the like of a partial cooperative job sent from the cooperative processing server 20-1 to the cooperative processing server 20-2. When a user signature is required, the cooperative processing server 20-2 issues a user signature acquisition request to the cooperative processing server 20-1, and in response to this request, the cooperative processing server 20-1 specifies the cooperative job issuer. A configuration for requesting the copying machine 10 to add a user signature is also possible.
[0116]
When the cooperation between such cooperation processing servers is extended, a system configuration as shown in FIG. 13 is also conceivable. This system configuration includes the multifunction peripheral 10 and a plurality of servers 62, 64, 66, and 68. Each of the servers 62 to 68 interprets an instruction input from another server or a multifunction peripheral, and sequentially starts from the unit job at the head of the instruction until the own device detects a unit job that is not designated to be in charge of processing. Are sequentially processed. Whether the own device is in charge of processing can be known from the description of the request destination server name indicated in the processing parameter of each unit job. Then, when the processing is completed, each of the servers 62 to 68 updates the instruction by deleting the description of the unit job processed this time from the instruction and updates the instruction of the unit job at the head of the updated instruction. The updated instructions and the document resulting from the processing are transmitted to the designated servers 62 to 68 to request processing. The processing result document transmitted here is a processing target in the next server 62 to 68. A series of cooperative jobs is realized by cooperating the processing requests based on the instruction form between the servers. Here, the server 62 is a server serving as a contact point of the cooperative job service for the multifunction peripheral 10, and provides the multifunction peripheral 10 with UI screen information for cooperative job instruction. FIG. 13 illustrates an example in which a processing request is issued from the multifunction peripheral 10 in the order of the servers 62, 64, 66, and 68, and a cooperative job is realized.
[0117]
In such a system, each of the servers 62 to 68 requests the next processing from the designation 303 of the user signature (or the description of the unit job indicating the same information) indicated in the instruction of the cooperative job. It is determined whether or not the user's electronic signature is required for the output target document to be sent to the MFP. If it is determined that the user's electronic signature is necessary, the output target document to be transmitted to the next server is transmitted to the multifunction peripheral 10 and the user signature is requested. Then, the user-signed document returned from the MFP 10 is transmitted to the next server.
[0118]
Further, instead of the server preceding the document output server performing the process for obtaining the user signature, the server performing the document output itself obtains the user signature for the document before the output. It can also be. That is, based on the user signature designation 303 (or the description of the unit job indicating the same information) in the cooperative job instruction, each of the servers 62 to 68 responds to the output target document data received together with the instruction. Then, it is determined whether or not the digital signature of the user who issued the cooperative job is necessary. If it is determined that the digital signature is necessary, the processing result document is sent to the MFP 10 to request the user signature. Performs a predetermined output process indicated in the instruction on the user-signed document returned from.
[0119]
Further, in the above embodiment, the execution instruction of the cooperative job is issued from the multifunction peripheral. However, the present invention is not limited to this. It is also possible to instruct the execution of the cooperative job from a personal computer or another device on the network.
[Brief description of the drawings]
FIG. 1 is a diagram showing a schematic configuration of a document processing system according to the present invention.
FIG. 2 is a diagram illustrating a detailed configuration of a multifunction peripheral, a cooperative processing server, and various servers.
FIG. 3 is a flowchart illustrating a procedure of processing performed when a user inputs a cooperative job execution instruction in the document processing system.
FIG. 4 is a diagram illustrating an example of a data structure of an instruction sheet for instructing a cooperative job.
FIG. 5 is a flowchart illustrating a procedure of a cooperative job control process performed by the cooperative processing server.
FIG. 6 is a diagram illustrating an example of a data structure of an instruction sent from a cooperative processing server to a server of a processing request destination.
FIG. 7 is a diagram illustrating a specific example of the flow of document processing in the document processing system according to the embodiment.
FIG. 8 is a diagram illustrating an example of a signature necessity table.
FIG. 9 is a flowchart illustrating a procedure of a cooperative control process of a cooperative processing server in a document processing system according to a modified example.
FIG. 10 is a diagram for describing a specific example of a flow of document processing in a modified example.
FIG. 11 is a diagram illustrating an example of a document processing system including a signature server that provides a user signature proxy service.
FIG. 12 is a diagram illustrating an example of a document processing system including a plurality of cooperative processing servers.
FIG. 13 is a diagram showing a document processing system of a system for realizing a cooperative job by sequentially passing instructions and processing targets from server to server.
[Explanation of symbols]
10 MFP A, 12 MFP B, 20 cooperation processing server, 22 server A, 24 server B, 26 server C, 30 Internet.

Claims (17)

ネットワーク上のジョブ処理装置を用い、ジョブ処理を連携して実現されるサービスを実行するジョブ処理制御装置であって、
サービスの出力結果に対して、サービス発行元の電子署名を施すか否かを決定する決定手段と、
前記決定手段により電子署名を施すと決定された場合、サービスの処理結果を出力するジョブ処理の対象となる処理対象データに、前記サービス発行元の電子署名を施すための処理を実行する署名手段と、
を備えることを特徴とするジョブ処理制御装置。
A job processing control device that executes a service realized by coordinating job processing using a job processing device on a network,
Deciding means for deciding whether to apply a digital signature of the service issuer to the output result of the service,
A signature unit for executing a process for applying an electronic signature of the service issuer to processing target data to be subjected to job processing for outputting a service processing result when it is determined that the electronic signature is to be applied by the determination unit; ,
A job processing control device comprising:
前記決定手段は、サービスの実行を指示したユーザの指示によって決定することを特徴とする請求項1記載のジョブ処理制御装置。2. The job processing control device according to claim 1, wherein the determining unit determines the job according to an instruction of a user who instructs execution of the service. サービスの実行が指示されたサービス発行元装置から、サービスの処理内容が記述された指示書データを入力する指示書データ入力手段を備え、
前記決定手段は、前記指示書データ入力手段により入力された指示書データにサービス発行元の電子署名が施されている場合、サービスの出力結果に対して電子署名を施すと決定することを特徴とする請求項1記載のジョブ処理制御装置。
An instruction data input means for inputting instruction data describing service processing content from a service issuer device instructed to execute the service,
The determining means determines that an electronic signature is to be applied to an output result of a service when the instruction data input by the instruction data input means is digitally signed by a service issuer. The job processing control device according to claim 1, wherein
サービスの実行が指示されたサービス発行装置から、サービスを実現するジョブ処理の対象となる処理対象データを入力する処理対象データ入力手段を備え、
前記決定手段は、前記処理対象データ入力手段により入力された処理対象データにサービス発行元の電子署名が施されている場合、サービスの出力結果に対して電子署名を施すと決定することを特徴とする請求項1記載のジョブ処理制御装置。
Processing target data input means for inputting processing target data to be subjected to job processing for realizing the service from the service issuing device instructed to execute the service,
The determining unit determines that, when the processing target data input by the processing target data input unit is provided with an electronic signature of a service issuer, an electronic signature is applied to a service output result. The job processing control device according to claim 1, wherein
前記署名手段は、サービスが発行されたサービス発行装置に対して処理対象データを送信し、前記処理対象データにサービス発行元の電子署名を施した結果を受信することを特徴とする請求項1記載のジョブ処理制御装置。2. The method according to claim 1, wherein the signature unit transmits the data to be processed to a service issuing device to which a service has been issued, and receives a result of applying a digital signature of a service issuer to the data to be processed. Job processing controller. 前記署名手段は、ネットワーク上の署名サーバに対して前記処理対象データを転送し、前記処理対象データにサービス発行元の電子署名を施した結果を受信することを特徴とする請求項1記載のジョブ処理制御装置。2. The job according to claim 1, wherein the signature unit transfers the processing target data to a signature server on a network, and receives a result of applying a digital signature of a service issuer to the processing target data. Processing control unit. 前記サービス発行元の電子署名とは、サービスの実行を指示したユーザの電子署名であることを特徴とする請求項1記載のジョブ処理制御装置。2. The job processing control apparatus according to claim 1, wherein the electronic signature of the service issuer is an electronic signature of a user who instructed execution of the service. 前記サービス発行元の電子署名とは、サービスの実行が指示されたサービス発行装置の電子署名であることを特徴とする請求項1記載のジョブ処理制御装置。2. The job processing control device according to claim 1, wherein the electronic signature of the service issuer is an electronic signature of a service issuing device instructed to execute a service. ネットワーク上のジョブ処理装置を用い、ジョブ処理を連携して実現されるサービスを実行するジョブ処理制御方法であって、
サービスの出力結果に対して、サービス発行元の電子署名を施すか否かを決定する決定ステップと、
前記決定ステップにより電子署名を施すと決定された場合、サービスの処理結果を出力するジョブ処理の対象となる処理対象データに、前記サービス発行元の電子署名を施すための処理を実行する署名処理ステップと、
を含むジョブ処理制御方法。
A job processing control method for executing a service realized by linking job processing using a job processing device on a network,
A determining step of determining whether to apply a digital signature of a service issuer to an output result of the service,
A signature processing step of executing processing for applying an electronic signature of the service issuer to processing target data to be processed by a job for outputting a processing result of a service when it is determined in the determining step that an electronic signature is to be applied; When,
And a job processing control method.
前記決定ステップでは、サービスの実行を指示したユーザの指示によって決定することを特徴とする請求項9記載のジョブ処理制御方法。10. The job processing control method according to claim 9, wherein in the determining step, the determination is made according to an instruction of a user who has instructed execution of the service. サービスの実行が指示されたサービス発行元装置から、サービスの処理内容が記述された指示書データを入力する指示書データ入力ステップを更に含み、
前記決定ステップでは、前記指示書データ入力ステップにより入力された指示書データにサービス発行元の電子署名が施されている場合、サービスの出力結果に対して電子署名を施すと決定することを特徴とする請求項9記載のジョブ処理制御方法。
The method further includes an instruction data input step of inputting instruction data describing the processing content of the service from the service issuing device instructed to execute the service,
In the determining step, when the instruction data input in the instruction data input step has an electronic signature of a service issuer, it is determined that an electronic signature is to be applied to an output result of the service. 10. The job processing control method according to claim 9, wherein:
サービスの実行が指示されたサービス発行装置から、サービスを実現するジョブ処理の対象となる処理対象データを入力する処理対象データ入力ステップを更に含み、
前記決定ステップでは、前記処理対象データ入力ステップにより入力された処理対象データにサービス発行元の電子署名が施されている場合、サービスの出力結果に対して電子署名を施すと決定することを特徴とする請求項9記載のジョブ処理制御方法。
Further including a processing target data input step of inputting processing target data to be subjected to job processing for realizing the service from the service issuing device instructed to execute the service,
In the determining step, when an electronic signature of a service issuer is given to the processing target data input in the processing target data input step, it is determined that an electronic signature is to be applied to an output result of the service. 10. The job processing control method according to claim 9, wherein:
前記署名処理ステップでは、サービスが発行されたサービス発行装置に対して処理対象データを送信し、前記処理対象データにサービス発行元の電子署名を施した結果を受信することを特徴とする請求項9記載のジョブ処理制御方法。10. The signature processing step, wherein processing target data is transmitted to a service issuing device to which a service has been issued, and a result of applying a digital signature of a service issuer to the processing target data is received. The described job processing control method. 前記署名処理ステップでは、ネットワーク上の署名サーバに対して前記処理対象データを転送し、前記処理対象データにサービス発行元の電子署名を施した結果を受信することを特徴とする請求項9記載のジョブ処理制御方法。10. The signature processing step according to claim 9, wherein the processing target data is transferred to a signature server on a network, and a result of applying a digital signature of a service issuer to the processing target data is received. Job processing control method. 前記サービス発行元の電子署名とは、サービスの実行を指示したユーザの電子署名であることを特徴とする請求項9記載のジョブ処理制御方法。10. The job processing control method according to claim 9, wherein the electronic signature of the service issuer is an electronic signature of a user who has instructed the execution of the service. 前記サービス発行元の電子署名とは、サービスの実行が指示されたサービス発行装置の電子署名であることを特徴とする請求項9記載のジョブ処理制御方法。10. The job processing control method according to claim 9, wherein the electronic signature of the service issuer is an electronic signature of a service issuing device instructed to execute the service. コンピュータシステムを、ネットワーク上のジョブ処理装置を用いジョブ処理を連携して実現されるサービスを実行するジョブ処理制御装置、として機能させるためのプログラムであって、前記コンピュータシステムに、
サービスの出力結果に対して、サービス発行元の電子署名を施すか否かを決定する決定ステップと、
前記決定ステップにより電子署名を施すと決定された場合、サービスの処理結果を出力するジョブ処理の対象となる処理対象データに、前記サービス発行元の電子署名を施すための処理を実行する署名処理ステップと、
を実行させるためのプログラム。
A program for causing a computer system to function as a job processing control device that executes a service realized by linking job processing using a job processing device on a network, wherein the computer system includes:
A determining step of determining whether to apply a digital signature of a service issuer to an output result of the service,
A signature processing step of executing processing for applying an electronic signature of the service issuer to processing target data to be processed by a job for outputting a processing result of a service when it is determined in the determining step that an electronic signature is to be applied; When,
The program to execute.
JP2002315106A 2002-10-29 2002-10-29 Job processing control apparatus and job processing control method Expired - Fee Related JP4304957B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002315106A JP4304957B2 (en) 2002-10-29 2002-10-29 Job processing control apparatus and job processing control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002315106A JP4304957B2 (en) 2002-10-29 2002-10-29 Job processing control apparatus and job processing control method

Publications (2)

Publication Number Publication Date
JP2004151897A true JP2004151897A (en) 2004-05-27
JP4304957B2 JP4304957B2 (en) 2009-07-29

Family

ID=32459202

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002315106A Expired - Fee Related JP4304957B2 (en) 2002-10-29 2002-10-29 Job processing control apparatus and job processing control method

Country Status (1)

Country Link
JP (1) JP4304957B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006050504A (en) * 2004-08-09 2006-02-16 Canon Inc Image processing device and method thereof
JP2006221612A (en) * 2005-01-17 2006-08-24 Canon Inc Information processing apparatus, information processing method, program, and storage medium
JP2006338188A (en) * 2005-05-31 2006-12-14 Fujitsu Ltd Document processor
JP2007043413A (en) * 2005-08-02 2007-02-15 Ricoh Co Ltd Image processing apparatus
JP2008158632A (en) * 2006-12-21 2008-07-10 Canon Inc Image forming apparatus, workflow control method, and control program for executing the method
JP2009059152A (en) * 2007-08-31 2009-03-19 Konica Minolta Business Technologies Inc Data processing system, data processing apparatus, data processing method, and data processing program
JP2010146293A (en) * 2008-12-18 2010-07-01 Ricoh Co Ltd Apparatus, method and program for processing information
JP2019161514A (en) * 2018-03-14 2019-09-19 株式会社リコー Information processing device, information processing system, information processing method, and program

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006050504A (en) * 2004-08-09 2006-02-16 Canon Inc Image processing device and method thereof
JP2006221612A (en) * 2005-01-17 2006-08-24 Canon Inc Information processing apparatus, information processing method, program, and storage medium
JP2006338188A (en) * 2005-05-31 2006-12-14 Fujitsu Ltd Document processor
JP4676816B2 (en) * 2005-05-31 2011-04-27 富士通株式会社 Document processing device
JP2007043413A (en) * 2005-08-02 2007-02-15 Ricoh Co Ltd Image processing apparatus
JP2008158632A (en) * 2006-12-21 2008-07-10 Canon Inc Image forming apparatus, workflow control method, and control program for executing the method
US8441665B2 (en) 2006-12-21 2013-05-14 Canon Kabushiki Kaisha Print system including image-forming apparatus for providing workflow
JP2009059152A (en) * 2007-08-31 2009-03-19 Konica Minolta Business Technologies Inc Data processing system, data processing apparatus, data processing method, and data processing program
JP2010146293A (en) * 2008-12-18 2010-07-01 Ricoh Co Ltd Apparatus, method and program for processing information
JP2019161514A (en) * 2018-03-14 2019-09-19 株式会社リコー Information processing device, information processing system, information processing method, and program
JP7155553B2 (en) 2018-03-14 2022-10-19 株式会社リコー Information processing device, information processing system, information processing method and program

Also Published As

Publication number Publication date
JP4304957B2 (en) 2009-07-29

Similar Documents

Publication Publication Date Title
KR100536817B1 (en) Information processor and information processing method for cooperative operation of job processor
JP4481914B2 (en) Information processing method and apparatus
US20070124799A1 (en) Authentication agent apparatus, authentication method, and program product therefor
JP2006203858A (en) Image processing apparatus and method for controlling the same
KR100537654B1 (en) Apparatus and method for securely realizing cooperative processing
JP2007128207A (en) Job processing system, instructions preparation device and image reading device
WO2011152026A1 (en) User device identifying method and information processing system
WO2003079180A1 (en) Printing VIA network
JP2005176314A (en) Generation of passive metadata from user interface selection at imaging device
EP1739590A1 (en) Image forming apparatus
JP4470384B2 (en) Information processing apparatus, job processing apparatus, instruction data creation apparatus, and signature proxy apparatus
JP2004153472A (en) Job processing control apparatus and method therefor
JP4304957B2 (en) Job processing control apparatus and job processing control method
JP2006235885A (en) Document digitization method, document digitization apparatus and document digitization program
EP1942439A2 (en) Document management system, method, and program, and image forming apparatus
JP4175156B2 (en) Job processing apparatus, job processing method, and program
JP2004122778A (en) Image forming apparatus and method of controlling use thereof
JP4304956B2 (en) Job processing control apparatus and job processing control method
JP4983047B2 (en) Electronic data storage device and program
JP2006318098A (en) Server device, system, and control method of server device
JP4440576B2 (en) Image forming apparatus, usage authentication information issuing method, and usage authentication information issuing system
JP4753418B2 (en) Image processing apparatus and image processing method
JP4692493B2 (en) Image information transmission apparatus and image information transmission management program
JP4001560B2 (en) Image forming apparatus, thumbnail acquisition method, and thumbnail acquisition system
JP2005151358A (en) Data storing device and data storing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081031

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090407

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090420

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140515

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees