以下、図面を参照して本発明の実施の形態の一例を詳細に説明する。
図1は、本発明の実施の形態に係る文書共有ネットワークシステム1の概略的な構成を示す図である。
上記文書共有ネットワークシステム1は、プリント機能、スキャナ機能及びファクシミリ機能を兼ね備えた複数の複合機10と、電子メールの送受信等を行うメールサーバ20と、複数の端末装置25と、ドキュメントを所定の取り込み先から取り込んで所定の加工を施した後、所定の配信先に配信する制御を行う本発明のサービス処理装置としての制御装置30と、を備えている。ここにいうドキュメントは、本発明の文書データに対応し、主に文書に関するイメージデータであるが、加工処理の状態に応じてテキストデータを含むものであってもよく、特に限定されるものではない。
複合機10、メールサーバ20、各端末装置25及び制御装置30は、ネットワーク5を介して相互に接続されている。なお、ネットワーク5には、図示しないが、プリンタ、スキャナ、ファクシミリ装置がそれぞれ接続されてもよい。
図2は、文書共有ネットワークシステム1の処理の概要を説明する図である。複合機10、メールサーバ20及び端末装置25は、ネットワーク5を介して相互に接続されているものの、通常は独立して動作する。そこで、制御装置30は、文書共有ネットワークシステム1における取り込み先、加工方法、配信先を設定し、ドキュメントの取り込み、加工及び配信までの一連の処理を自動化/定型化する、「コアサービス」を提供するものである。
ここで、一連の処理を自動化/定型化するための定義したものを「ルール」といい、このルールが本発明のサービスに対応する。また、取り込み、加工方法、配信のそれぞれの特定の機能を提供するアプリケーションプログラムを、入力系プラグイン、処理系プラグイン、出力系プラグインという。
図3は、複合機10の構成を示すブロック図である。
複合機10は、入力系プラグインや出力系プラグインの機能を提供し得るものであり、原稿に記録された画像を読み取るスキャナ部11と、感光体に静電潜像を記録し、静電潜像をモノクロトナーまたはカラートナーを用いて現像し、現像した画像を記録紙に転写して出力するプリンタ部12と、ファクシミリ電文の送受信を行うファクシミリ(以下「FAX」という。)部13とを備えている。
複合機10は、さらに、全体を制御するコントローラ14と、スキャナ部11で読み取られた画像データやネットワーク5を介して受信した画像データ、FAX受信電文のデータ等を記憶するメモリ15と、アイコンを有する操作画面を表示すると共にアイコンへの接触に応じて操作情報を入力する表示パネル16と、データを入出力するための入出力ポート17と、ネットワークに接続された機器と通信を行う通信制御ユニット18とを備えている。
スキャナ部11、プリンタ部12、FAX部13、コントローラ14、メモリ15、表示パネル16及び入出力ポート17は、バスを介して相互に接続されている。入出力ポート17は、通信制御ユニット18を介してネットワーク5に接続されている。なお、スキャナ部11は、FAX部13の一部として組み込まれてもよい。
また、複合機10は、メモリ15の所定記憶領域が複数の親展BOX15Bとして仕切られており、各親展BOX15Bは、BOX番号(例えばBOX番号1〜300)により管理されている。複合機10は、スキャナ部11でスキャニングしたドキュメントやFAX部で受信したドキュメントにファイル名を付けて、親展BOX15Bに保存し、当該親展BOX15に対して予め設定された送信先へ送信することもできるようになっている。
メールサーバ20は、入力系プラグインや出力系プラグインの機能を提供し得るものであり、ネットワーク5に接続された各端末装置25の電子メールの送受信を行うサーバである。
端末装置25は、入力系プラグイン、処理系プラグイン及び出力系プラグインの機能を提供し得るものであり、いわゆるパーソナルコンピュータである。端末装置25は、例えばメールサーバ20を介して外部と電子メールの送受信を行ったり、ファイルフォルダにドキュメントを保管したり、ドキュメントに対して所定の画像処理を行う。
制御装置30は、ワークフローとしてのルールを設定したり、ルールに基づいてドキュメントの取り込み、加工及び配信までの一連の処理を実行するものである。なお、制御装置30は、処理系プラグインになってもよい。
図4は、制御装置30の構成を示すブロック図である。
制御装置30は、全体を制御するCPU(Central Processing Unit)31、ワークエリアとしてデータを一時格納するRAM(Random Access Memory)32、CPU31の制御プログラム等を記憶するROM(Read Only Memory)33、ルールを設定するためのルール設定画面などを表示するディスプレイ34、CD−ROMドライブ35を備えている。
制御装置30は、さらに、ドキュメントの取り込み、加工及び配信までの一連の処理を自動化/定型化するためのプログラム、処理系プラグインとして機能するためのアプリケーションプログラムや所定のデータ等を記憶したり読み出すハードディスクドライブ36、文章や記号等を入力するキーボード37、ポインティングデバイスであるマウス38、これらが接続されたインタフェース39、入出力ポート40及び通信制御ユニット41を備えている。
CPU31、RAM32、ROM33、インタフェース39及び入出力ポート40は、ネットワーク5に接続された複合機10等の他の機器と通信を行う通信制御ユニット41に接続されている。
なお、キーボード37は、ディスプレイ34に様々な設定画面が表示されたときに、オペレータの指示する情報を直接入力するときに用いられる。また、マウス38は、ディスプレイ34に様々な設定画面が表示されたときに、表示されたものを選択したり、設定指示の内容を入力するとき使用される。
[ルールの一例]
図5は、制御装置30によって入力系プラグイン、処理系プラグイン、出力系プラグインを任意に組み合わせて生成することができるルールの一例を説明する図である。
例えば、ルール1は、複数の入力系プラグイン(FAX受信サービス、ファイルフォルダ、スキャンサービス)からドキュメントを取り込み、複数の処理系プラグイン(イメージ加工、光学文字認識(OCR)、属性付与/分配)を経て、これらの処理を経たドキュメントを複数の出力系プラグイン(ファイルフォルダ、プリント出力)に配信することを定義している。
ルール2は、ファイルフォルダ及びMail_MAPI入力からドキュメントを取り込み、イメージ加工、属性付与/分配の処理を経て、処理済みのドキュメントを外部サービス連携フォルダに配信することを定義している。
ルール3は、ファイルフォルダからドキュメントを取り込み、イメージ加工、OCR連携モジュール、属性付与/分配の処理を経て、処理済みのドキュメントをファイルフォルダに配信することを定義している。
ルール4は、所定のBOX番号の親展BOX15Bからドキュメントを取り込み、自動成立、OCR、ファイル名生成・付与、画像&テキストのバインドの処理を経て、これらの処理を経たドキュメントを複数の出力系プラグイン(ファイルフォルダ、プリント出力)に配信することを定義している。
なお、ルール1からルール4は、各処理系プラグインの前後において次の処理に必要なフォーマット(FMT)変換を行っている。
ここで、入力系プラグインとしては、図5に示すように、例えばFAX受信サービス、ファイルフォルダ、スキャンサービス、Mail_SMTP入力、POPクライアント、Mail_MAPI入力などがある。また、図1に示す親展ボックスも該当する。
処理系プラグインとしては、イメージ加工、OCR、属性付与/分配、OCR連携モジュール等がある。
出力系プラグインとしては、例えばファイルフォルダ、外部サービス連携フォルダ、ftp出力、ファイルメッセージ、Mail_SMTP出力、Mail_MAPI出力などがある。なお、入力系、処理系及び出力系の各プラグインは、上述したものに限定されるものではない。
[機能構成]
図6に、文書共有ネットワークシステム1の機能構成を示す。図6に示すように、文書共有ネットワークシステム1は、入力端末50及び制御装置30間で通信を行うようになっている。なお、入力端末50には、複合機10、メールサーバ20及び端末装置25を用いることができる。以下では、具体的に複合機10を入力端末50として用いる場合を例に説明する。
文書共有ネットワークシステム1では、制御装置30において、入力端末50から入力されたドキュメントを取り込んで、当該ドキュメントに対する加工及び配信までの一連の処理を制御する。そのために、入力端末50及び制御装置30間では、指示書60の授受が行われるようになっている。
指示書60とは、ドキュメントに対して行う処理内容を示す各種パラメータ情報が記述されたデータであり、例えばXML(eXtensible Markup Language)形式のファイルで構成することができる。
具体的には、指示書60内には、図7に示すように、<スキャンパラメータ>、<その他サービスの呼び出し>、<文書共有サービスの呼び出し>のパラメータ情報が記述される。
<スキャンパラメータ>は、複合機10がスキャナ部11によって原稿を読取って、該読取りによって得たドキュメントをメモリ15内に格納する処理内容を指示するためのパラメータであり、原稿読取時のカラー(白黒読取/カラー読取)や、読取によって得たドキュメントの格納場所が指定される。
<その他サービスの呼び出し>は、入力端末50が有するその他の機能、ここでは入力端末50が複合機10であるので、プリント、FAX送信、メール送信、ファイル出力等の機能を呼び出して実行を指示するためのパラメータであり、呼び出す機能と、当該機能でドキュメントに施す処理内容が指定される。
<文書共有サービスの呼び出し>は、文書共有ネットワークシステム1におけるサービス、すなわち制御装置30にルールに従った一連の処理の実行を指示するためのパラメータであり、実行を指示するルールに対応するルールID61、一連の処理の実行後のドキュメント(ファイル)の出力先、指示書60の送出先となるルールに従った処理を実行する制御装置30(IP(Internet Protocol)アドレスなど)が指定される。
ルールID61は、後述するルール情報65へのリンク情報であり、ネットワーク上の各種データの中から対応するルール情報65を特定するために用いるものである。例えば、ルールID61は、対応するルール情報65の格納場所(すなわち制御装置30)を示す情報と、当該格納場所内でそのルール情報65を他の情報から識別するための識別情報とから構成することができる。格納場所を示す情報としては、制御装置30のURI(Uniform Resource Identifiers)やIPアドレスを用いることができ、当該格納場所内の各ルール情報65の識別情報として一連番号を付与したり、ユーザがユニークな名前を任意に付けることが考えられる。すなわち、ルールID61は、「制御装置30のURI+一連番号」、「制御装置30のIPアドレス+一連番号」、「制御装置30のURI+名前」、或いは「制御装置30のIPアドレス+名前」等のように定められる。
また、<文書共有サービスの呼び出し>には、実行を指示するルールで行われる処理の概要を説明するコメントも記述される。
また、指示書60内には、<処理開始日時>、<優先度>、<ユーザ>のパラメータ情報62も記述される。この<処理開始日時>、<優先度>、<ユーザ>のパラメータ情報62は、当該指示書の優先順位を指定するためのパラメータであり、本発明の優先順位情報に対応する。なお、<処理開始日時>、<優先度>、<ユーザ>は一例として挙げたものであり、本発明の優先順位情報はこれに限定されるものではない。
<処理開始日時>には、ユーザにより指定された所望の処理開始日時が記述される。この<処理開始日時>は、初期状態は空(記述無し)であり、ユーザによる指定が無ければ初期状態となる。
<優先度>には、ユーザにより指定された所望の優先度が記述され、具体的に、本実施の形態では、<優先度>として、高/通常/低の何れかが優先度として記述されるようになっている。この<優先度>は、初期状態は「通常」であり、ユーザによる指定が無ければ初期状態となる。
<ユーザ>には、ユーザを識別するための情報が記述され、具体的に、本実施の形態では、当該入力端末50にログイン中のユーザ名(以下、ログインユーザ名)が記述される。この<ユーザ>は、初期状態は空(記述無し)であり、ユーザがログインしていなければ初期状態となる。
また、指示書60には、上記の各種パラメータの設定変更用のGUI(Graphical User Interface)画面55Aを表示させるための表示情報も予め含まれている。
入力端末50は、図6に示すように、上記のような指示書60が複数格納された本発明の指示書記憶手段としての指示書プール51と、指示書60の格納・読み出し・実行などを行う指示書管理部52と、ネットワーク5を介して制御装置30と各種情報の授受を行う通信部53と、当該入力端末50が元々有している機能モジュール54と、ユーザが各種情報・指示入力を行うためのUI(User Interface)55と、を備えている。入力端末50が複合機10である場合には、コントローラ14で所定の制御処理を実行することにより、図3に示したハードウェア資源を利用して上記各部の機能が構築されることになる。具体的には、指示書プール51にはメモリ15の所定記憶領域が用いられ、機能モジュール54はスキャナ部11、プリンタ部12、FAX部13を用いて構成されるスキャナ機能、プリンタ機能、FAX送信・受信機能などがあり、UI55は表示パネル16を用いて構成される。
指示書管理部52は、指示書プール51、通信部53、機能モジュール54、及びUI55と接続される。ユーザは、UI55を介して、指示書管理部52によって管理されている指示書プール51中の各種指示書60の中から所望の指示書60を選択して実行を指示したり、必要に応じてスキャンパラメータなどを変更する。
指示書管理部52は、UI55からの指示書60の実行指示の入力を受けて、実行が指示された指示書60を指示書プール51から選択して読み出す。そして、当該読み出した指示書60を解釈(デコード)して、当該指示書60の記述内容に従って、機能モジュール54を動作させたり、通信部53から制御装置30に向けて指示書60を送信して制御装置30を指示書60の記述内容に従って動作させる。すなわち、UI55が本発明の操作指定手段、指示書管理部52が本発明の指示書選択手段、通信部53が本発明の送信手段としての機能をそれぞれ担っている。
また、指示書管理部52は、指示書プール51から読み出した指示書60内のパラメータ設定値を必要に応じて変更可能である。具体的には、指示書プール51から読み出した指示書60を解析し、当該指示書60に含まれる各種パラメータの設定変更用のGUI画面を表示させるための表示情報に基づいてGUI画面55AをUI55に表示させる。そして、このGUI画面55Aを介して、ユーザによるパラメータ設定変更、例えば、<スキャンパラメータ>の変更や、<処理開始日時>及び<優先度>の指定などを受け付け、その受付結果に基づいて指示書60内のパラメータの記述を変更する。このようにGUI画面を介したユーザからの情報入力の受け付けることは、指示書60をXML形式のファイルとすることで容易に行うことができる。したがって、UI55が本発明の操作設定手段としての機能も担っており、指示書管理部52が本発明の生成手段としての機能も担っている。
また、UI55と通信部53とも接続されており、入力端末50では、通信部53を介して制御装置30から受信した情報をUI55に表示したり、UI55から入力された情報を通信部53を介して制御装置30へ送信することもできる。
一方、制御装置30は、各種のルールを表す情報(以下、ルール情報)65が格納されたルールプール70と、指示書60を解析(デコード)し、その記載内容を認識する指示書認識部71と、指示書60に記載のルールID61に対応するルール情報65をルールプール70から取得するルール取得部72と、ルール情報65で示されているルールを実行するルール処理部73と、ルール処理部73へのジョブを管理するジョブ管理部74と、ルール処理部73にジョブを開始させるジョブ開始部75と、ネットワーク5を介して入力端末50と各種情報の授受を行う通信部76と、ユーザが各種情報・指示入力を行うためのUI77と、を備えている。
なお、制御装置30では、CPU31でのプログラムの実行により図4に示したハードウェア資源を利用して上記各部の機能が構築され、ルールプール70にはハードディスクドライブ36や図示しない外部記憶媒体の所定記憶領域が用いられ、UI77はディスプレイ34、キーボード37、及びマウス38を含んで構成される。
指示書認識部71は、通信部76と接続されている。通信部76は本発明の受信手段として機能する。指示書認識部71は、通信部76において入力端末50から送信されてきた指示書60を受信した場合に、当該受信した指示書60を通信部76から受け取って、当該指示書60を解釈(デコード)する。指示書認識部71は、ルール取得部72と接続され、指示書60のデコードにより認識した当該指示書60中に記載されているルールID61をルール取得部72に通知する。
ルール取得部72は、ルールプール70にアクセス可能とされ、指示書認識部71から通知されたルールIDに対応するルール情報65をルールプール70から読み出して、ジョブ管理部74に渡す。
また、指示書認識部71は、ジョブ管理部74にも接続されており、デコード後の指示書60をジョブ管理部74へ渡す。
ジョブ管理部74は、ルール取得部72からのルール情報65及び指示書認識部71からの指示書60に基づいて、通信部76で受信した指示書60で指定されたルールの処理開始日時及び順序を決定するものである。詳しくは、図8に示すように、ジョブ管理部74は、バッチ処理判定部80、処理開始日時・順序決定部81、処理待ちキュー82、及び動的優先順位判定部83を備えて構成されている。
バッチ処理判定部80は、本発明の第1の変更手段に対応するものであり、夜間などにまとめて処理するバッチ処理に指定された処理と当該バッチ処理に指定された各処理の実行を指定する指定時間との対応関係を示す対応テーブル84を備えている。なお、バッチ処理には、OCR、イメージ加工といった処理系プラグインによる処理や、大量ページ処理などが指定可能である。
この対応テーブル84は、UI77にGUI画面77Aを表示し、該GUI画面77Aを介したユーザからの指示入力に基づいて作成される。詳しくは、ユーザは、GUI画面77A上で、第1の所定条件としてバッチ処理にしたい処理の種類と、その処理を実行する時間とを任意に指定することができ、当該指定結果に従った対応テーブル84がバッチ処理判定部80に格納される。すなわち、UI77(より詳しくはGUI画面77A)が本発明の第1の設定手段としての機能を担っている。
バッチ処理判定部80は、対応テーブル84を参照して、ルール情報65及び指示書60に基づいて、通信部76で受信した指示書60に基づいてルールを処理する場合に、バッチ処理に指定された処理が含まれるか否かを判定する。そして、バッチ処理に指定された処理が含まれる場合には、指示書60内のパラメータ情報62に含まれる<処理開始時間>の記述を当該バッチ処理に指定された処理の指定時間に変更する。
バッチ処理判定部80は、処理開始日時・順序決定部81と接続されており、ルール情報61及び指示書60を処理開始日時・順序決定部81に出力する。このとき、バッチ処理に指定された処理が含まれていた場合には、<処理開始時間>の記述変更後の指示書60が処理開始日時・順序決定部81に出力される。
処理開始日時・順序決定部81は、処理待ちキュー82と接続されている。処理開始日時・順序決定部81は、本発明の実行順序決定手段に対応するものであり、バッチ処理判定部80からの指示書60の処理実行順序を決定し、当該決定した処理実行順序に従って、バッチ処理判定部80からの指示書60及びそのルール情報61を処理待ちキュー82に登録する。したがって、処理待ちキュー82には、処理待ち中の指示書60及びそのルール情報61が、その処理実行順に登録される。
具体的には、指示書60内の<処理開始時間>で記述されている処理開始日時の順に処理待ちキュー82に登録すればよい。これにより、通信部76で受信した指示書60の処理順序が定められることになる。
また、処理開始日時・順序決定部81は、動的優先順位判定部83と接続されている。
動的優先順位判定部83は、本発明の第2の変更手段に対応するものであり、優先順位情報と優先順位との対応関係を示す情報として、<優先度>の各指定値(高/通常/低)とその優先順位との対応テーブル85Bと、<ユーザ>の各指定値(ユーザ名)とその優先順位との対応テーブル85Cとを備えている。なお、対応テーブル85B、対応テーブル85Cは1つずつでもよいが、本実施形態では、対応テーブル85B、対応テーブル85Cを2つずつ、具体的には、通常時用の対応テーブル85B1と第1の所定時間時用の対応テーブル85B2、通常時用の対応テーブル85C1と第2の所定時間時用の対応テーブル85C2とを備えている。
これら対応テーブル85B、85Cは、UI77にGUI画面77Bを表示し、該GUI画面77Bを介したユーザからの指示入力に基づいて作成される。詳しくは、ユーザは、GUI画面77B上で、<優先度>の各指定値(高/通常/低)の優先順位や、<ユーザ>の各指定値(ユーザ名)の優先順位と、各々どのような時に用いるのか(通常時/第1の所定時間時/第2の所定時間時など)を示す条件とを任意に指定することができ、当該指定結果に従った対応テーブル85B、85Cが動的優先順位判定部83に格納される。なお、第1、第2の所定時間には、夜間や早朝といった時間、曜日、日にちなどが指定可能である。すなわち、UI77(より詳しくはGUI画面77B)が本発明の第2の設定手段としての機能を担っている。
また、動的優先順位判定部83は、処理開始日時に基づいて対応テーブル85B、85Cを選択するテーブル選択部86を備えており、このテーブル選択部86で選択された対応テーブル85B、85Cに従って<優先度>や<ユーザ>の優先順位を定める。したがって、動的優先順位判定部83は、テーブル選択部86で選択する対応テーブルを変更することで、優先順位情報と優先順位との対応関係を変更可能である。
具体的に、本実施の形態では、一例として、<優先度>については、通常時はテーブル選択部86により対応テーブル85B1が選択されるので、当該対応テーブル85B1に従って、<優先度>の優先順位が高→1、通常→2、低→3と定められるようになっている。また、第1の所定条件時には、テーブル選択部86により対応テーブル85B2が選択され、当該対応テーブル85B2に従って、<優先度>が高/通常/低の何れであっても同一の所定値である1とされ、同一の優先順位に揃えられるようになっている。
また、<ユーザ>については、通常時はテーブル選択部86により対応テーブル85C1が選択され、当該対応テーブル85C1に従って、<ユーザ>の優先順位がユーザA→1、ユーザB→2、ユーザC→3と定められるようになっている。また、第2の所定条件時には、テーブル選択部86により対応テーブル85C2が選択されて、<ユーザ>の優先順位がユーザA→3、ユーザB→1、ユーザC→2と定められるようになっている。すなわち、第2の所定条件時は、各ユーザの優先順位が通常時と入れ替えられるようになっている。
処理開始日時・順序決定部81は、<処理開始時間>で指定されている処理開始日時が同一の指示書情報(以下、同一処理開始日時の指示書と言う)が既に処理待ちキュー82に登録されている場合は、動的優先順位判定部83により定められた<優先度>や<ユーザ>の優先順位に従って、同一処理開始日時の指示書同士の優先順位を比較する。そして該比較結果に基づいて、同一処理開始日時の指示書間の処理開始順序を決定し、該決定した順序に従って処理待ちキュー82に指示書情報を登録する。これにより、同一処理開始日時の指示書が有る場合には、指示書内の<優先度>や<ユーザ>の記述に基づいて、当該指示書間の処理順が定められることになる。
ジョブ管理部74は、図6に示すように、ジョブ開始部75と接続されており、このジョブ開始部75は、ルール処理部73と接続されている。
ジョブ開始部75は、本発明の開始手段に対応するものであり、ジョブ管理部74内の処理待ちキュー82の登録情報を常時監視し、処理待ちキュー82から登録順にルール情報61及び指示書60を読み出してルール処理部73に渡し、指示書60に従ってルール情報61に基づく処理を実行させる。これにより、ルール処理部73において、指示書60内に記述されていたルールIDに対応するルールが実行されることになる。また、ルール処理部73は、通信部76と接続されており、ルール実行結果を通信部76を介して入力端末50へ通知することもできる。
[作用]
次に、本実施の形態の作用を説明する。以下、複合機10を入力端末50として用いる場合を例に説明する。図9に、入力端末50で実行される処理、図10に制御装置30で実行される処理を示す。なお、制御装置30では、図10に示す処理を常時繰り返し実行している。
以下では、入力端末50(複合機10)で原稿を読取り、該読取により得たドキュメントに対して所望のルールに従った一連の処理を施す場合を例に説明する。この場合、ユーザは、入力端末50(複合機10)に原稿をセットすると共に、UI55を操作して指示書選択メニューを選択する。
入力端末50は、図9に示すように、ユーザによって指示書選択メニューが選択されると、ステップ100からステップ102に進み、UI55を介してユーザによる所望の指示書60の選択を受け付ける。具体的には、指示書プール51に格納中の指示書60一覧や、それぞれの指示書60の記述内容をUI55に表示して、所望の指示書の選択及び該実行指示の入力を受け付ける。
ここで、一連の処理の詳細についてはルール情報65側に記載したため、指示書60内にはその代わりにルールID61が記載されている。このルールID61だけでは、各指示書60が如何なる一連の処理を行うものであるのをユーザが判別するのは困難であるが、本実施形態では、前述したように指示書60内に処理の概要を説明するコメントを含めたので、指示書60の内容表示時にこのコメントを表示させることができ、ユーザはこのコメントを確認することで容易に所望の指示書を選択可能である。
そして、ユーザによって指示書60が選択され、該選択した指示書の実行指示が入力されると、次のステップ104に進み、指示書管理部52によって、ユーザにより選択された指示書60を指示書プール51から読み出す。そして、次のステップ106において、読み出した指示書60に含まれるGUI画面を表示させるための表示情報に基づいて、パラメータ設定変更用のGUI画面55AをUI55に表示し、ステップ108でこのGUI画面55Aを介してユーザからの<優先度>、<処理開始日時>の指定を受け付ける。
なお、このとき、GUI画面55Aを介して、ユーザからのスキャンパラメータの設定変更も受け付けることができ、必要に応じて、指示書プール51から読み出した指示書60のスキャンパラメータを変更することも可能である。
そして、ユーザからの指定が有った場合には、次のステップ110からステップ112に進み、指示書60内のパラメータ情報62に含まれる<優先度>や<処理開始日時>の記述を、受け付けたユーザからの指定結果に基づいて変更した後、ステップ114に進む。なお、ユーザからの指定が無かった場合には、ステップ110からそのままステップ114に進み、指示書60内のパラメータ情報62に含まれる<優先度>や<処理開始日時>の記述は初期状態のままである。
ステップ114では、当該入力端末50にユーザがログイン中か否かを判断し、ユーザがログイン中であれば、ステップ116に進んで、指示書60内のパラメータ情報62に含まれる<ユーザ>の記述をログインユーザ名に変更した後、ステップ118に進む。なお、ログイン中のユーザがいない場合には、ステップ114からそのままステップ118に進み、指示書60内のパラメータ情報62に含まれる<ユーザ>の記述は初期状態のままである。
次のステップ118では、指示書管理部52により、指示書60を解釈し、<スキャンパラメータ>で指定されている指定内容に従って、スキャン機能に対応する機能モジュール54を動作させて原稿を読取らせ、その結果得たドキュメントを指定された格納場所に格納する。これにより、ドキュメントが文書共有ネットワークシステム1に入力されることになる。
その後は、<その他サービスの呼び出し>の指定がなされていなければ、次のステップ120からステップ124に進むが、<その他サービスの呼び出し>が指定されている場合には、次のステップ120からステップ122に進み、該当する機能モジュール54を呼び出して、指定された格納場所に格納したドキュメントに対して、指定内容に従った処理を実行した後、ステップ124に進む。
ステップ124では、<文書共有サービスの呼び出し>の指定内容に従って、当該指示書60を、通信部53からIP(Internet Protocol)アドレスなどで指定された制御装置30へ向けて送信させる。これにより、指示書60に記載されているルールID61に対応するルールに従って、文書共有ネットワークシステム1においてドキュメントの取り込みから加工、配信までの一連の処理を行なうように指示するジョブが制御装置30に入力されることになる。
制御装置30は、図10に示すように、指示書60を受信するか、処理待ちキュー82に登録されている指示書60が処理開始日時になるまで待機しており、入力端末50からの指示書60を通信部76で受信すると、ステップ200からステップ202に進む。ステップ202では、指示書認識部71において、通信部76で受信した指示書60を解釈(デコード)し、指示書中に記載されているルールID61を認識する。そして、次のステップ204で、ルール取得部72において、このルールID61に対応するルール情報65をルールプール70から読み出す。
そして通信部76で受信した指示書60とルールプール70から読み出されたルール情報65とは、ジョブ管理部74に入力され、次のステップ206において、ジョブ管理部74において処理開始日時・順序決定処理が開始される。
この処理開始日時・順序決定処理では、図11に示すように、まずステップ250で、バッチ処理判定部80により、対応テーブル84を参照して、バッチ処理に指定された処理が含まれているか否かを判断する。そして、バッチ処理が含まれる場合には、ステップ250からステップ252に進み、指示書60内のパラメータ情報62に含まれる<処理開始日時>の記述を、対応テーブル84で当該バッチ処理と対応付けられている指定日時に変更した後、ステップ254に進む。バッチ処理が含まれていない場合には、ステップ250からそのままステップ254に進む。
ステップ254では、処理開始日時・順序決定部81により、指示書60内のパラメータ情報62に含まれる<処理開始日時>の記述日時が既に過ぎている日時でないかを判断し、既に過ぎている場合には、ステップ256に進み、<処理開始日時>の記述を現在の日時に変更して、ステップ258に進む。指示書60内の<処理開始日時>の記述日時が過ぎていない場合には、ステップ254からそのままステップ258に進む。
ステップ258では、通信部76で受信した指示書60の処理開始日時を、当該指示書60内に記載の<処理開始日時>の日時に決定する。なお、指示書60内の<処理開始日時>が空である(すなわち<処理開始日時>が初期状態のまま)場合には、例えば、現在の日時など予め定められた所定の日時を処理開始日時に決定したり、処理待ちキュー82の登録情報から比較的空いていると推測される日時を処理開始日に決定することが考えられる。
そして、次のステップ260では、処理待ちキュー82を参照して、処理待ち中の指示書60の中に、ステップ258で決定した通信部76で受信した指示書60の処理開始日時と同一の処理開始日時のものがあるか否かを判断する。同一の処理開始日時の指示書60が処理待ちキュー82に登録されていた場合には、ステップ260で肯定判定されて、ステップ262に進み、処理開始日時が同一の通信部76で受信した指示書60と処理待ち中の指示書60の各々のパラメータ情報62に含まれる<優先度>を比較する。
そして、両者の優先度が同一でなければ、次のステップ264からステップ266に進み、両者の優先度が同一であった場合には次のステップ264から後述するステップ274に進む。
ステップ266では、動的優先順位判定部83により、ステップ258で決定された処理開始日時が第1の所定時間であるか否かを判断する。決定された処理開始日時が第1の所定時間である場合は、ステップ266からステップ268に進み、<優先度>と優先順位の対応を通常時から変更する。具体的には、テーブル選択部86による対応テーブル85Bの選択を、対応テーブル85B1から対応テーブル85B2に変更する。これにより<優先度>に高/通常/低の何れか記述されていたとしても、同一の優先順位とされる。その後、ステップ270に進む。一方、決定された処理開始日時が第1の所定時間でなければ、ステップ266からそのままステップ270に進む。
ステップ270では、処理開始日時・順序決定部81により、<優先度>により処理開始日時が同一の通信部76で受信した指示書60と処理待ち中の指示書60との間の処理開始順序を決定できるか否かを判断し、決定できる場合には、ステップ272に進み、<優先度>に基づいて、当該指示書60間の処理開始順序を決定する。
具体的には、決定された処理開始日時が第1の所定時間でなく、テーブル選択部86により通常時用の対応テーブル85B1が選択されている場合であれば、当該対応テーブル85B1では、<優先度>が高/通常/低であるかによって異なる優先順位が対応付けられているので、優先順位の高い方が先、低い方が後になるように、<優先度>に基づいて、指示書60間の処理開始順序を決定することができる。
一方、決定された処理開始日時が第1の所定時間であり、テーブル選択部86による対応テーブル85Bの選択が対応テーブル85B2に変更された場合は、当該対応テーブル85B2では、<優先度>に高/通常/低の何れか記述されていたとしても、同一の優先順位とされるので、<優先度>からは指示書60間の処理開始順序を決定することがでない。この場合は、ステップ270からステップ274に進む。
ステップ274では、動的優先順位判定部83により、ステップ258で決定された処理開始日時が第2の所定時間であるか否かを判断する。決定された処理開始日時が第2の所定時間である場合は、ステップ274からステップ276に進み、<ユーザ>と優先順位の対応を通常時から変更する。具体的には、テーブル選択部86による対応テーブル85Cの選択を、対応テーブル85C1から対応テーブル85C2に変更する。これにより、各ユーザの優先順位が通常時と入れ替えられる。その後、ステップ278に進む。一方、決定された処理開始日時が第2の所定時間でなければ、ステップ274からそのままステップ278に進む。
ステップ278では、処理開始日時・順序決定部81により、<ユーザ>により処理開始日時が同一の通信部76で受信した指示書60と処理待ち中の指示書60との間の処理開始順序を決定する。具体的には、決定された処理開始日時が第2の所定時間でなく、テーブル選択部86により通常時用の対応テーブル85C1が選択されている場合であれば、当該対応テーブル85C1において対応付けられている優先順位が高いほうが先、低い方が後になるように、<ユーザ>に基づいて、指示書60間の処理開始順序を決定する。
一方、決定された処理開始日時が第2の所定時間であり、テーブル選択部86による対応テーブル85Cの選択が対応テーブル85C2に変更された場合は、当該対応テーブル85C2において対応付けられている優先順位が高いほうが先、低い方が後になるように、<ユーザ>に基づいて、指示書60間の処理開始順序を決定する。なお、対応テーブル85C1と対応テーブル85C2とでは、各ユーザと優先順位の対応が異なるので、決定される処理開始順序は通常時と異なる。
そして、最後に、ステップ280で、決定した処理開始日時・処理開始順序に従った順番となるように、指示書60及びルール情報65を処理待ちキュー82に登録して、図10に戻る。図10に戻ると、指示書60を受信するか、処理待ちキュー82に登録されている指示書60が処理開始日時になるかの待機状態となる。
そして、処理待ちキュー82に前述のステップ258で決定した処理開始日時となった指示書60が有り、且つ当該処理開始日時の指示書60が複数有る、すなわち同一処理開始日時の指示書60が複数有る場合には、ステップ202からステップ208、ステップ210、ステップ212と進む。ステップ212では、ジョブ開始部75によって、処理待ちキュー82の登録順序、言い換えると前述のステップ272やステップ278で決定された処理開始順序に従って同一処理開始時間の指示書60を1つずつ選択し、次のステップ214で、処理待ちキュー82から当該選択した選択した指示書60及びルール情報65を読み出す。そして、次のステップ218で、ルール情報65をルール処理部73へ渡して、ルールを実行させる。ルール処理部73では、ルール情報にしたがって、入力系プラグインからドキュメントを取り込み、取り込んだドキュメントを処理系プラグインで処理し、処理したドキュメントを出力系プラグインに配信するルールが実行するように制御する。
そして、ルール実行後は、ステップ218に進み、ルールの実行結果を示す情報を通信部76を介して入力端末50へ送信した後、同一処理開始日時の指示書60がまだ処理待ちキュー82に残っている場合には次のステップ220からステップ212に戻り、同様の処理を繰り返し、同一処理開始日時の全指示書60について処理が終わったらステップ220で肯定判定されて図10の処理が終了される。
一方、処理待ちキュー82に前述のステップ258で決定した処理開始日時となった指示書60が有り、他に同一処理開始日時のものが無い場合は、ステップ210からステップ222に進む。
ステップ222では、処理待ちキュー82から当該処理開始日時となった指示書60及びルール情報65を読み出して、次のステップ224で、ルール情報65をルール処理部73へ渡して、ルールを実行させる。ルール実行後は、ステップ226で、ルールの実行結果を示す情報を通信部76を介して入力端末50へ送信して、図10の処理を終了する。
なお、上記では、指示書60と共にルール情報65も処理待ちキュー82に登録するようにしたが、ルール情報65については、処理待ちキュー82に登録せずともよい。この場合、ジョブ開始部75は、選択した指示書60を解析し、当該指示書60内に記述されているルールIDに対応するルール情報65をルール取得部72にルールプール70から取得させて、取得されたルール情報65をルール処理部73へ渡せばよい。
入力端末50は、図8のステップ124で指示書60を送信した後は、制御装置30からのルールの実行結果を示す情報を受信するまで待機しており、該情報を受信すると、次のステップ126からステップ128に進み、受信したルールの実行結果を示す情報をメモリ15の所定領域などに記憶したり、或いはUI55(表示パネル16)に表示させるなどして、処理を終了する。なお、ルール実行結果を示す情報は、ユーザにより予め指定されたメールアドレスなどに送信するようにしてもよい。
このように本実施の形態では、入力端末50では、指示書管理部52により、<処理開始日時>、<優先度>、<ユーザ>といった当該指示書の優先順位を指定するためのパラメータ情報62を指示書60内に記述してから、指示書60を制御装置30に送信するようにした。制御装置30では、入力端末50から指示書60を受信したら、ジョブ管理部74において、当該指示書60内のパラメータ情報62に基づいて当該指示書60の処理開始日時や順序を決定し、この決定結果に従って、ジョブ開始部75により指示書60で指示された処理(ルール)をルール処理部73に開始させるようにした。これにより、制御装置30へ指示書60を送信することによって実行指示した処理(ルール)を所望の優先順位で実行させることができる。すなわち、指示書60によって実行指示した処理(ルール)の優先順位を指定可能である。
例えば、迅速性を要する場合には、指示書60内の<処理開始日時>の記述を現在日時にしたり、<優先度>の記述を高にしたりすれば、たとえ他の入力端末50からの指示書60が同時に制御装置30に入力されたとしても、迅速性を有する指示書60で指示した処理を優先的に処理させることができる。
また、所定のバッチ処理が含まれる場合に<処理開始日時>を変更するなど、所定条件の場合に優先順位を指定するためのパラメータ情報62が変更されるようにしたので、例えば、処理に時間がかかるものについては夜間に処理させるようにするなど、システムの利用効率を向上させることも可能である。また、第1の所定時間や第2の所定時間といった所定条件の場合に、優先順位の決定に用いる対応テーブル85Bや85Cを変更し、<優先度>や<ユーザ>と優先順位との対応関係を変更可能としたので、例えば、ある曜日は特定のユーザの処理を最優先させるなど、状況に応じて優先順位を柔軟に変更することができ、処理の効率化を図ることができる。
また、<処理開始日時>や<優先度>のパラメータ情報62については、GUI画面77Aからユーザが任意に設定可能としたので、ユーザは所望の優先順位で処理させることもできる。また、<ユーザ>のパラメータ情報62については、システムが自動的に設定するので、ユーザが優先順位の指定をし忘れた場合でも、処理順序を決定可能である。
なお、上記では、制御装置30側のルールプール70に、ドキュメントの取り込みから加工、配信までの一連の処理(ルール)の内容を記述したルール情報65を予め格納しておき、指示書60内に所望のルールを表すルール情報65へのリンク情報となるルールID61を記述し、制御装置30側で指示書60の実行時にルールID61に対応するルール情報65を読み出すようにしたが、本発明はこれに限定されるものではない。指示書60内にドキュメントの取り込みから加工、配信までの一連の処理(ルール)の内容を記述してもよい。ただし、指示書60側の指示書プール51に予め格納可能な指示書60の数を多くするため、指示書60と制御装置30間の通信負荷低減のためには、本実施の形態の如く指示書60内にルールID61を記述することが有効である。